languages: add and move to mkServersOption

This commit is contained in:
poz 2025-07-21 10:53:09 +02:00
commit d47a771d19
No known key found for this signature in database
35 changed files with 89 additions and 224 deletions

View file

@ -9,6 +9,6 @@
in {
inherit (typesDag) dagOf;
inherit (typesPlugin) pluginsOpt extraPluginType mkPluginSetupOption luaInline pluginType borderType;
inherit (typesLanguage) diagnostics mkGrammarOption;
inherit (typesLanguage) diagnostics mkGrammarOption mkServersOption;
inherit (customTypes) char hexColor mergelessListOf;
}

View file

@ -32,6 +32,13 @@
mkPackageOption pkgs ["${grammar} treesitter"] {
default = ["vimPlugins" "nvim-treesitter" "builtGrammars" grammar];
};
mkServersOption = language: servers: defaultServers:
mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "${language} LSP servers to use";
};
in {
inherit diagnostics diagnosticSubmodule mkGrammarOption;
inherit diagnostics diagnosticSubmodule mkGrammarOption mkServersOption;
}

View file

@ -8,7 +8,7 @@
inherit (lib.options) mkEnableOption mkOption;
inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) package enum listOf;
inherit (lib.nvim.types) mkGrammarOption;
inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.meta) getExe;
inherit (lib.nvim.attrsets) mapListToAttrs;
@ -33,11 +33,7 @@ in {
lsp = {
enable = mkEnableOption "Assembly LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Assembly LSP servers to use";
};
servers = mkServersOption "Assembly" servers defaultServers;
};
};
config = mkIf cfg.enable (mkMerge [

View file

@ -12,7 +12,7 @@
inherit (lib.types) enum either listOf package str;
inherit (lib.nvim.lua) expToLua;
inherit (lib.nvim.attrsets) mapListToAttrs;
inherit (lib.nvim.types) mkGrammarOption diagnostics;
inherit (lib.nvim.types) mkGrammarOption mkServersOption diagnostics;
inherit (lib.generators) mkLuaInline;
cfg = config.vim.languages.astro;
@ -90,11 +90,7 @@ in {
lsp = {
enable = mkEnableOption "Astro LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Astro LSP servers to use";
};
servers = mkServersOption "Astro" servers defaultServers;
};
format = {

View file

@ -11,7 +11,7 @@
inherit (lib.lists) isList;
inherit (lib.types) enum either package listOf str bool;
inherit (lib.generators) mkLuaInline;
inherit (lib.nvim.types) diagnostics mkGrammarOption;
inherit (lib.nvim.types) diagnostics mkGrammarOption mkServersOption;
inherit (lib.nvim.lua) expToLua;
inherit (lib.nvim.attrsets) mapListToAttrs;
@ -56,11 +56,7 @@ in {
lsp = {
enable = mkEnableOption "Bash LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Bash LSP servers to use";
};
servers = mkServersOption "Bash" servers defaultServers;
};
format = {

View file

@ -10,7 +10,7 @@
inherit (lib.meta) getExe;
inherit (lib.lists) isList;
inherit (lib.types) enum either listOf package str;
inherit (lib.nvim.types) mkGrammarOption;
inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.nvim.lua) expToLua;
inherit (lib.nvim.attrsets) mapListToAttrs;
@ -36,11 +36,7 @@ in {
lsp = {
enable = mkEnableOption "Clojure LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Clojure LSP servers to use";
};
servers = mkServersOption "Clojure" servers defaultServers;
};
};

View file

@ -13,7 +13,7 @@
inherit (lib.types) enum either listOf package nullOr str bool;
inherit (lib.strings) optionalString;
inherit (lib.nvim.lua) expToLua;
inherit (lib.nvim.types) mkGrammarOption;
inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.nvim.dag) entryAfter;
inherit (lib.nvim.attrsets) mapListToAttrs;
@ -53,11 +53,7 @@ in {
lsp = {
enable = mkEnableOption "Dart LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Dart LSP servers to use";
};
servers = mkServersOption "Dart" servers defaultServers;
};
dap = {

View file

@ -11,7 +11,7 @@
inherit (lib.meta) getExe;
inherit (lib.types) enum either listOf package str;
inherit (lib.generators) mkLuaInline;
inherit (lib.nvim.types) mkGrammarOption;
inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.nvim.lua) expToLua;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.attrsets) mapListToAttrs;
@ -62,11 +62,7 @@ in {
lsp = {
enable = mkEnableOption "Elixir LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Elixir LSP servers to use";
};
servers = mkServersOption "Elixir" servers defaultServers;
};
format = {

View file

@ -11,7 +11,7 @@
inherit (lib.meta) getExe;
inherit (lib.types) enum either listOf package str;
inherit (lib.nvim.lua) expToLua;
inherit (lib.nvim.types) mkGrammarOption;
inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.nvim.attrsets) mapListToAttrs;
cfg = config.vim.languages.gleam;
@ -36,11 +36,7 @@ in {
lsp = {
enable = mkEnableOption "Gleam LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Gleam LSP servers to use";
};
servers = mkServersOption "Gleam" servers defaultServers;
};
};

View file

@ -9,7 +9,7 @@
inherit (lib.options) mkEnableOption mkOption;
inherit (lib.strings) optionalString;
inherit (lib.modules) mkIf mkMerge;
inherit (lib.nvim.types) mkGrammarOption;
inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.nvim.dag) entryAfter entryBefore;
inherit (lib.nvim.lua) expToLua;
inherit (lib.meta) getExe';
@ -76,11 +76,7 @@ in {
lsp = {
enable = mkEnableOption "Haskell LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Haskell LSP servers to use";
};
servers = mkServersOption "Haskell" servers defaultServers;
};
dap = {

View file

@ -9,7 +9,7 @@
inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) package bool enum listOf;
inherit (lib.nvim.types) mkGrammarOption;
inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.nvim.attrsets) mapListToAttrs;
cfg = config.vim.languages.hcl;
@ -41,11 +41,7 @@ in {
lsp = {
enable = mkEnableOption "HCL LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "HCL LSP servers to use";
};
servers = mkServersOption "HCL" servers defaultServers;
};
format = {

View file

@ -9,7 +9,7 @@
inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe;
inherit (lib.types) enum listOf;
inherit (lib.nvim.types) mkGrammarOption;
inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.nvim.attrsets) mapListToAttrs;
cfg = config.vim.languages.helm;
@ -48,11 +48,7 @@ in {
lsp = {
enable = mkEnableOption "Helm LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Helm LSP servers to use";
};
servers = mkServersOption "Helm" servers defaultServers;
};
};

View file

@ -9,7 +9,7 @@
inherit (lib.meta) getExe;
inherit (builtins) attrNames;
inherit (lib.types) listOf enum;
inherit (lib.nvim.types) mkGrammarOption;
inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.nvim.attrsets) mapListToAttrs;
inherit (lib.nvim.dag) entryBefore;
inherit (lib.generators) mkLuaInline;
@ -71,11 +71,7 @@ in {
lsp = {
enable = mkEnableOption "Java LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Java LSP servers to use";
};
servers = mkServersOption "Java" servers defaultServers;
};
};

View file

@ -9,7 +9,7 @@
inherit (lib.types) listOf enum;
inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe;
inherit (lib.nvim.types) mkGrammarOption;
inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.generators) mkLuaInline;
inherit (lib.nvim.attrsets) mapListToAttrs;
inherit (lib.nvim.dag) entryBefore;
@ -96,23 +96,23 @@ in {
lsp = {
enable = mkEnableOption "Java LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = ''
Julia LSP servers to use
servers =
mkServersOption "Julia" servers defaultServers
// {
description = ''
Julia LSP servers to use
::: {.note}
The entirety of Julia is bundled with nvf, if you enable this
option, since there is no way to provide only the LSP server.
::: {.note}
The entirety of Julia is bundled with nvf, if you enable this
option, since there is no way to provide only the LSP server.
If you want to avoid that, you have to change
[](#opt-vim.languages.julia.lsp.package) to use the Julia binary
in {env}`PATH` (set it to `null`), and add the `LanguageServer` package to
Julia in your devshells.
:::
'';
};
If you want to avoid that, you have to change
[](#opt-vim.languages.julia.lsp.package) to use the Julia binary
in {env}`PATH` (set it to `null`), and add the `LanguageServer` package to
Julia in your devshells.
:::
'';
};
};
};
};

View file

@ -9,7 +9,7 @@
inherit (lib.meta) getExe' getExe;
inherit (builtins) attrNames;
inherit (lib.types) enum listOf;
inherit (lib.nvim.types) mkGrammarOption diagnostics;
inherit (lib.nvim.types) mkGrammarOption mkServersOption diagnostics;
inherit (lib.generators) mkLuaInline;
inherit (lib.nvim.attrsets) mapListToAttrs;
@ -62,11 +62,7 @@ in {
lsp = {
enable = mkEnableOption "Kotlin LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Kotlin LSP servers to use";
};
servers = mkServersOption "Kotlin" servers defaultServers;
};
extraDiagnostics = {

View file

@ -9,7 +9,7 @@
inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe;
inherit (lib.types) bool enum listOf package;
inherit (lib.nvim.types) diagnostics mkGrammarOption;
inherit (lib.nvim.types) diagnostics mkGrammarOption mkServersOption;
inherit (lib.nvim.dag) entryBefore;
inherit (lib.nvim.attrsets) mapListToAttrs;
@ -63,11 +63,7 @@ in {
lsp = {
enable = mkEnableOption "Lua LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Lua LSP servers to use";
};
servers = mkServersOption "Lua" servers defaultServers;
lazydev.enable = mkEnableOption "lazydev.nvim integration, useful for neovim plugin developers";
};

View file

@ -10,7 +10,7 @@
inherit (lib.options) mkEnableOption mkOption;
inherit (lib.types) bool enum package listOf str nullOr;
inherit (lib.nvim.lua) toLuaObject;
inherit (lib.nvim.types) diagnostics mkGrammarOption mkPluginSetupOption;
inherit (lib.nvim.types) diagnostics mkGrammarOption mkPluginSetupOption mkServersOption;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.attrsets) mapListToAttrs;
@ -60,12 +60,7 @@ in {
lsp = {
enable = mkEnableOption "Markdown LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
description = "Markdown LSP servers to use";
type = listOf (enum (attrNames servers));
default = defaultServers;
};
servers = mkServersOption "Markdown" servers defaultServers;
};
format = {

View file

@ -9,7 +9,7 @@
inherit (lib.meta) getExe';
inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) enum listOf package;
inherit (lib.nvim.types) mkGrammarOption;
inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.generators) mkLuaInline;
inherit (lib.nvim.attrsets) mapListToAttrs;
@ -57,12 +57,7 @@ in {
lsp = {
enable = mkEnableOption "Nim LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Nim LSP servers to use";
};
servers = mkServersOption "Nim" servers defaultServers;
};
format = {

View file

@ -10,7 +10,7 @@
inherit (lib.options) mkEnableOption mkOption;
inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) enum package listOf;
inherit (lib.nvim.types) mkGrammarOption diagnostics;
inherit (lib.nvim.types) mkGrammarOption mkServersOption diagnostics;
inherit (lib.nvim.attrsets) mapListToAttrs;
cfg = config.vim.languages.nix;
@ -97,11 +97,7 @@ in {
lsp = {
enable = mkEnableOption "Nix LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Nix LSP servers to use";
};
servers = mkServersOption "Nix" servers defaultServers;
};
format = {

View file

@ -7,7 +7,7 @@
inherit (lib.options) mkEnableOption mkOption;
inherit (lib.types) enum listOf;
inherit (lib.modules) mkIf mkMerge;
inherit (lib.nvim.types) mkGrammarOption;
inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.meta) getExe;
inherit (lib.generators) mkLuaInline;
inherit (lib.nvim.attrsets) mapListToAttrs;
@ -44,12 +44,7 @@ in {
lsp = {
enable = mkEnableOption "Nu LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Nu LSP servers to use";
};
servers = mkServersOption "Nu" servers defaultServers;
};
};

