Skip to content

feat(0.9): Move language-specific plugins into language extensions #1195

@sjcobb2022

Description

@sjcobb2022

I have verified that this feature request has not been made before

  • I have checked the issues tab, and did not find a similar feature request. I understand that my issue will be closed if it is a duplicate.

Feature Type

Other

Feature description

Proposal

  • Default to configuring language servers with vim.lsp.config.
  • Provide an opt-in vim.languages.<lang>.extensions to let language-specific plugins (e.g. rustaceanvim, haskell-tools.nvim) take over LSP management by disabling the built-in enable for that server. Similar to how we have done it with crates.nvim

Example

{
  vim.languages.haskell.enable = true;
  vim.languages.haskell.extensions.haskell-tools-nvim.enable = true;

  vim.languages.rust.enable = true;
  vim.languages.rust.extensions = {
    rustaceanvim.enable = true;
    crates-nvim.enable = true;
  };
}

Notes

  • When an extension is enabled, ensure the corresponding vim.lsp.enable is disabled to avoid double-registration. (breaks things)

Compatibility references

Alternatives

No response

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions