mirror of
https://github.com/nix-community/nixvim.git
synced 2025-07-03 05:44:31 +02:00
plugins/lsp: deprecate installLanguageServer option in favor of setting package = null
This commit is contained in:
parent
5a744a7006
commit
183eac72a9
3 changed files with 144 additions and 68 deletions
|
@ -8,9 +8,97 @@
|
|||
with lib; let
|
||||
cfg = config.plugins.lsp;
|
||||
in {
|
||||
imports = [
|
||||
imports =
|
||||
[
|
||||
./language-servers
|
||||
];
|
||||
]
|
||||
# TODO: introduced 2024-02-14, remove on 2024-03-14
|
||||
++ (
|
||||
map
|
||||
(
|
||||
serverName:
|
||||
mkRemovedOptionModule
|
||||
["plugins" "lsp" "servers" serverName "installLanguageServer"]
|
||||
"If you want to not install the language server package, set `plugins.lsp.servers.${serverName}.package` to `false`."
|
||||
)
|
||||
[
|
||||
"astro"
|
||||
"bashls"
|
||||
"beancount"
|
||||
"biome"
|
||||
"ccls"
|
||||
"clangd"
|
||||
"clojure-lsp"
|
||||
"cmake"
|
||||
"csharp-ls"
|
||||
"cssls"
|
||||
"dagger"
|
||||
"dartls"
|
||||
"denols"
|
||||
"dhall-lsp-server"
|
||||
"digestif"
|
||||
"dockerls"
|
||||
"efm"
|
||||
"elixirls"
|
||||
"elmls"
|
||||
"emmet_ls"
|
||||
"eslint"
|
||||
"fsautocomplete"
|
||||
"futhark-lsp"
|
||||
"gdscript"
|
||||
"gleam"
|
||||
"gopls"
|
||||
"graphql"
|
||||
"helm-ls"
|
||||
"hls"
|
||||
"html"
|
||||
"htmx"
|
||||
"intelephense"
|
||||
"java-language-server"
|
||||
"jsonls"
|
||||
"julials"
|
||||
"kotlin-language-server"
|
||||
"leanls"
|
||||
"lemminx"
|
||||
"ltex"
|
||||
"lua-ls"
|
||||
"marksman"
|
||||
"metals"
|
||||
"nil_ls"
|
||||
"nixd"
|
||||
"nushell"
|
||||
"ols"
|
||||
"omnisharp"
|
||||
"perlpls"
|
||||
"pest_ls"
|
||||
"phpactor"
|
||||
"prismals"
|
||||
"prolog-ls"
|
||||
"purescriptls"
|
||||
"pylsp"
|
||||
"pylyzer"
|
||||
"pyright"
|
||||
"rnix-lsp"
|
||||
"ruff-lsp"
|
||||
"rust-analyzer"
|
||||
"solargraph"
|
||||
"sourcekit"
|
||||
"svelte"
|
||||
"tailwindcss"
|
||||
"taplo"
|
||||
"templ"
|
||||
"terraformls"
|
||||
"texlab"
|
||||
"tsserver"
|
||||
"typst-lsp"
|
||||
"vala-ls"
|
||||
"vls"
|
||||
"volar"
|
||||
"vuels"
|
||||
"yamlls"
|
||||
"zls"
|
||||
]
|
||||
);
|
||||
|
||||
options = {
|
||||
plugins.lsp = {
|
||||
|
|
|
@ -19,32 +19,21 @@
|
|||
}:
|
||||
with lib; let
|
||||
cfg = config.plugins.lsp.servers.${name};
|
||||
|
||||
packageOption =
|
||||
if package != null
|
||||
then {
|
||||
package = mkOption {
|
||||
default = package;
|
||||
type = types.package;
|
||||
};
|
||||
}
|
||||
else {};
|
||||
in {
|
||||
options = {
|
||||
plugins.lsp.servers.${name} =
|
||||
{
|
||||
plugins.lsp.servers.${name} = {
|
||||
enable = mkEnableOption description;
|
||||
|
||||
installLanguageServer = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = "Whether nixvim should take care of installing the language server.";
|
||||
package = mkOption {
|
||||
default = package;
|
||||
type = types.nullOr types.package;
|
||||
description = "Which package to use for ${name}.";
|
||||
};
|
||||
|
||||
cmd = mkOption {
|
||||
type = with types; nullOr (listOf str);
|
||||
default =
|
||||
if cfg.installLanguageServer
|
||||
if (cfg.package or null) != null
|
||||
then cmd cfg
|
||||
else null;
|
||||
};
|
||||
|
@ -91,8 +80,7 @@
|
|||
type = types.attrs;
|
||||
description = "Extra options for the ${name} language server.";
|
||||
};
|
||||
}
|
||||
// packageOption;
|
||||
};
|
||||
};
|
||||
|
||||
config =
|
||||
|
@ -100,7 +88,7 @@
|
|||
{
|
||||
extraPackages =
|
||||
optional
|
||||
(cfg.installLanguageServer && (package != null))
|
||||
(cfg.package != null)
|
||||
cfg.package;
|
||||
|
||||
plugins.lsp.enabledServers = [
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
# Do not install the language server using nixvim
|
||||
gopls = {
|
||||
enable = true;
|
||||
installLanguageServer = false;
|
||||
package = null;
|
||||
};
|
||||
nil_ls.enable = true;
|
||||
rust-analyzer = {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue