mirror of
https://github.com/NotAShelf/nvf.git
synced 2026-04-27 11:55:22 +00:00
chore: add language.<name>.lsp.servers deprecation information
This commit is contained in:
parent
a3aa4e49d1
commit
ec8a66bb3c
16 changed files with 126 additions and 33 deletions
|
|
@ -1,9 +1,9 @@
|
|||
{lib}: let
|
||||
inherit (builtins) toJSON;
|
||||
inherit (builtins) toJSON attrNames;
|
||||
inherit (lib.options) mergeEqualOption;
|
||||
inherit (lib.lists) singleton;
|
||||
inherit (lib.strings) isString stringLength match;
|
||||
inherit (lib.types) listOf mkOptionType coercedTo;
|
||||
inherit (lib.types) listOf mkOptionType coercedTo enum;
|
||||
inherit (lib.trivial) warn;
|
||||
in {
|
||||
mergelessListOf = elemType:
|
||||
|
|
@ -39,4 +39,28 @@ in {
|
|||
''
|
||||
(singleton x))
|
||||
(listOf t);
|
||||
|
||||
# Create an enum type for `values`, which additionally accepts deprecated
|
||||
# values listed in the `renames` attrset as `old = new` pairs.
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# vim.languages.typescript.lsp.servers = mkOption {
|
||||
# type = renamedEnum
|
||||
# "vim.languages.typescript.lsp.servers"
|
||||
# ["typescript-language-server" "some-other-server"]
|
||||
# { ts_ls = "typescript-language-server"; };
|
||||
# }
|
||||
#
|
||||
# With this option definition, when users enter `ts_ls`, they
|
||||
# get a warning "`ts_ls` is deprecated, use `typescript-language-server`
|
||||
# instead", and typescript-language-server is automatically used.
|
||||
enumWithRename = option: values: renames:
|
||||
coercedTo (enum (attrNames renames)) (
|
||||
old:
|
||||
warn
|
||||
"${option}: `${old}` is deprecated, use `${renames.${old}}` instead"
|
||||
renames.${old}
|
||||
)
|
||||
(enum values);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,5 +12,5 @@ in {
|
|||
inherit (typesPlugin) pluginsOpt extraPluginType mkPluginSetupOption luaInline pluginType borderType;
|
||||
inherit (typesLanguage) diagnostics mkGrammarOption;
|
||||
inherit (typesLsp) mkLspPresetEnableOption;
|
||||
inherit (customTypes) char hexColor mergelessListOf deprecatedSingleOrListOf;
|
||||
inherit (customTypes) char hexColor mergelessListOf deprecatedSingleOrListOf enumWithRename;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
inherit (lib.meta) getExe;
|
||||
inherit (lib.types) enum coercedTo listOf;
|
||||
inherit (lib.nvim.attrsets) mapListToAttrs;
|
||||
inherit (lib.nvim.types) mkGrammarOption diagnostics deprecatedSingleOrListOf;
|
||||
inherit (lib.nvim.types) mkGrammarOption diagnostics deprecatedSingleOrListOf enumWithRename;
|
||||
inherit (lib) genAttrs;
|
||||
|
||||
cfg = config.vim.languages.astro;
|
||||
|
|
@ -85,7 +85,12 @@ in {
|
|||
defaultText = literalExpression "config.vim.lsp.enable";
|
||||
};
|
||||
servers = mkOption {
|
||||
type = listOf (enum servers);
|
||||
type = listOf (enumWithRename
|
||||
"vim.languages.astro.lsp.servers"
|
||||
servers
|
||||
{
|
||||
astro = "astro-language-server";
|
||||
});
|
||||
default = defaultServers;
|
||||
description = "Astro LSP server to use";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.types) enum bool listOf;
|
||||
inherit (lib) genAttrs;
|
||||
inherit (lib.nvim.types) diagnostics mkGrammarOption deprecatedSingleOrListOf;
|
||||
inherit (lib.nvim.types) diagnostics mkGrammarOption deprecatedSingleOrListOf enumWithRename;
|
||||
inherit (lib.nvim.attrsets) mapListToAttrs;
|
||||
|
||||
cfg = config.vim.languages.bash;
|
||||
|
|
@ -53,7 +53,12 @@ in {
|
|||
defaultText = literalExpression "config.vim.lsp.enable";
|
||||
};
|
||||
servers = mkOption {
|
||||
type = listOf (enum servers);
|
||||
type = listOf (enumWithRename
|
||||
"vim.languages.bash.lsp.servers"
|
||||
servers
|
||||
{
|
||||
bash-ls = "bash-language-server";
|
||||
});
|
||||
default = defaultServers;
|
||||
description = "Bash LSP server to use";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
inherit (lib.meta) getExe;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.types) enum listOf;
|
||||
inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf;
|
||||
inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf enumWithRename;
|
||||
inherit (lib.nvim.attrsets) mapListToAttrs;
|
||||
|
||||
cfg = config.vim.languages.css;
|
||||
|
|
@ -56,7 +56,12 @@ in {
|
|||
};
|
||||
|
||||
servers = mkOption {
|
||||
type = listOf (enum servers);
|
||||
type = listOf (enumWithRename
|
||||
"vim.languages.css.lsp.servers"
|
||||
servers
|
||||
{
|
||||
cssls = "vscode-css-language-server";
|
||||
});
|
||||
default = defaultServer;
|
||||
description = "CSS LSP server to use";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib) genAttrs;
|
||||
inherit (lib.types) enum listOf;
|
||||
inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf;
|
||||
inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf enumWithRename;
|
||||
inherit (lib.nvim.dag) entryAnywhere;
|
||||
inherit (lib.nvim.attrsets) mapListToAttrs;
|
||||
|
||||
|
|
@ -48,7 +48,12 @@ in {
|
|||
defaultText = literalExpression "config.vim.lsp.enable";
|
||||
};
|
||||
servers = mkOption {
|
||||
type = listOf (enum servers);
|
||||
type = listOf (enumWithRename
|
||||
"vim.languages.elixir.lsp.servers"
|
||||
servers
|
||||
{
|
||||
elixirls = "elixir-ls";
|
||||
});
|
||||
default = defaultServers;
|
||||
description = "Elixir LSP server to use";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
inherit (lib.meta) getExe;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.types) enum listOf;
|
||||
inherit (lib.nvim.types) mkGrammarOption;
|
||||
inherit (lib.nvim.types) mkGrammarOption enumWithRename;
|
||||
inherit (lib.nvim.attrsets) mapListToAttrs;
|
||||
|
||||
cfg = config.vim.languages.hcl;
|
||||
|
|
@ -51,7 +51,13 @@ in {
|
|||
defaultText = literalExpression "config.vim.lsp.enable";
|
||||
};
|
||||
servers = mkOption {
|
||||
type = listOf (enum servers);
|
||||
type = listOf (enumWithRename
|
||||
"vim.languages.hcl.lsp.servers"
|
||||
servers
|
||||
{
|
||||
terraformls-hcl = "terraform-ls";
|
||||
tofuls-hcl = "tofu-ls";
|
||||
});
|
||||
default = defaultServers;
|
||||
description = "HCL LSP server to use";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@
|
|||
inherit (lib.options) literalExpression mkEnableOption mkOption;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib) genAttrs;
|
||||
inherit (lib.types) listOf enum;
|
||||
inherit (lib.nvim.types) mkGrammarOption;
|
||||
inherit (lib.types) listOf;
|
||||
inherit (lib.nvim.types) mkGrammarOption enumWithRename;
|
||||
|
||||
cfg = config.vim.languages.java;
|
||||
|
||||
|
|
@ -36,7 +36,12 @@ in {
|
|||
defaultText = literalExpression "config.vim.lsp.enable";
|
||||
};
|
||||
servers = mkOption {
|
||||
type = listOf (enum servers);
|
||||
type = listOf (enumWithRename
|
||||
"vim.languages.java.lsp.servers"
|
||||
servers
|
||||
{
|
||||
jdtls = "jdt-language-server";
|
||||
});
|
||||
default = defaultServers;
|
||||
description = "Java LSP server to use";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.types) enum listOf;
|
||||
inherit (lib) genAttrs;
|
||||
inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf;
|
||||
inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf enumWithRename;
|
||||
inherit (lib.nvim.attrsets) mapListToAttrs;
|
||||
|
||||
cfg = config.vim.languages.json;
|
||||
|
|
@ -51,7 +51,12 @@ in {
|
|||
};
|
||||
|
||||
servers = mkOption {
|
||||
type = listOf (enum servers);
|
||||
type = listOf (enumWithRename
|
||||
"vim.languages.json.lsp.servers"
|
||||
servers
|
||||
{
|
||||
jsonls = "vscode-json-language-server";
|
||||
});
|
||||
default = defaultServers;
|
||||
description = "JSON LSP server to use";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -5,10 +5,10 @@
|
|||
...
|
||||
}: let
|
||||
inherit (lib.options) literalExpression mkEnableOption mkOption;
|
||||
inherit (lib.types) enum listOf;
|
||||
inherit (lib.types) listOf;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib) genAttrs;
|
||||
inherit (lib.nvim.types) mkGrammarOption;
|
||||
inherit (lib.nvim.types) mkGrammarOption enumWithRename;
|
||||
|
||||
cfg = config.vim.languages.julia;
|
||||
|
||||
|
|
@ -37,7 +37,12 @@ in {
|
|||
defaultText = literalExpression "config.vim.lsp.enable";
|
||||
};
|
||||
servers = mkOption {
|
||||
type = listOf (enum servers);
|
||||
type = listOf (enumWithRename
|
||||
"vim.languages.julia.lsp.servers"
|
||||
servers
|
||||
{
|
||||
julials = "julia-languageserver";
|
||||
});
|
||||
default = defaultServers;
|
||||
description = ''
|
||||
Julia LSP Server to Use
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.types) enum listOf;
|
||||
inherit (lib) genAttrs;
|
||||
inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf;
|
||||
inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf enumWithRename;
|
||||
inherit (lib.nvim.attrsets) mapListToAttrs;
|
||||
|
||||
cfg = config.vim.languages.r;
|
||||
|
|
@ -67,7 +67,12 @@ in {
|
|||
};
|
||||
|
||||
servers = mkOption {
|
||||
type = listOf (enum servers);
|
||||
type = listOf (enumWithRename
|
||||
"vim.languages.r.lsp.servers"
|
||||
servers
|
||||
{
|
||||
r_language_server = "r-languageserver";
|
||||
});
|
||||
default = defaultServers;
|
||||
description = "R LSP server to use";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
inherit (lib) genAttrs;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.nvim.types) mkGrammarOption diagnostics deprecatedSingleOrListOf;
|
||||
inherit (lib.nvim.types) mkGrammarOption diagnostics deprecatedSingleOrListOf enumWithRename;
|
||||
inherit (lib.types) enum listOf;
|
||||
inherit (lib.nvim.attrsets) mapListToAttrs;
|
||||
|
||||
|
|
@ -56,7 +56,12 @@ in {
|
|||
};
|
||||
|
||||
servers = mkOption {
|
||||
type = listOf (enum servers);
|
||||
type = listOf (enumWithRename
|
||||
"vim.languages.ruby.lsp.servers"
|
||||
servers
|
||||
{
|
||||
ruby_lsp = "ruby-lsp";
|
||||
});
|
||||
default = defaultServers;
|
||||
description = "Ruby LSP server to use";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
inherit (lib) genAttrs;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.types) enum listOf;
|
||||
inherit (lib.nvim.types) mkGrammarOption;
|
||||
inherit (lib.nvim.types) mkGrammarOption enumWithRename;
|
||||
inherit (lib.nvim.attrsets) mapListToAttrs;
|
||||
|
||||
cfg = config.vim.languages.terraform;
|
||||
|
|
@ -53,7 +53,13 @@ in {
|
|||
defaultText = literalExpression "config.vim.lsp.enable";
|
||||
};
|
||||
servers = mkOption {
|
||||
type = listOf (enum servers);
|
||||
type = listOf (enumWithRename
|
||||
"vim.languages.terraform.lsp.servers"
|
||||
servers
|
||||
{
|
||||
terraformls-tf = "terraform-ls";
|
||||
tofuls-tf = "tofu-ls";
|
||||
});
|
||||
default = defaultServers;
|
||||
description = "Terraform LSP server to use";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
inherit (lib.types) enum bool listOf;
|
||||
inherit (lib.nvim.attrsets) mapListToAttrs;
|
||||
inherit (lib.nvim.lua) toLuaObject;
|
||||
inherit (lib.nvim.types) mkGrammarOption diagnostics mkPluginSetupOption deprecatedSingleOrListOf;
|
||||
inherit (lib.nvim.types) mkGrammarOption diagnostics mkPluginSetupOption deprecatedSingleOrListOf enumWithRename;
|
||||
inherit (lib.nvim.dag) entryAnywhere;
|
||||
|
||||
cfg = config.vim.languages.ts;
|
||||
|
|
@ -99,7 +99,14 @@ in {
|
|||
};
|
||||
|
||||
servers = mkOption {
|
||||
type = listOf (enum servers);
|
||||
type = listOf (enumWithRename
|
||||
"vim.languages.ts.lsp.servers"
|
||||
servers
|
||||
{
|
||||
ts_ls = "typescript-language-server";
|
||||
denols = "deno";
|
||||
tsgo = "typescript-go";
|
||||
});
|
||||
default = defaultServers;
|
||||
description = "Typescript/Javascript LSP server to use";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@
|
|||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib) genAttrs;
|
||||
inherit (lib.types) enum listOf;
|
||||
inherit (lib.nvim.types) mkGrammarOption;
|
||||
inherit (lib.types) listOf;
|
||||
inherit (lib.nvim.types) mkGrammarOption enumWithRename;
|
||||
|
||||
cfg = config.vim.languages.vala;
|
||||
|
||||
|
|
@ -36,7 +36,12 @@ in {
|
|||
defaultText = literalExpression "config.vim.lsp.enable";
|
||||
};
|
||||
servers = mkOption {
|
||||
type = listOf (enum servers);
|
||||
type = listOf (enumWithRename
|
||||
"vim.languages.vala.lsp.servers"
|
||||
servers
|
||||
{
|
||||
vala_ls = "vala-language-server";
|
||||
});
|
||||
default = defaultServers;
|
||||
description = "Vala LSP server to use";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
cfg = config.vim.lsp.presets.terraform-ls;
|
||||
in {
|
||||
options.vim.lsp.presets.terraform-ls = {
|
||||
enable = mkLspPresetEnableOption "terrraform-ls" "Terraform" [];
|
||||
enable = mkLspPresetEnableOption "terraform-ls" "Terraform" [];
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue