langauges: add defaultText to all values dependent on toggles
Some checks are pending
Set up binary cache / cachix (default) (push) Waiting to run
Set up binary cache / cachix (maximal) (push) Waiting to run
Set up binary cache / cachix (nix) (push) Waiting to run
Treewide Checks / Validate flake (push) Waiting to run
Treewide Checks / Check formatting (push) Waiting to run
Treewide Checks / Check source tree for typos (push) Waiting to run
Treewide Checks / Validate documentation builds (push) Waiting to run
Treewide Checks / Validate documentation builds-1 (push) Waiting to run
Treewide Checks / Validate documentation builds-2 (push) Waiting to run
Treewide Checks / Validate documentation builds-3 (push) Waiting to run
Treewide Checks / Validate hyperlinks in documentation sources (push) Waiting to run
Treewide Checks / Validate Editorconfig conformance (push) Waiting to run
Build and deploy documentation / Check latest commit (push) Waiting to run
Build and deploy documentation / publish (push) Blocked by required conditions

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Idf55a40882e53006048fdd876c869f906a6a6964
This commit is contained in:
raf 2026-03-12 09:52:03 +03:00
commit c56ec752ba
Signed by: NotAShelf
GPG key ID: 29D95B64378DB4BF
55 changed files with 895 additions and 196 deletions

View file

@ -8,7 +8,7 @@
inherit (lib.generators) mkLuaInline; inherit (lib.generators) mkLuaInline;
inherit (lib.meta) getExe getExe'; inherit (lib.meta) getExe getExe';
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.types) enum listOf str; inherit (lib.types) enum listOf str;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption;
@ -57,12 +57,22 @@ in {
enable = mkEnableOption "Arduino support"; enable = mkEnableOption "Arduino support";
treesitter = { treesitter = {
enable = mkEnableOption "Arduino treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Arduino treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "arduino"; package = mkGrammarOption pkgs "arduino";
}; };
lsp = { lsp = {
enable = mkEnableOption "Arduino LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Arduino LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = listOf (enum (attrNames servers)); type = listOf (enum (attrNames servers));
default = defaultServers; default = defaultServers;

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) enum; inherit (lib.types) enum;
inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf;
@ -27,12 +27,22 @@ in {
enable = mkEnableOption "Assembly support"; enable = mkEnableOption "Assembly support";
treesitter = { treesitter = {
enable = mkEnableOption "Assembly treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Assembly treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "asm"; package = mkGrammarOption pkgs "asm";
}; };
lsp = { lsp = {
enable = mkEnableOption "Assembly LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Assembly LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.asm.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.asm.lsp.servers" (enum (attrNames servers));
default = defaultServers; default = defaultServers;

View file

@ -6,7 +6,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.types) enum coercedTo; inherit (lib.types) enum coercedTo;
@ -89,13 +89,23 @@ in {
enable = mkEnableOption "Astro language support"; enable = mkEnableOption "Astro language support";
treesitter = { treesitter = {
enable = mkEnableOption "Astro treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Astro treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
astroPackage = mkGrammarOption pkgs "astro"; astroPackage = mkGrammarOption pkgs "astro";
}; };
lsp = { lsp = {
enable = mkEnableOption "Astro LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Astro LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.astro.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.astro.lsp.servers" (enum (attrNames servers));
default = defaultServers; default = defaultServers;
@ -104,7 +114,12 @@ in {
}; };
format = { format = {
enable = mkEnableOption "Astro formatting" // {default = config.vim.languages.enableFormat;}; enable =
mkEnableOption "Astro formatting"
// {
default = config.vim.languages.enableFormat;
defaultText = literalExpression "config.vim.languages.enableFormat";
};
type = mkOption { type = mkOption {
type = formatType; type = formatType;
@ -114,7 +129,12 @@ in {
}; };
extraDiagnostics = { extraDiagnostics = {
enable = mkEnableOption "extra Astro diagnostics" // {default = config.vim.languages.enableExtraDiagnostics;}; enable =
mkEnableOption "extra Astro diagnostics"
// {
default = config.vim.languages.enableExtraDiagnostics;
defaultText = literalExpression "config.vim.languages.enableExtraDiagnostics";
};
types = diagnostics { types = diagnostics {
langDesc = "Astro"; langDesc = "Astro";

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkOption mkEnableOption; inherit (lib.options) mkOption mkEnableOption literalExpression;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) enum bool; inherit (lib.types) enum bool;
@ -48,12 +48,22 @@ in {
enable = mkEnableOption "Bash language support"; enable = mkEnableOption "Bash language support";
treesitter = { treesitter = {
enable = mkEnableOption "Bash treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Bash treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "bash"; package = mkGrammarOption pkgs "bash";
}; };
lsp = { lsp = {
enable = mkEnableOption "Bash LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Bash LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.bash.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.bash.lsp.servers" (enum (attrNames servers));
default = defaultServers; default = defaultServers;
@ -65,6 +75,7 @@ in {
enable = mkOption { enable = mkOption {
type = bool; type = bool;
default = config.vim.languages.enableFormat; default = config.vim.languages.enableFormat;
defaultText = literalExpression "config.vim.languages.enableFormat";
description = "Enable Bash formatting"; description = "Enable Bash formatting";
}; };
type = mkOption { type = mkOption {
@ -75,7 +86,12 @@ in {
}; };
extraDiagnostics = { extraDiagnostics = {
enable = mkEnableOption "extra Bash diagnostics" // {default = config.vim.languages.enableExtraDiagnostics;}; enable =
mkEnableOption "extra Bash diagnostics"
// {
default = config.vim.languages.enableExtraDiagnostics;
defaultText = literalExpression "config.vim.languages.enableExtraDiagnostics";
};
types = diagnostics { types = diagnostics {
langDesc = "Bash"; langDesc = "Bash";
inherit diagnosticsProviders; inherit diagnosticsProviders;

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.types) bool enum package; inherit (lib.types) bool enum package;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
@ -184,13 +184,23 @@ in {
}; };
treesitter = { treesitter = {
enable = mkEnableOption "C/C++ treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "C/C++ treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
cPackage = mkGrammarOption pkgs "c"; cPackage = mkGrammarOption pkgs "c";
cppPackage = mkGrammarOption pkgs "cpp"; cppPackage = mkGrammarOption pkgs "cpp";
}; };
lsp = { lsp = {
enable = mkEnableOption "clang LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "clang LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
description = "The clang LSP server to use"; description = "The clang LSP server to use";
@ -204,6 +214,7 @@ in {
description = "Enable clang Debug Adapter"; description = "Enable clang Debug Adapter";
type = bool; type = bool;
default = config.vim.languages.enableDAP; default = config.vim.languages.enableDAP;
defaultText = literalExpression "config.vim.languages.enableDAP";
}; };
debugger = mkOption { debugger = mkOption {
description = "clang debugger to use"; description = "clang debugger to use";

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.types) enum listOf; inherit (lib.types) enum listOf;
@ -28,12 +28,22 @@ in {
enable = mkEnableOption "Clojure language support"; enable = mkEnableOption "Clojure language support";
treesitter = { treesitter = {
enable = mkEnableOption "Clojure treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Clojure treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "clojure"; package = mkGrammarOption pkgs "clojure";
}; };
lsp = { lsp = {
enable = mkEnableOption "Clojure LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Clojure LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = listOf (enum (attrNames servers)); type = listOf (enum (attrNames servers));
default = defaultServers; default = defaultServers;

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.types) enum listOf package; inherit (lib.types) enum listOf package;
@ -38,12 +38,22 @@ in {
enable = mkEnableOption "CMake language support"; enable = mkEnableOption "CMake language support";
treesitter = { treesitter = {
enable = mkEnableOption "CMake treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "CMake treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "cmake"; package = mkGrammarOption pkgs "cmake";
}; };
lsp = { lsp = {
enable = mkEnableOption "CMake LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "CMake LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = listOf (enum (attrNames servers)); type = listOf (enum (attrNames servers));
default = defaultServers; default = defaultServers;
@ -52,7 +62,12 @@ in {
}; };
format = { format = {
enable = mkEnableOption "CMake formatting" // {default = config.vim.languages.enableFormat;}; enable =
mkEnableOption "CMake formatting"
// {
default = config.vim.languages.enableFormat;
defaultText = literalExpression "config.vim.languages.enableFormat";
};
type = mkOption { type = mkOption {
description = "CMake formatter to use"; description = "CMake formatter to use";

View file

@ -6,7 +6,7 @@
... ...
}: let }: let
inherit (builtins) attrNames concatMap; inherit (builtins) attrNames concatMap;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.types) enum; inherit (lib.types) enum;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
@ -177,12 +177,22 @@ in {
enable = mkEnableOption "C# language support"; enable = mkEnableOption "C# language support";
treesitter = { treesitter = {
enable = mkEnableOption "C# treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "C# treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "c_sharp"; package = mkGrammarOption pkgs "c_sharp";
}; };
lsp = { lsp = {
enable = mkEnableOption "C# LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "C# LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
description = "C# LSP server to use"; description = "C# LSP server to use";
type = deprecatedSingleOrListOf "vim.language.csharp.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.csharp.lsp.servers" (enum (attrNames servers));

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) enum; inherit (lib.types) enum;
@ -49,13 +49,23 @@ in {
enable = mkEnableOption "CSS language support"; enable = mkEnableOption "CSS language support";
treesitter = { treesitter = {
enable = mkEnableOption "CSS treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "CSS treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "css"; package = mkGrammarOption pkgs "css";
}; };
lsp = { lsp = {
enable = mkEnableOption "CSS LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "CSS LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.css.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.css.lsp.servers" (enum (attrNames servers));

View file

@ -4,7 +4,7 @@
lib, lib,
... ...
}: let }: let
inherit (lib.options) mkEnableOption; inherit (lib.options) mkEnableOption literalExpression;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption;
@ -21,13 +21,23 @@ in {
enable = mkEnableOption "CUE language support"; enable = mkEnableOption "CUE language support";
treesitter = { treesitter = {
enable = mkEnableOption "CUE treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "CUE treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "cue"; package = mkGrammarOption pkgs "cue";
}; };
lsp = { lsp = {
enable = mkEnableOption "CUE LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "CUE LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
}; };
}; };

View file

@ -8,7 +8,7 @@
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.trivial) boolToString; inherit (lib.trivial) boolToString;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.types) enum package nullOr str bool; inherit (lib.types) enum package nullOr str bool;
inherit (lib.strings) optionalString; inherit (lib.strings) optionalString;
inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf;
@ -45,12 +45,22 @@ in {
enable = mkEnableOption "Dart language support"; enable = mkEnableOption "Dart language support";
treesitter = { treesitter = {
enable = mkEnableOption "Dart treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Dart treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "dart"; package = mkGrammarOption pkgs "dart";
}; };
lsp = { lsp = {
enable = mkEnableOption "Dart LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Dart LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.dart.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.dart.lsp.servers" (enum (attrNames servers));
default = defaultServers; default = defaultServers;
@ -63,6 +73,7 @@ in {
description = "Enable Dart DAP support via flutter-tools"; description = "Enable Dart DAP support via flutter-tools";
type = bool; type = bool;
default = config.vim.languages.enableDAP; default = config.vim.languages.enableDAP;
defaultText = literalExpression "config.vim.languages.enableDAP";
}; };
}; };
@ -70,6 +81,7 @@ in {
enable = mkOption { enable = mkOption {
type = bool; type = bool;
default = config.vim.lsp.enable; default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
description = "Enable flutter-tools for flutter support"; description = "Enable flutter-tools for flutter support";
}; };

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.types) enum; inherit (lib.types) enum;
@ -51,14 +51,24 @@ in {
enable = mkEnableOption "Elixir language support"; enable = mkEnableOption "Elixir language support";
treesitter = { treesitter = {
enable = mkEnableOption "Elixir treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Elixir treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "elixir"; package = mkGrammarOption pkgs "elixir";
heexPackage = mkGrammarOption pkgs "heex"; heexPackage = mkGrammarOption pkgs "heex";
eexPackage = mkGrammarOption pkgs "eex"; eexPackage = mkGrammarOption pkgs "eex";
}; };
lsp = { lsp = {
enable = mkEnableOption "Elixir LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Elixir LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.elixir.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.elixir.lsp.servers" (enum (attrNames servers));
default = defaultServers; default = defaultServers;

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) enum; inherit (lib.types) enum;
inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf;
@ -33,6 +33,7 @@ in {
mkEnableOption "Elm treesitter" mkEnableOption "Elm treesitter"
// { // {
default = config.vim.languages.enableTreesitter; default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
}; };
package = mkGrammarOption pkgs "elm"; package = mkGrammarOption pkgs "elm";
}; };
@ -42,6 +43,7 @@ in {
mkEnableOption "Elm LSP support" mkEnableOption "Elm LSP support"
// { // {
default = config.vim.lsp.enable; default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
}; };
servers = mkOption { servers = mkOption {

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.types) enum; inherit (lib.types) enum;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
@ -65,12 +65,22 @@ in {
enable = mkEnableOption "F# language support"; enable = mkEnableOption "F# language support";
treesitter = { treesitter = {
enable = mkEnableOption "F# treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "F# treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "fsharp"; package = mkGrammarOption pkgs "fsharp";
}; };
lsp = { lsp = {
enable = mkEnableOption "F# LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "F# LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.fsharp.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.fsharp.lsp.servers" (enum (attrNames servers));
default = defaultServer; default = defaultServer;

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.types) enum; inherit (lib.types) enum;
@ -28,12 +28,22 @@ in {
enable = mkEnableOption "Gleam language support"; enable = mkEnableOption "Gleam language support";
treesitter = { treesitter = {
enable = mkEnableOption "Gleam treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Gleam treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "gleam"; package = mkGrammarOption pkgs "gleam";
}; };
lsp = { lsp = {
enable = mkEnableOption "Gleam LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Gleam LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.gleam.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.gleam.lsp.servers" (enum (attrNames servers));
default = defaultServers; default = defaultServers;

View file

@ -7,7 +7,7 @@
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.types) enum listOf; inherit (lib.types) enum listOf;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
@ -28,12 +28,22 @@ in {
enable = mkEnableOption "GLSL language support"; enable = mkEnableOption "GLSL language support";
treesitter = { treesitter = {
enable = mkEnableOption "GLSL treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "GLSL treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "glsl"; package = mkGrammarOption pkgs "glsl";
}; };
lsp = { lsp = {
enable = mkEnableOption "GLSL LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "GLSL LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = listOf (enum (attrNames servers)); type = listOf (enum (attrNames servers));

View file

@ -6,7 +6,7 @@
}: let }: let
inherit (builtins) isList attrNames; inherit (builtins) isList attrNames;
inherit (lib.types) either package enum listOf str; inherit (lib.types) either package enum listOf str;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.strings) optionalString; inherit (lib.strings) optionalString;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption;
@ -67,12 +67,22 @@ in {
enable = mkEnableOption "Haskell support"; enable = mkEnableOption "Haskell support";
treesitter = { treesitter = {
enable = mkEnableOption "Treesitter support for Haskell" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Treesitter support for Haskell"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "haskell"; package = mkGrammarOption pkgs "haskell";
}; };
lsp = { lsp = {
enable = mkEnableOption "Haskell LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Haskell LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = listOf (enum (attrNames servers)); type = listOf (enum (attrNames servers));
default = defaultServers; default = defaultServers;
@ -81,7 +91,12 @@ in {
}; };
dap = { dap = {
enable = mkEnableOption "DAP support for Haskell" // {default = config.vim.languages.enableDAP;}; enable =
mkEnableOption "DAP support for Haskell"
// {
default = config.vim.languages.enableDAP;
defaultText = literalExpression "config.vim.languages.enableDAP";
};
package = mkOption { package = mkOption {
default = haskellPackages.haskell-debug-adapter; default = haskellPackages.haskell-debug-adapter;
type = either package (listOf str); type = either package (listOf str);

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) bool enum listOf; inherit (lib.types) bool enum listOf;
@ -35,12 +35,22 @@ in {
enable = mkEnableOption "HCL support"; enable = mkEnableOption "HCL support";
treesitter = { treesitter = {
enable = mkEnableOption "HCL treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "HCL treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "hcl"; package = mkGrammarOption pkgs "hcl";
}; };
lsp = { lsp = {
enable = mkEnableOption "HCL LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "HCL LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = listOf (enum (attrNames servers)); type = listOf (enum (attrNames servers));
default = defaultServers; default = defaultServers;
@ -49,10 +59,11 @@ in {
}; };
format = { format = {
enable = mkOption { enable =
type = bool; mkEnableOption "HCL formatting"
// {
default = config.vim.languages.enableFormat; default = config.vim.languages.enableFormat;
description = "Enable HCL formatting"; defaultText = literalExpression "config.vim.languages.enableFormat";
}; };
type = mkOption { type = mkOption {
type = deprecatedSingleOrListOf "vim.language.hcl.format.type" (enum (attrNames formats)); type = deprecatedSingleOrListOf "vim.language.hcl.format.type" (enum (attrNames formats));

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames head; inherit (builtins) attrNames head;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) literalExpression mkEnableOption mkOption;
inherit (lib.modules) mkDefault mkIf mkMerge; inherit (lib.modules) mkDefault mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.types) enum; inherit (lib.types) enum;
@ -44,12 +44,22 @@ in {
enable = mkEnableOption "Helm language support"; enable = mkEnableOption "Helm language support";
treesitter = { treesitter = {
enable = mkEnableOption "Helm treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Helm treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "helm"; package = mkGrammarOption pkgs "helm";
}; };
lsp = { lsp = {
enable = mkEnableOption "Helm LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Helm LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.helm.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.helm.lsp.servers" (enum (attrNames servers));
default = defaultServers; default = defaultServers;

View file

@ -6,7 +6,7 @@
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) literalExpression mkEnableOption mkOption;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) bool enum; inherit (lib.types) bool enum;
inherit (lib.lists) optional; inherit (lib.lists) optional;
@ -48,7 +48,12 @@ in {
options.vim.languages.html = { options.vim.languages.html = {
enable = mkEnableOption "HTML language support"; enable = mkEnableOption "HTML language support";
treesitter = { treesitter = {
enable = mkEnableOption "HTML treesitter support" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "HTML treesitter support"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "html"; package = mkGrammarOption pkgs "html";
autotagHtml = mkOption { autotagHtml = mkOption {
type = bool; type = bool;
@ -58,7 +63,12 @@ in {
}; };
lsp = { lsp = {
enable = mkEnableOption "HTML LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "HTML LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.html.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.html.lsp.servers" (enum (attrNames servers));
default = defaultServers; default = defaultServers;
@ -67,7 +77,12 @@ in {
}; };
format = { format = {
enable = mkEnableOption "HTML formatting" // {default = config.vim.languages.enableFormat;}; enable =
mkEnableOption "HTML formatting"
// {
default = config.vim.languages.enableFormat;
defaultText = literalExpression "config.vim.languages.enableFormat";
};
type = mkOption { type = mkOption {
type = deprecatedSingleOrListOf "vim.language.html.format.type" (enum (attrNames formats)); type = deprecatedSingleOrListOf "vim.language.html.format.type" (enum (attrNames formats));
@ -77,7 +92,12 @@ in {
}; };
extraDiagnostics = { extraDiagnostics = {
enable = mkEnableOption "extra HTML diagnostics" // {default = config.vim.languages.enableExtraDiagnostics;}; enable =
mkEnableOption "extra HTML diagnostics"
// {
default = config.vim.languages.enableExtraDiagnostics;
defaultText = literalExpression "config.vim.languages.enableExtraDiagnostics";
};
types = diagnostics { types = diagnostics {
langDesc = "HTML"; langDesc = "HTML";

View file

@ -4,7 +4,7 @@
lib, lib,
... ...
}: let }: let
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) literalExpression mkEnableOption mkOption;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (builtins) attrNames; inherit (builtins) attrNames;
@ -65,12 +65,22 @@ in {
enable = mkEnableOption "Java language support"; enable = mkEnableOption "Java language support";
treesitter = { treesitter = {
enable = mkEnableOption "Java treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Java treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "java"; package = mkGrammarOption pkgs "java";
}; };
lsp = { lsp = {
enable = mkEnableOption "Java LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Java LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = listOf (enum (attrNames servers)); type = listOf (enum (attrNames servers));
default = defaultServers; default = defaultServers;

View file

@ -7,7 +7,7 @@
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) literalExpression mkEnableOption mkOption;
inherit (lib.types) enum listOf; inherit (lib.types) enum listOf;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
@ -29,13 +29,23 @@ in {
enable = mkEnableOption "Jinja template language support"; enable = mkEnableOption "Jinja template language support";
treesitter = { treesitter = {
enable = mkEnableOption "Jinja treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Jinja treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "jinja"; package = mkGrammarOption pkgs "jinja";
inlinePackage = mkGrammarOption pkgs "jinja_inline"; inlinePackage = mkGrammarOption pkgs "jinja_inline";
}; };
lsp = { lsp = {
enable = mkEnableOption "Jinja LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Jinja LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
description = "Jinja LSP server to use"; description = "Jinja LSP server to use";
type = listOf (enum (attrNames servers)); type = listOf (enum (attrNames servers));

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkOption mkEnableOption; inherit (lib.options) mkOption mkEnableOption literalExpression;
inherit (lib.meta) getExe' getExe; inherit (lib.meta) getExe' getExe;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) enum; inherit (lib.types) enum;
@ -37,14 +37,24 @@ in {
enable = mkEnableOption "JSON language support"; enable = mkEnableOption "JSON language support";
treesitter = { treesitter = {
enable = mkEnableOption "JSON treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "JSON treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
jsonPackage = mkGrammarOption pkgs "json"; jsonPackage = mkGrammarOption pkgs "json";
json5Package = mkGrammarOption pkgs "json5"; json5Package = mkGrammarOption pkgs "json5";
}; };
lsp = { lsp = {
enable = mkEnableOption "JSON LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "JSON LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.json.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.json.lsp.servers" (enum (attrNames servers));
@ -54,7 +64,12 @@ in {
}; };
format = { format = {
enable = mkEnableOption "JSON formatting" // {default = config.vim.languages.enableFormat;}; enable =
mkEnableOption "JSON formatting"
// {
default = config.vim.languages.enableFormat;
defaultText = literalExpression "config.vim.languages.enableFormat";
};
type = mkOption { type = mkOption {
description = "JSON formatter to use"; description = "JSON formatter to use";

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) literalExpression mkEnableOption mkOption;
inherit (lib.types) enum; inherit (lib.types) enum;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
@ -90,12 +90,22 @@ in {
enable = mkEnableOption "Julia language support"; enable = mkEnableOption "Julia language support";
treesitter = { treesitter = {
enable = mkEnableOption "Julia treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Julia treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "julia"; package = mkGrammarOption pkgs "julia";
}; };
lsp = { lsp = {
enable = mkEnableOption "Julia LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Julia LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.julia.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.julia.lsp.servers" (enum (attrNames servers));
default = defaultServers; default = defaultServers;

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) literalExpression mkEnableOption mkOption;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.types) enum listOf; inherit (lib.types) enum listOf;
@ -29,13 +29,21 @@ in {
treesitter = { treesitter = {
enable = enable =
mkEnableOption "Just treesitter" // {default = config.vim.languages.enableTreesitter;}; mkEnableOption "Just treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "just"; package = mkGrammarOption pkgs "just";
}; };
lsp = { lsp = {
enable = enable =
mkEnableOption "Just LSP support" // {default = config.vim.lsp.enable;}; mkEnableOption "Just LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = listOf (enum (attrNames servers)); type = listOf (enum (attrNames servers));
default = defaultServers; default = defaultServers;

View file

@ -4,7 +4,7 @@
lib, lib,
... ...
}: let }: let
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) literalExpression mkEnableOption mkOption;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe' getExe; inherit (lib.meta) getExe' getExe;
inherit (builtins) attrNames; inherit (builtins) attrNames;
@ -56,12 +56,22 @@ in {
enable = mkEnableOption "Kotlin/HCL support"; enable = mkEnableOption "Kotlin/HCL support";
treesitter = { treesitter = {
enable = mkEnableOption "Kotlin treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Kotlin treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "kotlin"; package = mkGrammarOption pkgs "kotlin";
}; };
lsp = { lsp = {
enable = mkEnableOption "Kotlin LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Kotlin LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = listOf (enum (attrNames servers)); type = listOf (enum (attrNames servers));
default = defaultServers; default = defaultServers;
@ -70,7 +80,12 @@ in {
}; };
extraDiagnostics = { extraDiagnostics = {
enable = mkEnableOption "extra Kotlin diagnostics" // {default = config.vim.languages.enableExtraDiagnostics;}; enable =
mkEnableOption "extra Kotlin diagnostics"
// {
default = config.vim.languages.enableExtraDiagnostics;
defaultText = literalExpression "config.vim.languages.enableExtraDiagnostics";
};
types = diagnostics { types = diagnostics {
langDesc = "Kotlin"; langDesc = "Kotlin";

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) literalExpression mkEnableOption mkOption;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.types) bool enum listOf; inherit (lib.types) bool enum listOf;
@ -60,12 +60,22 @@ in {
options.vim.languages.lua = { options.vim.languages.lua = {
enable = mkEnableOption "Lua language support"; enable = mkEnableOption "Lua language support";
treesitter = { treesitter = {
enable = mkEnableOption "Lua Treesitter support" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Lua Treesitter support"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "lua"; package = mkGrammarOption pkgs "lua";
}; };
lsp = { lsp = {
enable = mkEnableOption "Lua LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Lua LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = listOf (enum (attrNames servers)); type = listOf (enum (attrNames servers));
default = defaultServers; default = defaultServers;
@ -79,6 +89,7 @@ in {
enable = mkOption { enable = mkOption {
type = bool; type = bool;
default = config.vim.languages.enableFormat; default = config.vim.languages.enableFormat;
defaultText = literalExpression "config.vim.languages.enableFormat";
description = "Enable Lua formatting"; description = "Enable Lua formatting";
}; };
type = mkOption { type = mkOption {
@ -89,7 +100,12 @@ in {
}; };
extraDiagnostics = { extraDiagnostics = {
enable = mkEnableOption "extra Lua diagnostics" // {default = config.vim.languages.enableExtraDiagnostics;}; enable =
mkEnableOption "extra Lua diagnostics"
// {
default = config.vim.languages.enableExtraDiagnostics;
defaultText = literalExpression "config.vim.languages.enableExtraDiagnostics";
};
types = diagnostics { types = diagnostics {
langDesc = "Lua"; langDesc = "Lua";
inherit diagnosticsProviders; inherit diagnosticsProviders;

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) literalExpression mkEnableOption mkOption;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.types) listOf enum; inherit (lib.types) listOf enum;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
@ -34,12 +34,22 @@ in {
enable = mkEnableOption "Make support"; enable = mkEnableOption "Make support";
treesitter = { treesitter = {
enable = mkEnableOption "Make treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Make treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "make"; package = mkGrammarOption pkgs "make";
}; };
format = { format = {
enable = mkEnableOption "Make formatting" // {default = config.vim.languages.enableFormat;}; enable =
mkEnableOption "Make formatting"
// {
default = config.vim.languages.enableFormat;
defaultText = literalExpression "config.vim.languages.enableFormat";
};
type = mkOption { type = mkOption {
description = "make formatter to use"; description = "make formatter to use";
type = listOf (enum (attrNames formats)); type = listOf (enum (attrNames formats));
@ -48,7 +58,12 @@ in {
}; };
extraDiagnostics = { extraDiagnostics = {
enable = mkEnableOption "extra Make diagnostics" // {default = config.vim.languages.enableExtraDiagnostics;}; enable =
mkEnableOption "extra Make diagnostics"
// {
default = config.vim.languages.enableExtraDiagnostics;
defaultText = literalExpression "config.vim.languages.enableExtraDiagnostics";
};
types = diagnostics { types = diagnostics {
langDesc = "Make"; langDesc = "Make";
inherit diagnosticsProviders; inherit diagnosticsProviders;

View file

@ -7,7 +7,7 @@
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.meta) getExe getExe'; inherit (lib.meta) getExe getExe';
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) literalExpression mkEnableOption mkOption;
inherit (lib.types) bool enum listOf str nullOr; inherit (lib.types) bool enum listOf str nullOr;
inherit (lib.nvim.lua) toLuaObject; inherit (lib.nvim.lua) toLuaObject;
inherit (lib.nvim.types) diagnostics mkGrammarOption mkPluginSetupOption deprecatedSingleOrListOf; inherit (lib.nvim.types) diagnostics mkGrammarOption mkPluginSetupOption deprecatedSingleOrListOf;
@ -82,6 +82,7 @@ in {
enable = mkOption { enable = mkOption {
type = bool; type = bool;
default = config.vim.languages.enableTreesitter; default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
description = "Enable Markdown treesitter"; description = "Enable Markdown treesitter";
}; };
mdPackage = mkGrammarOption pkgs "markdown"; mdPackage = mkGrammarOption pkgs "markdown";
@ -89,7 +90,12 @@ in {
}; };
lsp = { lsp = {
enable = mkEnableOption "Markdown LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Markdown LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
description = "Markdown LSP server to use"; description = "Markdown LSP server to use";
@ -99,7 +105,12 @@ in {
}; };
format = { format = {
enable = mkEnableOption "Markdown formatting" // {default = config.vim.languages.enableFormat;}; enable =
mkEnableOption "Markdown formatting"
// {
default = config.vim.languages.enableFormat;
defaultText = literalExpression "config.vim.languages.enableFormat";
};
type = mkOption { type = mkOption {
type = deprecatedSingleOrListOf "vim.language.markdown.format.type" (enum (attrNames formats)); type = deprecatedSingleOrListOf "vim.language.markdown.format.type" (enum (attrNames formats));
@ -154,7 +165,12 @@ in {
}; };
extraDiagnostics = { extraDiagnostics = {
enable = mkEnableOption "extra Markdown diagnostics" // {default = config.vim.languages.enableExtraDiagnostics;}; enable =
mkEnableOption "extra Markdown diagnostics"
// {
default = config.vim.languages.enableExtraDiagnostics;
defaultText = literalExpression "config.vim.languages.enableExtraDiagnostics";
};
types = diagnostics { types = diagnostics {
langDesc = "Markdown"; langDesc = "Markdown";
inherit diagnosticsProviders; inherit diagnosticsProviders;

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.meta) getExe'; inherit (lib.meta) getExe';
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) enum; inherit (lib.types) enum;
@ -48,12 +48,22 @@ in {
enable = mkEnableOption "Nim language support"; enable = mkEnableOption "Nim language support";
treesitter = { treesitter = {
enable = mkEnableOption "Nim treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Nim treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "nim"; package = mkGrammarOption pkgs "nim";
}; };
lsp = { lsp = {
enable = mkEnableOption "Nim LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Nim LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.nim.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.nim.lsp.servers" (enum (attrNames servers));
@ -63,7 +73,12 @@ in {
}; };
format = { format = {
enable = mkEnableOption "Nim formatting" // {default = config.vim.languages.enableFormat;}; enable =
mkEnableOption "Nim formatting"
// {
default = config.vim.languages.enableFormat;
defaultText = literalExpression "config.vim.languages.enableFormat";
};
type = mkOption { type = mkOption {
type = deprecatedSingleOrListOf "vim.language.nim.format.type" (enum (attrNames formats)); type = deprecatedSingleOrListOf "vim.language.nim.format.type" (enum (attrNames formats));
default = defaultFormat; default = defaultFormat;

View file

@ -7,7 +7,7 @@
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib) concatStringsSep; inherit (lib) concatStringsSep;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) enum; inherit (lib.types) enum;
inherit (lib.nvim.types) mkGrammarOption diagnostics deprecatedSingleOrListOf; inherit (lib.nvim.types) mkGrammarOption diagnostics deprecatedSingleOrListOf;
@ -74,12 +74,22 @@ in {
enable = mkEnableOption "Nix language support"; enable = mkEnableOption "Nix language support";
treesitter = { treesitter = {
enable = mkEnableOption "Nix treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Nix treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "nix"; package = mkGrammarOption pkgs "nix";
}; };
lsp = { lsp = {
enable = mkEnableOption "Nix LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Nix LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.nix.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.nix.lsp.servers" (enum (attrNames servers));
default = defaultServers; default = defaultServers;
@ -88,7 +98,12 @@ in {
}; };
format = { format = {
enable = mkEnableOption "Nix formatting" // {default = config.vim.languages.enableFormat;}; enable =
mkEnableOption "Nix formatting"
// {
default = config.vim.languages.enableFormat;
defaultText = literalExpression "config.vim.languages.enableFormat";
};
type = mkOption { type = mkOption {
description = "Nix formatter to use"; description = "Nix formatter to use";
@ -98,7 +113,12 @@ in {
}; };
extraDiagnostics = { extraDiagnostics = {
enable = mkEnableOption "extra Nix diagnostics" // {default = config.vim.languages.enableExtraDiagnostics;}; enable =
mkEnableOption "extra Nix diagnostics"
// {
default = config.vim.languages.enableExtraDiagnostics;
defaultText = literalExpression "config.vim.languages.enableExtraDiagnostics";
};
types = diagnostics { types = diagnostics {
langDesc = "Nix"; langDesc = "Nix";

View file

@ -4,7 +4,7 @@
config, config,
... ...
}: let }: let
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.types) enum; inherit (lib.types) enum;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf;
@ -38,12 +38,22 @@ in {
enable = mkEnableOption "Nu language support"; enable = mkEnableOption "Nu language support";
treesitter = { treesitter = {
enable = mkEnableOption "Nu treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Nu treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "nu"; package = mkGrammarOption pkgs "nu";
}; };
lsp = { lsp = {
enable = mkEnableOption "Nu LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Nu LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.nu.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.nu.lsp.servers" (enum (attrNames servers));

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.types) enum; inherit (lib.types) enum;
@ -66,12 +66,22 @@ in {
enable = mkEnableOption "OCaml language support"; enable = mkEnableOption "OCaml language support";
treesitter = { treesitter = {
enable = mkEnableOption "OCaml treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "OCaml treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "ocaml"; package = mkGrammarOption pkgs "ocaml";
}; };
lsp = { lsp = {
enable = mkEnableOption "OCaml LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "OCaml LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.ocaml.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.ocaml.lsp.servers" (enum (attrNames servers));

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) enum package; inherit (lib.types) enum package;
inherit (lib.nvim.dag) entryAfter; inherit (lib.nvim.dag) entryAfter;
@ -53,12 +53,22 @@ in {
enable = mkEnableOption "Odin language support"; enable = mkEnableOption "Odin language support";
treesitter = { treesitter = {
enable = mkEnableOption "Odin treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Odin treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "odin"; package = mkGrammarOption pkgs "odin";
}; };
lsp = { lsp = {
enable = mkEnableOption "Odin LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Odin LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.odin.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.odin.lsp.servers" (enum (attrNames servers));
@ -68,7 +78,12 @@ in {
}; };
dap = { dap = {
enable = mkEnableOption "Enable Odin Debug Adapter" // {default = config.vim.languages.enableDAP;}; enable =
mkEnableOption "Enable Odin Debug Adapter"
// {
default = config.vim.languages.enableDAP;
defaultText = literalExpression "config.vim.languages.enableDAP";
};
debugger = mkOption { debugger = mkOption {
description = "Odin debugger to use"; description = "Odin debugger to use";

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames toString; inherit (builtins) attrNames toString;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) enum int attrs listOf; inherit (lib.types) enum int attrs listOf;
@ -85,12 +85,22 @@ in {
enable = mkEnableOption "PHP language support"; enable = mkEnableOption "PHP language support";
treesitter = { treesitter = {
enable = mkEnableOption "PHP treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "PHP treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "php"; package = mkGrammarOption pkgs "php";
}; };
lsp = { lsp = {
enable = mkEnableOption "PHP LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "PHP LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.php.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.php.lsp.servers" (enum (attrNames servers));
@ -100,7 +110,12 @@ in {
}; };
format = { format = {
enable = mkEnableOption "PHP formatting" // {default = config.vim.languages.enableFormat;}; enable =
mkEnableOption "PHP formatting"
// {
default = config.vim.languages.enableFormat;
defaultText = literalExpression "config.vim.languages.enableFormat";
};
type = mkOption { type = mkOption {
description = "PHP formatter to use"; description = "PHP formatter to use";
@ -110,7 +125,12 @@ in {
}; };
dap = { dap = {
enable = mkEnableOption "Enable PHP Debug Adapter" // {default = config.vim.languages.enableDAP;}; enable =
mkEnableOption "Enable PHP Debug Adapter"
// {
default = config.vim.languages.enableDAP;
defaultText = literalExpression "config.vim.languages.enableDAP";
};
xdebug = { xdebug = {
adapter = mkOption { adapter = mkOption {
type = attrs; type = attrs;

View file

@ -291,7 +291,12 @@ in {
enable = mkEnableOption "Python language support"; enable = mkEnableOption "Python language support";
treesitter = { treesitter = {
enable = mkEnableOption "Python treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Python treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkOption { package = mkOption {
description = "Python treesitter grammar to use"; description = "Python treesitter grammar to use";
type = package; type = package;
@ -300,7 +305,12 @@ in {
}; };
lsp = { lsp = {
enable = mkEnableOption "Python LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Python LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.python.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.python.lsp.servers" (enum (attrNames servers));
@ -310,7 +320,12 @@ in {
}; };
format = { format = {
enable = mkEnableOption "Python formatting" // {default = config.vim.languages.enableFormat;}; enable =
mkEnableOption "Python formatting"
// {
default = config.vim.languages.enableFormat;
defaultText = literalExpression "config.vim.languages.enableFormat";
};
type = mkOption { type = mkOption {
type = deprecatedSingleOrListOf "vim.language.python.format.type" (enum (attrNames formats)); type = deprecatedSingleOrListOf "vim.language.python.format.type" (enum (attrNames formats));
@ -324,6 +339,7 @@ in {
enable = mkOption { enable = mkOption {
type = bool; type = bool;
default = config.vim.languages.enableDAP; default = config.vim.languages.enableDAP;
defaultText = literalExpression "config.vim.languages.enableDAP";
description = "Enable Python Debug Adapter"; description = "Enable Python Debug Adapter";
}; };
@ -345,7 +361,12 @@ in {
}; };
extraDiagnostics = { extraDiagnostics = {
enable = mkEnableOption "extra Python diagnostics" // {default = config.vim.languages.enableExtraDiagnostics;}; enable =
mkEnableOption "extra Python diagnostics"
// {
default = config.vim.languages.enableExtraDiagnostics;
defaultText = literalExpression "config.vim.languages.enableExtraDiagnostics";
};
types = diagnostics { types = diagnostics {
langDesc = "Python"; langDesc = "Python";
inherit diagnosticsProviders; inherit diagnosticsProviders;

View file

@ -6,7 +6,7 @@
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.meta) getExe'; inherit (lib.meta) getExe';
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) enum; inherit (lib.types) enum;
inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf;
@ -37,12 +37,22 @@ in {
options.vim.languages.qml = { options.vim.languages.qml = {
enable = mkEnableOption "QML language support"; enable = mkEnableOption "QML language support";
treesitter = { treesitter = {
enable = mkEnableOption "QML treesitter support" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "QML treesitter support"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "qmljs"; package = mkGrammarOption pkgs "qmljs";
}; };
lsp = { lsp = {
enable = mkEnableOption "QML LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "QML LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.qml.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.qml.lsp.servers" (enum (attrNames servers));
default = defaultServers; default = defaultServers;
@ -51,7 +61,12 @@ in {
}; };
format = { format = {
enable = mkEnableOption "QML formatting" // {default = config.vim.languages.enableFormat;}; enable =
mkEnableOption "QML formatting"
// {
default = config.vim.languages.enableFormat;
defaultText = literalExpression "config.vim.languages.enableFormat";
};
type = mkOption { type = mkOption {
type = deprecatedSingleOrListOf "vim.language.qml.format.type" (enum (attrNames formats)); type = deprecatedSingleOrListOf "vim.language.qml.format.type" (enum (attrNames formats));

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) enum; inherit (lib.types) enum;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
@ -65,12 +65,22 @@ in {
enable = mkEnableOption "R language support"; enable = mkEnableOption "R language support";
treesitter = { treesitter = {
enable = mkEnableOption "R treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "R treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "r"; package = mkGrammarOption pkgs "r";
}; };
lsp = { lsp = {
enable = mkEnableOption "R LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "R LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.r.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.r.lsp.servers" (enum (attrNames servers));
@ -80,7 +90,12 @@ in {
}; };
format = { format = {
enable = mkEnableOption "R formatting" // {default = config.vim.languages.enableFormat;}; enable =
mkEnableOption "R formatting"
// {
default = config.vim.languages.enableFormat;
defaultText = literalExpression "config.vim.languages.enableFormat";
};
type = mkOption { type = mkOption {
type = deprecatedSingleOrListOf "vim.language.r.format.type" (enum (attrNames formats)); type = deprecatedSingleOrListOf "vim.language.r.format.type" (enum (attrNames formats));

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.nvim.types) mkGrammarOption diagnostics deprecatedSingleOrListOf; inherit (lib.nvim.types) mkGrammarOption diagnostics deprecatedSingleOrListOf;
@ -67,12 +67,22 @@ in {
enable = mkEnableOption "Ruby language support"; enable = mkEnableOption "Ruby language support";
treesitter = { treesitter = {
enable = mkEnableOption "Ruby treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Ruby treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "ruby"; package = mkGrammarOption pkgs "ruby";
}; };
lsp = { lsp = {
enable = mkEnableOption "Ruby LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Ruby LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.ruby.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.ruby.lsp.servers" (enum (attrNames servers));

View file

@ -6,7 +6,7 @@
}: let }: let
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.options) mkOption mkEnableOption literalMD; inherit (lib.options) mkOption mkEnableOption literalMD literalExpression;
inherit (lib.strings) optionalString; inherit (lib.strings) optionalString;
inherit (lib.lists) isList; inherit (lib.lists) isList;
inherit (lib.attrsets) attrNames; inherit (lib.attrsets) attrNames;
@ -29,12 +29,22 @@ in {
enable = mkEnableOption "Rust language support"; enable = mkEnableOption "Rust language support";
treesitter = { treesitter = {
enable = mkEnableOption "Rust treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Rust treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "rust"; package = mkGrammarOption pkgs "rust";
}; };
lsp = { lsp = {
enable = mkEnableOption "Rust LSP support (rust-analyzer with extra tools)" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Rust LSP support (rust-analyzer with extra tools)"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
package = mkOption { package = mkOption {
description = "rust-analyzer package, or the command to run as a list of strings"; description = "rust-analyzer package, or the command to run as a list of strings";
example = ''[lib.getExe pkgs.jdt-language-server "-data" "~/.cache/jdtls/workspace"]''; example = ''[lib.getExe pkgs.jdt-language-server "-data" "~/.cache/jdtls/workspace"]'';
@ -80,6 +90,7 @@ in {
description = "Rust Debug Adapter support"; description = "Rust Debug Adapter support";
type = bool; type = bool;
default = config.vim.languages.enableDAP; default = config.vim.languages.enableDAP;
defaultText = literalExpression "config.vim.languages.enableDAP";
}; };
package = mkOption { package = mkOption {
@ -108,14 +119,39 @@ in {
setupOpts = mkPluginSetupOption "crates-nvim" { setupOpts = mkPluginSetupOption "crates-nvim" {
lsp = { lsp = {
enabled = mkEnableOption "crates.nvim's in-process language server" // {default = cfg.extensions.crates-nvim.enable;}; enabled =
actions = mkEnableOption "actions for crates-nvim's in-process language server" // {default = cfg.extensions.crates-nvim.enable;}; mkEnableOption "crates.nvim's in-process language server"
completion = mkEnableOption "completion for crates-nvim's in-process language server" // {default = cfg.extensions.crates-nvim.enable;}; // {
hover = mkEnableOption "hover actions for crates-nvim's in-process language server" // {default = cfg.extensions.crates-nvim.enable;}; default = cfg.extensions.crates-nvim.enable;
defaultText = literalExpression "config.vim.languages.rust.extensions.crates-nvim.enable";
};
actions =
mkEnableOption "actions for crates-nvim's in-process language server"
// {
default = cfg.extensions.crates-nvim.enable;
defaultText = literalExpression "config.vim.languages.rust.extensions.crates-nvim.enable";
};
completion =
mkEnableOption "completion for crates-nvim's in-process language server"
// {
default = cfg.extensions.crates-nvim.enable;
defaultText = literalExpression "config.vim.languages.rust.extensions.crates-nvim.enable";
};
hover =
mkEnableOption "hover actions for crates-nvim's in-process language server"
// {
default = cfg.extensions.crates-nvim.enable;
defaultText = literalExpression "config.vim.languages.rust.extensions.crates-nvim.enable";
};
}; };
completion = { completion = {
crates = { crates = {
enabled = mkEnableOption "completion for crates-nvim's in-process language server" // {default = cfg.extensions.crates-nvim.enable;}; enabled =
mkEnableOption "completion for crates-nvim's in-process language server"
// {
default = cfg.extensions.crates-nvim.enable;
defaultText = literalExpression "config.vim.languages.rust.extensions.crates-nvim.enable";
};
max_results = mkOption { max_results = mkOption {
description = "The maximum number of search results to display"; description = "The maximum number of search results to display";
type = int; type = int;

View file

@ -10,7 +10,7 @@
inherit (lib.nvim.dag) entryAfter; inherit (lib.nvim.dag) entryAfter;
inherit (lib.nvim.lua) toLuaObject; inherit (lib.nvim.lua) toLuaObject;
inherit (lib.nvim.types) mkGrammarOption luaInline; inherit (lib.nvim.types) mkGrammarOption luaInline;
inherit (lib.options) mkOption mkEnableOption mkPackageOption; inherit (lib.options) mkOption mkEnableOption mkPackageOption literalExpression;
inherit (lib.strings) optionalString; inherit (lib.strings) optionalString;
inherit (lib.types) attrsOf anything bool; inherit (lib.types) attrsOf anything bool;
@ -28,12 +28,22 @@ in {
enable = mkEnableOption "Scala language support"; enable = mkEnableOption "Scala language support";
treesitter = { treesitter = {
enable = mkEnableOption "Scala treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Scala treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "scala"; package = mkGrammarOption pkgs "scala";
}; };
lsp = { lsp = {
enable = mkEnableOption "Scala LSP support (metals)" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Scala LSP support (metals)"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
package = mkPackageOption pkgs "metals" { package = mkPackageOption pkgs "metals" {
default = ["metals"]; default = ["metals"];
}; };

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) enum package str; inherit (lib.types) enum package str;
@ -74,7 +74,12 @@ in {
}; };
treesitter = { treesitter = {
enable = mkEnableOption "SQL treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "SQL treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkOption { package = mkOption {
type = package; type = package;
@ -84,7 +89,12 @@ in {
}; };
lsp = { lsp = {
enable = mkEnableOption "SQL LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "SQL LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.sql.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.sql.lsp.servers" (enum (attrNames servers));
@ -94,7 +104,12 @@ in {
}; };
format = { format = {
enable = mkEnableOption "SQL formatting" // {default = config.vim.languages.enableFormat;}; enable =
mkEnableOption "SQL formatting"
// {
default = config.vim.languages.enableFormat;
defaultText = literalExpression "config.vim.languages.enableFormat";
};
type = mkOption { type = mkOption {
type = deprecatedSingleOrListOf "vim.language.sql.format.type" (enum (attrNames formats)); type = deprecatedSingleOrListOf "vim.language.sql.format.type" (enum (attrNames formats));
@ -104,7 +119,12 @@ in {
}; };
extraDiagnostics = { extraDiagnostics = {
enable = mkEnableOption "extra SQL diagnostics" // {default = config.vim.languages.enableExtraDiagnostics;}; enable =
mkEnableOption "extra SQL diagnostics"
// {
default = config.vim.languages.enableExtraDiagnostics;
defaultText = literalExpression "config.vim.languages.enableExtraDiagnostics";
};
types = diagnostics { types = diagnostics {
langDesc = "SQL"; langDesc = "SQL";

View file

@ -6,7 +6,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.types) enum package coercedTo; inherit (lib.types) enum package coercedTo;
@ -104,13 +104,23 @@ in {
enable = mkEnableOption "Svelte language support"; enable = mkEnableOption "Svelte language support";
treesitter = { treesitter = {
enable = mkEnableOption "Svelte treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Svelte treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
sveltePackage = mkGrammarOption pkgs "svelte"; sveltePackage = mkGrammarOption pkgs "svelte";
}; };
lsp = { lsp = {
enable = mkEnableOption "Svelte LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Svelte LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.svelte.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.svelte.lsp.servers" (enum (attrNames servers));

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.types) enum; inherit (lib.types) enum;
@ -151,7 +151,12 @@ in {
enable = mkEnableOption "Tailwindcss language support"; enable = mkEnableOption "Tailwindcss language support";
lsp = { lsp = {
enable = mkEnableOption "Tailwindcss LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Tailwindcss LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.tailwind.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.tailwind.lsp.servers" (enum (attrNames servers));

View file

@ -4,7 +4,7 @@
lib, lib,
... ...
}: let }: let
inherit (lib.options) mkEnableOption; inherit (lib.options) mkEnableOption literalExpression;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption;
@ -14,7 +14,12 @@ in {
enable = mkEnableOption "Tera templating language support"; enable = mkEnableOption "Tera templating language support";
treesitter = { treesitter = {
enable = mkEnableOption "Tera treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Tera treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "tera"; package = mkGrammarOption pkgs "tera";
}; };
}; };

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.types) enum listOf; inherit (lib.types) enum listOf;
@ -28,12 +28,22 @@ in {
enable = mkEnableOption "Terraform/HCL support"; enable = mkEnableOption "Terraform/HCL support";
treesitter = { treesitter = {
enable = mkEnableOption "Terraform treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Terraform treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "terraform"; package = mkGrammarOption pkgs "terraform";
}; };
lsp = { lsp = {
enable = mkEnableOption "Terraform LSP support (terraform-ls)" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Terraform LSP support (terraform-ls)"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = listOf (enum (attrNames servers)); type = listOf (enum (attrNames servers));

View file

@ -7,7 +7,7 @@
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.types) enum; inherit (lib.types) enum;
inherit (lib.nvim.types) diagnostics mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.types) diagnostics mkGrammarOption deprecatedSingleOrListOf;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
@ -78,6 +78,7 @@ in {
mkEnableOption "TOML treesitter" mkEnableOption "TOML treesitter"
// { // {
default = config.vim.languages.enableTreesitter; default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
}; };
package = mkGrammarOption pkgs "toml"; package = mkGrammarOption pkgs "toml";
}; };
@ -87,6 +88,7 @@ in {
mkEnableOption "TOML LSP support" mkEnableOption "TOML LSP support"
// { // {
default = config.vim.lsp.enable; default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
}; };
servers = mkOption { servers = mkOption {
@ -101,6 +103,7 @@ in {
mkEnableOption "TOML formatting" mkEnableOption "TOML formatting"
// { // {
default = config.vim.languages.enableFormat; default = config.vim.languages.enableFormat;
defaultText = literalExpression "config.vim.languages.enableFormat";
}; };
type = mkOption { type = mkOption {
@ -115,6 +118,7 @@ in {
mkEnableOption "extra TOML diagnostics" mkEnableOption "extra TOML diagnostics"
// { // {
default = config.vim.languages.enableExtraDiagnostics; default = config.vim.languages.enableExtraDiagnostics;
defaultText = literalExpression "config.vim.languages.enableExtraDiagnostics";
}; };
types = diagnostics { types = diagnostics {
langDesc = "TOML"; langDesc = "TOML";

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames elem; inherit (builtins) attrNames elem;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.types) enum package bool; inherit (lib.types) enum package bool;
@ -215,14 +215,24 @@ in {
enable = mkEnableOption "Typescript/Javascript language support"; enable = mkEnableOption "Typescript/Javascript language support";
treesitter = { treesitter = {
enable = mkEnableOption "Typescript/Javascript treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Typescript/Javascript treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
tsPackage = mkGrammarOption pkgs "typescript"; tsPackage = mkGrammarOption pkgs "typescript";
tsxPackage = mkGrammarOption pkgs "tsx"; tsxPackage = mkGrammarOption pkgs "tsx";
jsPackage = mkGrammarOption pkgs "javascript"; jsPackage = mkGrammarOption pkgs "javascript";
}; };
lsp = { lsp = {
enable = mkEnableOption "Typescript/Javascript LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Typescript/Javascript LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.ts.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.ts.lsp.servers" (enum (attrNames servers));
@ -232,7 +242,12 @@ in {
}; };
format = { format = {
enable = mkEnableOption "Typescript/Javascript formatting" // {default = config.vim.languages.enableFormat;}; enable =
mkEnableOption "Typescript/Javascript formatting"
// {
default = config.vim.languages.enableFormat;
defaultText = literalExpression "config.vim.languages.enableFormat";
};
type = mkOption { type = mkOption {
description = "Typescript/Javascript formatter to use"; description = "Typescript/Javascript formatter to use";

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.types) listOf enum; inherit (lib.types) listOf enum;
@ -45,12 +45,22 @@ in {
enable = mkEnableOption "Twig templating language support"; enable = mkEnableOption "Twig templating language support";
treesitter = { treesitter = {
enable = mkEnableOption "Twig treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Twig treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "twig"; package = mkGrammarOption pkgs "twig";
}; };
lsp = { lsp = {
enable = mkEnableOption "Twig LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Twig LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = listOf (enum (attrNames servers)); type = listOf (enum (attrNames servers));
default = defaultServers; default = defaultServers;
@ -59,7 +69,12 @@ in {
}; };
format = { format = {
enable = mkEnableOption "PHP formatting" // {default = config.vim.languages.enableFormat;}; enable =
mkEnableOption "PHP formatting"
// {
default = config.vim.languages.enableFormat;
defaultText = literalExpression "config.vim.languages.enableFormat";
};
type = mkOption { type = mkOption {
description = "Twig formatter to use"; description = "Twig formatter to use";
type = listOf (enum (attrNames formats)); type = listOf (enum (attrNames formats));
@ -68,7 +83,12 @@ in {
}; };
extraDiagnostics = { extraDiagnostics = {
enable = mkEnableOption "extra Twig diagnostics" // {default = config.vim.languages.enableExtraDiagnostics;}; enable =
mkEnableOption "extra Twig diagnostics"
// {
default = config.vim.languages.enableExtraDiagnostics;
defaultText = literalExpression "config.vim.languages.enableExtraDiagnostics";
};
types = diagnostics { types = diagnostics {
langDesc = "Twig"; langDesc = "Twig";
inherit diagnosticsProviders; inherit diagnosticsProviders;

View file

@ -4,7 +4,7 @@
lib, lib,
... ...
}: let }: let
inherit (lib.options) mkOption mkEnableOption; inherit (lib.options) mkOption mkEnableOption literalExpression;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) nullOr enum attrsOf listOf package str bool int; inherit (lib.types) nullOr enum attrsOf listOf package str bool int;
inherit (lib.attrsets) attrNames; inherit (lib.attrsets) attrNames;
@ -104,12 +104,22 @@ in {
enable = mkEnableOption "Typst language support"; enable = mkEnableOption "Typst language support";
treesitter = { treesitter = {
enable = mkEnableOption "Typst treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Typst treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "typst"; package = mkGrammarOption pkgs "typst";
}; };
lsp = { lsp = {
enable = mkEnableOption "Typst LSP support (typst-lsp)" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Typst LSP support (typst-lsp)"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.typst.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.typst.lsp.servers" (enum (attrNames servers));
@ -119,7 +129,12 @@ in {
}; };
format = { format = {
enable = mkEnableOption "Typst document formatting" // {default = config.vim.languages.enableFormat;}; enable =
mkEnableOption "Typst document formatting"
// {
default = config.vim.languages.enableFormat;
defaultText = literalExpression "config.vim.languages.enableFormat";
};
type = mkOption { type = mkOption {
type = deprecatedSingleOrListOf "vim.language.typst.format.type" (enum (attrNames formats)); type = deprecatedSingleOrListOf "vim.language.typst.format.type" (enum (attrNames formats));

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.types) enum; inherit (lib.types) enum;
@ -67,12 +67,22 @@ in {
enable = mkEnableOption "Vala language support"; enable = mkEnableOption "Vala language support";
treesitter = { treesitter = {
enable = mkEnableOption "Vala treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Vala treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "vala"; package = mkGrammarOption pkgs "vala";
}; };
lsp = { lsp = {
enable = mkEnableOption "Vala LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Vala LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.vala.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.vala.lsp.servers" (enum (attrNames servers));
default = defaultServers; default = defaultServers;

View file

@ -7,7 +7,7 @@
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.types) enum; inherit (lib.types) enum;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
@ -29,12 +29,22 @@ in {
enable = mkEnableOption "WGSL language support"; enable = mkEnableOption "WGSL language support";
treesitter = { treesitter = {
enable = mkEnableOption "WGSL treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "WGSL treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "wgsl"; package = mkGrammarOption pkgs "wgsl";
}; };
lsp = { lsp = {
enable = mkEnableOption "WGSL LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "WGSL LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.wgsl.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.wgsl.lsp.servers" (enum (attrNames servers));

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkOption mkEnableOption; inherit (lib.options) mkOption mkEnableOption literalExpression;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) enum listOf; inherit (lib.types) enum listOf;
@ -30,12 +30,22 @@ in {
enable = mkEnableOption "XML language support"; enable = mkEnableOption "XML language support";
treesitter = { treesitter = {
enable = mkEnableOption "XML treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "XML treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "xml"; package = mkGrammarOption pkgs "xml";
}; };
lsp = { lsp = {
enable = mkEnableOption "XML LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "XML LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = listOf (enum (attrNames servers)); type = listOf (enum (attrNames servers));
default = defaultServers; default = defaultServers;

View file

@ -6,7 +6,7 @@
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.generators) mkLuaInline; inherit (lib.generators) mkLuaInline;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.types) enum; inherit (lib.types) enum;
@ -51,13 +51,23 @@ in {
enable = mkEnableOption "YAML language support"; enable = mkEnableOption "YAML language support";
treesitter = { treesitter = {
enable = mkEnableOption "YAML treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "YAML treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "yaml"; package = mkGrammarOption pkgs "yaml";
}; };
lsp = { lsp = {
enable = mkEnableOption "Yaml LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Yaml LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.yaml.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.yaml.lsp.servers" (enum (attrNames servers));
default = defaultServers; default = defaultServers;

View file

@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.modules) mkIf mkMerge mkDefault; inherit (lib.modules) mkIf mkMerge mkDefault;
inherit (lib.types) bool package enum; inherit (lib.types) bool package enum;
inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf;
@ -59,12 +59,22 @@ in {
enable = mkEnableOption "Zig language support"; enable = mkEnableOption "Zig language support";
treesitter = { treesitter = {
enable = mkEnableOption "Zig treesitter" // {default = config.vim.languages.enableTreesitter;}; enable =
mkEnableOption "Zig treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "zig"; package = mkGrammarOption pkgs "zig";
}; };
lsp = { lsp = {
enable = mkEnableOption "Zig LSP support" // {default = config.vim.lsp.enable;}; enable =
mkEnableOption "Zig LSP support"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
servers = mkOption { servers = mkOption {
type = deprecatedSingleOrListOf "vim.language.zig.lsp.servers" (enum (attrNames servers)); type = deprecatedSingleOrListOf "vim.language.zig.lsp.servers" (enum (attrNames servers));
@ -77,6 +87,7 @@ in {
enable = mkOption { enable = mkOption {
type = bool; type = bool;
default = config.vim.languages.enableDAP; default = config.vim.languages.enableDAP;
defaultText = literalExpression "config.vim.languages.enableDAP";
description = "Enable Zig Debug Adapter"; description = "Enable Zig Debug Adapter";
}; };