View file

@ -9,7 +9,7 @@
inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe;
inherit (lib.types) enum listOf package;
inherit (lib.nvim.types) mkGrammarOption;
inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.generators) mkLuaInline;
inherit (lib.nvim.attrsets) mapListToAttrs;
@ -72,12 +72,7 @@ in {
lsp = {
enable = mkEnableOption "OCaml LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "OCaml LSP servers to use";
};
servers = mkServersOption "OCaml" servers defaultServers;
};
format = {

View file

@ -9,7 +9,7 @@
inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) listOf enum;
inherit (lib.meta) getExe;
inherit (lib.nvim.types) mkGrammarOption;
inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.generators) mkLuaInline;
inherit (lib.nvim.attrsets) mapListToAttrs;
@ -44,12 +44,7 @@ in {
lsp = {
enable = mkEnableOption "Odin LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Odin LSP servers to use";
};
servers = mkServersOption "Odin" servers defaultServers;
};
};

View file

@ -9,7 +9,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 mkServersOption;
inherit (lib.nvim.attrsets) mapListToAttrs;
inherit (lib.generators) mkLuaInline;
@ -75,12 +75,7 @@ in {
lsp = {
enable = mkEnableOption "PHP LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "PHP LSP servers to use";
};
servers = mkServersOption "PHP" servers defaultServers;
};
};

View file

@ -12,6 +12,7 @@
inherit (lib.nvim.attrsets) mapListToAttrs;
inherit (lib.generators) mkLuaInline;
inherit (lib.nvim.dag) entryBefore;
inherit (lib.nvim.types) mkServersOption;
cfg = config.vim.languages.python;
@ -227,12 +228,7 @@ in {
lsp = {
enable = mkEnableOption "Python LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Python LSP servers to use";
};
servers = mkServersOption "Python" servers defaultServers;
};
format = {

View file

@ -9,7 +9,7 @@
inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) enum listOf package;
inherit (lib.meta) getExe;
inherit (lib.nvim.types) mkGrammarOption;
inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.nvim.attrsets) mapListToAttrs;
inherit (lib.generators) mkLuaInline;
@ -75,12 +75,7 @@ in {
lsp = {
enable = mkEnableOption "R LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "R LSP servers to use";
};
servers = mkServersOption "R" servers defaultServers;
};
format = {

View file

@ -8,7 +8,7 @@
inherit (lib.options) mkEnableOption mkOption;
inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge;
inherit (lib.nvim.types) mkGrammarOption diagnostics;
inherit (lib.nvim.types) mkGrammarOption mkServersOption diagnostics;
inherit (lib.types) listOf package enum;
inherit (lib.nvim.attrsets) mapListToAttrs;
@ -75,12 +75,7 @@ in {
lsp = {
enable = mkEnableOption "Ruby LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Ruby LSP servers to use";
};
servers = mkServersOption "Ruby" servers defaultServers;
};
format = {

View file

@ -9,7 +9,7 @@
inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) enum listOf package str;
inherit (lib.nvim.types) diagnostics;
inherit (lib.nvim.types) diagnostics mkServersOption;
inherit (lib.nvim.attrsets) mapListToAttrs;
inherit (lib.generators) mkLuaInline;
@ -76,12 +76,7 @@ in {
lsp = {
enable = mkEnableOption "SQL LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "SQL LSP servers to use";
};
servers = mkServersOption "SQL" servers defaultServers;
};
format = {

View file

@ -9,7 +9,7 @@
inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe;
inherit (lib.types) enum listOf package;
inherit (lib.nvim.types) mkGrammarOption diagnostics;
inherit (lib.nvim.types) mkGrammarOption mkServersOption diagnostics;
inherit (lib.nvim.attrsets) mapListToAttrs;
inherit (lib.generators) mkLuaInline;
@ -88,12 +88,7 @@ in {
lsp = {
enable = mkEnableOption "Svelte LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Svelte LSP servers to use";
};
servers = mkServersOption "Svelte" servers defaultServers;
};
format = {

View file

@ -11,6 +11,7 @@
inherit (lib.types) enum listOf;
inherit (lib.nvim.attrsets) mapListToAttrs;
inherit (lib.generators) mkLuaInline;
inherit (lib.nvim.types) mkServersOption;
cfg = config.vim.languages.tailwind;
@ -152,12 +153,7 @@ in {
lsp = {
enable = mkEnableOption "Tailwindcss LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Tailwindcss LSP servers to use";
};
servers = mkServersOption "Tailwindcss" servers defaultServers;
};
};

View file

@ -9,7 +9,7 @@
inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe;
inherit (lib.types) enum listOf;
inherit (lib.nvim.types) mkGrammarOption;
inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.nvim.attrsets) mapListToAttrs;
cfg = config.vim.languages.terraform;
@ -34,12 +34,7 @@ in {
lsp = {
enable = mkEnableOption "Terraform LSP support (terraform-ls)" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Terraform LSP servers to use";
};
servers = mkServersOption "Terraform" servers defaultServers;
};
};
config = mkIf cfg.enable (mkMerge [

View file

@ -9,7 +9,7 @@
inherit (lib.types) nullOr enum attrsOf listOf package str;
inherit (lib.attrsets) attrNames;
inherit (lib.meta) getExe;
inherit (lib.nvim.types) mkGrammarOption mkPluginSetupOption;
inherit (lib.nvim.types) mkGrammarOption mkPluginSetupOption mkServersOption;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
inherit (lib.nvim.attrsets) mapListToAttrs;
@ -112,12 +112,7 @@ in {
lsp = {
enable = mkEnableOption "Typst LSP support (typst-lsp)" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Typst LSP servers to use";
};
servers = mkServersOption "Typst" servers defaultServers;
};
format = {

View file

@ -9,7 +9,7 @@
inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe;
inherit (lib.types) enum listOf;
inherit (lib.nvim.types) mkGrammarOption;
inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.nvim.attrsets) mapListToAttrs;
inherit (lib.generators) mkLuaInline;
@ -72,11 +72,7 @@ in {
lsp = {
enable = mkEnableOption "Vala LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Vala LSP servers to use";
};
servers = mkServersOption "Vala" servers defaultServers;
};
};

View file

@ -6,7 +6,7 @@
}: let
inherit (builtins) attrNames;
inherit (lib.modules) mkIf mkMerge;
inherit (lib.nvim.types) mkGrammarOption;
inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.options) mkEnableOption mkOption;
inherit (lib.types) enum listOf;
inherit (lib.meta) getExe;
@ -35,12 +35,7 @@ in {
lsp = {
enable = mkEnableOption "WGSL LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "WGSL LSP servers to use";
};
servers = mkServersOption "WGSL" servers defaultServers;
};
};

View file

@ -9,7 +9,7 @@
inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe;
inherit (lib.types) enum listOf;
inherit (lib.nvim.types) mkGrammarOption;
inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.nvim.attrsets) mapListToAttrs;
cfg = config.vim.languages.yaml;
@ -55,11 +55,7 @@ in {
lsp = {
enable = mkEnableOption "Yaml LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Yaml LSP servers to use";
};
servers = mkServersOption "Yaml" servers defaultServers;
};
};

View file

@ -8,7 +8,7 @@
inherit (lib.options) mkEnableOption mkOption;
inherit (lib.modules) mkIf mkMerge mkDefault;
inherit (lib.types) bool listOf package enum;
inherit (lib.nvim.types) mkGrammarOption;
inherit (lib.nvim.types) mkGrammarOption mkServersOption;
inherit (lib.meta) getExe;
inherit (lib.nvim.attrsets) mapListToAttrs;
@ -65,12 +65,7 @@ in {
lsp = {
enable = mkEnableOption "Zig LSP support" // {default = config.vim.lsp.enable;};
servers = mkOption {
type = listOf (enum (attrNames servers));
default = defaultServers;
description = "Zig LSP servers to use";
};
servers = mkServersOption "Zig" servers defaultServers;
};
dap = {