mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-20 16:15:43 +02:00
plugins/lspconfig: init
A simplified replacement for `plugins.lsp`. Eventually, once the `lsp` and `plugins.lspconfig` modules are mature, `plugins.lsp` will be deprecated and/or aliased.
This commit is contained in:
parent
29aa60b43a
commit
556eb29548
3 changed files with 92 additions and 2 deletions
66
plugins/by-name/lspconfig/default.nix
Normal file
66
plugins/by-name/lspconfig/default.nix
Normal file
|
@ -0,0 +1,66 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
options,
|
||||
...
|
||||
}:
|
||||
let
|
||||
# cfg = config.plugins.lspconfig;
|
||||
opts = options.plugins.lspconfig;
|
||||
oldCfg = config.plugins.lsp;
|
||||
oldOpts = options.plugins.lsp;
|
||||
in
|
||||
lib.nixvim.plugins.mkNeovimPlugin {
|
||||
name = "lspconfig";
|
||||
packPathName = "nvim-lspconfig";
|
||||
package = "nvim-lspconfig";
|
||||
|
||||
maintainers = with lib.maintainers; [
|
||||
GaetanLepage
|
||||
MattSturgeon
|
||||
khaneliman
|
||||
traxys
|
||||
];
|
||||
|
||||
description = ''
|
||||
[nvim-lspconfig] provides default configs for many language servers, but it does not enable any of them.
|
||||
You should use the [`lsp`] module to configure and enable LSP servers.
|
||||
|
||||
> [!NOTE]
|
||||
> This plugin module will soon replace [`plugins.lsp`].
|
||||
>
|
||||
> Both `${opts.enable}` and `${oldOpts.enable}` will install nvim-lspconfig,
|
||||
> however the older [`plugins.lsp`] module includes additional options and
|
||||
> setup that relate to neovim's builtin LSP and are now being moved to the
|
||||
> new [`lsp`] module.
|
||||
|
||||
[`lsp`]: ../../lsp/servers.md
|
||||
[`plugins.lsp`]: ../lsp/index.md
|
||||
[nvim-lspconfig]: ${opts.package.default.meta.homepage}
|
||||
'';
|
||||
|
||||
# nvim-lspconfig provides configs for `vim.lsp.config` and requires no setup
|
||||
# all configuration should be done via nvim's builtin `vim.lsp` API
|
||||
callSetup = false;
|
||||
hasLuaConfig = false;
|
||||
hasSettings = false;
|
||||
|
||||
extraConfig = {
|
||||
warnings = lib.nixvim.mkWarnings "plugins.lspconfig" [
|
||||
{
|
||||
when = oldCfg.enable;
|
||||
message = ''
|
||||
Both `${opts.enable}' and `${oldOpts.enable}' configure the same plugin (nvim-lspconfig).
|
||||
${lib.pipe
|
||||
[ opts oldOpts ]
|
||||
[
|
||||
(builtins.catAttrs "enable")
|
||||
(map (o: "`${o}' defined in ${lib.options.showFiles o.files}."))
|
||||
lib.strings.concatLines
|
||||
]
|
||||
}
|
||||
'';
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue