mirror of
https://github.com/NotAShelf/nvf.git
synced 2026-03-21 11:53:50 +00:00
Merge branch 'main' into improve-terraformls
This commit is contained in:
commit
625f2c0fd2
71 changed files with 1370 additions and 233 deletions
|
|
@ -8,7 +8,7 @@
|
|||
inherit (lib.generators) mkLuaInline;
|
||||
inherit (lib.meta) getExe getExe';
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.types) enum listOf str;
|
||||
inherit (lib.nvim.attrsets) mapListToAttrs;
|
||||
inherit (lib.nvim.types) mkGrammarOption;
|
||||
|
|
@ -57,12 +57,22 @@ in {
|
|||
enable = mkEnableOption "Arduino support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = listOf (enum (attrNames servers));
|
||||
default = defaultServers;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.types) enum;
|
||||
inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf;
|
||||
|
|
@ -27,12 +27,22 @@ in {
|
|||
enable = mkEnableOption "Assembly support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.asm.lsp.servers" (enum (attrNames servers));
|
||||
default = defaultServers;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.types) enum coercedTo;
|
||||
|
|
@ -89,13 +89,23 @@ in {
|
|||
enable = mkEnableOption "Astro language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.astro.lsp.servers" (enum (attrNames servers));
|
||||
default = defaultServers;
|
||||
|
|
@ -104,7 +114,12 @@ in {
|
|||
};
|
||||
|
||||
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 = formatType;
|
||||
|
|
@ -114,7 +129,12 @@ in {
|
|||
};
|
||||
|
||||
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 {
|
||||
langDesc = "Astro";
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkOption mkEnableOption;
|
||||
inherit (lib.options) mkOption mkEnableOption literalExpression;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.types) enum bool;
|
||||
|
|
@ -48,12 +48,22 @@ in {
|
|||
enable = mkEnableOption "Bash language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.bash.lsp.servers" (enum (attrNames servers));
|
||||
default = defaultServers;
|
||||
|
|
@ -65,6 +75,7 @@ in {
|
|||
enable = mkOption {
|
||||
type = bool;
|
||||
default = config.vim.languages.enableFormat;
|
||||
defaultText = literalExpression "config.vim.languages.enableFormat";
|
||||
description = "Enable Bash formatting";
|
||||
};
|
||||
type = mkOption {
|
||||
|
|
@ -75,7 +86,12 @@ in {
|
|||
};
|
||||
|
||||
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 {
|
||||
langDesc = "Bash";
|
||||
inherit diagnosticsProviders;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.types) bool enum package;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
|
|
@ -184,13 +184,23 @@ in {
|
|||
};
|
||||
|
||||
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";
|
||||
cppPackage = mkGrammarOption pkgs "cpp";
|
||||
};
|
||||
|
||||
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 {
|
||||
description = "The clang LSP server to use";
|
||||
|
|
@ -204,6 +214,7 @@ in {
|
|||
description = "Enable clang Debug Adapter";
|
||||
type = bool;
|
||||
default = config.vim.languages.enableDAP;
|
||||
defaultText = literalExpression "config.vim.languages.enableDAP";
|
||||
};
|
||||
debugger = mkOption {
|
||||
description = "clang debugger to use";
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.types) enum listOf;
|
||||
|
|
@ -28,12 +28,22 @@ in {
|
|||
enable = mkEnableOption "Clojure language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = listOf (enum (attrNames servers));
|
||||
default = defaultServers;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.types) enum listOf package;
|
||||
|
|
@ -18,7 +18,7 @@
|
|||
servers = {
|
||||
neocmakelsp = {
|
||||
enable = true;
|
||||
cmd = [(getExe pkgs.neocmakelsp) "--stdio"];
|
||||
cmd = [(getExe pkgs.neocmakelsp) "stdio"];
|
||||
filetypes = ["cmake"];
|
||||
root_markers = [".gersemirc" ".git" "build" "cmake"];
|
||||
capabilities = {
|
||||
|
|
@ -38,12 +38,22 @@ in {
|
|||
enable = mkEnableOption "CMake language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = listOf (enum (attrNames servers));
|
||||
default = defaultServers;
|
||||
|
|
@ -52,7 +62,12 @@ in {
|
|||
};
|
||||
|
||||
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 {
|
||||
description = "CMake formatter to use";
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames concatMap;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.types) enum;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.meta) getExe;
|
||||
|
|
@ -177,12 +177,22 @@ in {
|
|||
enable = mkEnableOption "C# language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
description = "C# LSP server to use";
|
||||
type = deprecatedSingleOrListOf "vim.language.csharp.lsp.servers" (enum (attrNames servers));
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.types) enum;
|
||||
|
|
@ -49,13 +49,23 @@ in {
|
|||
enable = mkEnableOption "CSS language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.css.lsp.servers" (enum (attrNames servers));
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.options) mkEnableOption;
|
||||
inherit (lib.options) mkEnableOption literalExpression;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.nvim.types) mkGrammarOption;
|
||||
|
|
@ -21,13 +21,23 @@ in {
|
|||
enable = mkEnableOption "CUE language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.meta) getExe;
|
||||
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.strings) optionalString;
|
||||
inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf;
|
||||
|
|
@ -45,12 +45,22 @@ in {
|
|||
enable = mkEnableOption "Dart language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.dart.lsp.servers" (enum (attrNames servers));
|
||||
default = defaultServers;
|
||||
|
|
@ -63,6 +73,7 @@ in {
|
|||
description = "Enable Dart DAP support via flutter-tools";
|
||||
type = bool;
|
||||
default = config.vim.languages.enableDAP;
|
||||
defaultText = literalExpression "config.vim.languages.enableDAP";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -70,6 +81,7 @@ in {
|
|||
enable = mkOption {
|
||||
type = bool;
|
||||
default = config.vim.lsp.enable;
|
||||
defaultText = literalExpression "config.vim.lsp.enable";
|
||||
description = "Enable flutter-tools for flutter support";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ in {
|
|||
./cmake.nix
|
||||
./css.nix
|
||||
./elixir.nix
|
||||
./elm.nix
|
||||
./fsharp.nix
|
||||
./gleam.nix
|
||||
./glsl.nix
|
||||
|
|
@ -23,6 +24,7 @@ in {
|
|||
./kotlin.nix
|
||||
./html.nix
|
||||
./tera.nix
|
||||
./twig.nix
|
||||
./haskell.nix
|
||||
./java.nix
|
||||
./jinja.nix
|
||||
|
|
@ -57,6 +59,7 @@ in {
|
|||
./just.nix
|
||||
./make.nix
|
||||
./xml.nix
|
||||
./fluent.nix
|
||||
|
||||
# This is now a hard deprecation.
|
||||
(mkRenamedOptionModule ["vim" "languages" "enableLSP"] ["vim" "lsp" "enable"])
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.types) enum;
|
||||
|
|
@ -51,14 +51,24 @@ in {
|
|||
enable = mkEnableOption "Elixir language support";
|
||||
|
||||
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";
|
||||
heexPackage = mkGrammarOption pkgs "heex";
|
||||
eexPackage = mkGrammarOption pkgs "eex";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.elixir.lsp.servers" (enum (attrNames servers));
|
||||
default = defaultServers;
|
||||
|
|
|
|||
76
modules/plugins/languages/elm.nix
Normal file
76
modules/plugins/languages/elm.nix
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.types) enum;
|
||||
inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.nvim.attrsets) mapListToAttrs;
|
||||
|
||||
cfg = config.vim.languages.elm;
|
||||
|
||||
defaultServers = ["elm-language-server"];
|
||||
servers = {
|
||||
elm-language-server = {
|
||||
enable = true;
|
||||
cmd = [(getExe pkgs.elmPackages.elm-language-server)];
|
||||
filetypes = ["elm"];
|
||||
root_markers = ["elm.json"];
|
||||
workspace_required = false;
|
||||
};
|
||||
};
|
||||
in {
|
||||
options.vim.languages.elm = {
|
||||
enable = mkEnableOption "Elm language support";
|
||||
|
||||
treesitter = {
|
||||
enable =
|
||||
mkEnableOption "Elm treesitter"
|
||||
// {
|
||||
default = config.vim.languages.enableTreesitter;
|
||||
defaultText = literalExpression "config.vim.languages.enableTreesitter";
|
||||
};
|
||||
package = mkGrammarOption pkgs "elm";
|
||||
};
|
||||
|
||||
lsp = {
|
||||
enable =
|
||||
mkEnableOption "Elm LSP support"
|
||||
// {
|
||||
default = config.vim.lsp.enable;
|
||||
defaultText = literalExpression "config.vim.lsp.enable";
|
||||
};
|
||||
|
||||
servers = mkOption {
|
||||
type = deprecatedSingleOrListOf "vim.language.elm.lsp.servers" (enum (attrNames servers));
|
||||
default = defaultServers;
|
||||
description = "Elm LSP servers to use";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable (mkMerge [
|
||||
(mkIf cfg.treesitter.enable {
|
||||
vim.treesitter = {
|
||||
enable = true;
|
||||
grammars = [cfg.treesitter.package];
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf cfg.lsp.enable {
|
||||
vim = {
|
||||
lsp.servers =
|
||||
mapListToAttrs (n: {
|
||||
name = n;
|
||||
value = servers.${n};
|
||||
})
|
||||
cfg.lsp.servers;
|
||||
};
|
||||
})
|
||||
]);
|
||||
}
|
||||
34
modules/plugins/languages/fluent.nix
Normal file
34
modules/plugins/languages/fluent.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.options) mkEnableOption;
|
||||
inherit (lib.modules) mkIf;
|
||||
|
||||
cfg = config.vim.languages.fluent;
|
||||
in {
|
||||
options.vim.languages.fluent = {
|
||||
enable = mkEnableOption "Fluent language support";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
vim = {
|
||||
lazy.plugins.fluent-nvim = {
|
||||
package = "fluent-nvim";
|
||||
ft = ["fluent"];
|
||||
};
|
||||
autocmds = [
|
||||
{
|
||||
event = [
|
||||
"BufRead"
|
||||
"BufNewFile"
|
||||
];
|
||||
pattern = ["*.ftl"];
|
||||
desc = "Set fluent filetype";
|
||||
command = "set filetype=fluent";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.types) enum;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
|
|
@ -65,12 +65,22 @@ in {
|
|||
enable = mkEnableOption "F# language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.fsharp.lsp.servers" (enum (attrNames servers));
|
||||
default = defaultServer;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.types) enum;
|
||||
|
|
@ -28,12 +28,22 @@ in {
|
|||
enable = mkEnableOption "Gleam language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.gleam.lsp.servers" (enum (attrNames servers));
|
||||
default = defaultServers;
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
inherit (builtins) attrNames;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.nvim.types) mkGrammarOption;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.types) enum listOf;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.nvim.attrsets) mapListToAttrs;
|
||||
|
|
@ -28,12 +28,22 @@ in {
|
|||
enable = mkEnableOption "GLSL language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = listOf (enum (attrNames servers));
|
||||
|
|
|
|||
|
|
@ -1,16 +1,17 @@
|
|||
{
|
||||
inputs,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption literalMD;
|
||||
inherit (lib.options) mkEnableOption mkOption literalMD literalExpression;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.generators) mkLuaInline;
|
||||
inherit (lib.types) bool enum package;
|
||||
inherit (lib.nvim.types) mkGrammarOption diagnostics deprecatedSingleOrListOf;
|
||||
inherit (lib.types) bool enum package str;
|
||||
inherit (lib.nvim.types) mkGrammarOption diagnostics deprecatedSingleOrListOf mkPluginSetupOption;
|
||||
inherit (lib.nvim.dag) entryAfter;
|
||||
inherit (lib.nvim.attrsets) mapListToAttrs;
|
||||
|
||||
|
|
@ -64,9 +65,11 @@
|
|||
gofmt = {
|
||||
command = "${pkgs.go}/bin/gofmt";
|
||||
};
|
||||
|
||||
gofumpt = {
|
||||
command = getExe pkgs.gofumpt;
|
||||
};
|
||||
|
||||
golines = {
|
||||
command = "${pkgs.golines}/bin/golines";
|
||||
};
|
||||
|
|
@ -168,7 +171,12 @@ in {
|
|||
enable = mkEnableOption "Go language support";
|
||||
|
||||
treesitter = {
|
||||
enable = mkEnableOption "Go treesitter" // {default = config.vim.languages.enableTreesitter;};
|
||||
enable =
|
||||
mkEnableOption "Go treesitter"
|
||||
// {
|
||||
default = config.vim.languages.enableTreesitter;
|
||||
defaultText = literalExpression "config.vim.languages.enableTreesitter";
|
||||
};
|
||||
|
||||
goPackage = mkGrammarOption pkgs "go";
|
||||
gomodPackage = mkGrammarOption pkgs "gomod";
|
||||
|
|
@ -178,7 +186,12 @@ in {
|
|||
};
|
||||
|
||||
lsp = {
|
||||
enable = mkEnableOption "Go LSP support" // {default = config.vim.lsp.enable;};
|
||||
enable =
|
||||
mkEnableOption "Go LSP support"
|
||||
// {
|
||||
default = config.vim.lsp.enable;
|
||||
defaultText = literalExpression "config.vim.lsp.enable";
|
||||
};
|
||||
|
||||
servers = mkOption {
|
||||
type = deprecatedSingleOrListOf "vim.language.go.lsp.servers" (enum (attrNames servers));
|
||||
|
|
@ -198,51 +211,111 @@ in {
|
|||
};
|
||||
|
||||
type = mkOption {
|
||||
description = "Go formatter to use";
|
||||
type = deprecatedSingleOrListOf "vim.language.go.format.type" (enum (attrNames formats));
|
||||
default = defaultFormat;
|
||||
description = "Go formatter to use";
|
||||
};
|
||||
};
|
||||
|
||||
dap = {
|
||||
enable = mkOption {
|
||||
description = "Enable Go Debug Adapter via nvim-dap-go plugin";
|
||||
type = bool;
|
||||
default = config.vim.languages.enableDAP;
|
||||
};
|
||||
enable =
|
||||
mkEnableOption "Go Debug Adapter (DAP) via `nvim-dap-go"
|
||||
// {
|
||||
default = config.vim.languages.enableDAP;
|
||||
defaultText = literalExpression "config.vim.languages.enableDAP";
|
||||
};
|
||||
|
||||
debugger = mkOption {
|
||||
description = "Go debugger to use";
|
||||
type = enum (attrNames debuggers);
|
||||
default = defaultDebugger;
|
||||
description = "Go debugger to use";
|
||||
};
|
||||
|
||||
package = mkOption {
|
||||
description = "Go debugger package.";
|
||||
type = package;
|
||||
default = debuggers.${cfg.dap.debugger}.package;
|
||||
description = "Go debugger package.";
|
||||
};
|
||||
};
|
||||
|
||||
extraDiagnostics = {
|
||||
enable = mkEnableOption "extra Go diagnostics" // {default = config.vim.languages.enableExtraDiagnostics;};
|
||||
enable =
|
||||
mkEnableOption "extra Go diagnostics"
|
||||
// {
|
||||
default = config.vim.languages.enableExtraDiagnostics;
|
||||
defaultText = literalExpression "config.vim.languages.enableExtraDiagnostic";
|
||||
};
|
||||
|
||||
types = diagnostics {
|
||||
langDesc = "Go";
|
||||
inherit diagnosticsProviders;
|
||||
inherit defaultDiagnosticsProvider;
|
||||
};
|
||||
};
|
||||
|
||||
extensions = {
|
||||
gopher-nvim = {
|
||||
enable = mkEnableOption "Minimalistic plugin for Go development";
|
||||
setupOpts = mkPluginSetupOption "gopher-nvim" {
|
||||
commands = {
|
||||
go = mkOption {
|
||||
type = str;
|
||||
default = "go";
|
||||
description = "Go binary to use";
|
||||
};
|
||||
|
||||
gomodifytags = mkOption {
|
||||
type = str;
|
||||
default = getExe pkgs.gomodifytags;
|
||||
defaultText = literalExpression "getExe pkgs.gomodifytags";
|
||||
description = "gomodifytags binary to use";
|
||||
};
|
||||
|
||||
gotests = mkOption {
|
||||
type = str;
|
||||
default = getExe pkgs.gotests;
|
||||
defaultText = literalExpression "getExe pkgs.gotests";
|
||||
description = "gotests binary to use";
|
||||
};
|
||||
|
||||
impl = mkOption {
|
||||
type = str;
|
||||
default = getExe pkgs.impl;
|
||||
defaultText = literalExpression "getExe pkgs.impl";
|
||||
description = "impl binary to use";
|
||||
};
|
||||
|
||||
iferr = mkOption {
|
||||
type = str;
|
||||
default = getExe pkgs.iferr;
|
||||
defaultText = literalExpression "getExe pkgs.iferr";
|
||||
description = "iferr binary to use";
|
||||
};
|
||||
|
||||
json2go = mkOption {
|
||||
type = str;
|
||||
default = getExe inputs.self.packages.${pkgs.stdenv.hostPlatform.system}.json2go;
|
||||
defaultText = literalExpression "getExe inputs.self.packages.$${pkgs.stdenv.hostPlatform.system}.json2go";
|
||||
description = "json2go binary to use";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable (mkMerge [
|
||||
(mkIf cfg.treesitter.enable {
|
||||
vim.treesitter.enable = true;
|
||||
vim.treesitter.grammars = [
|
||||
cfg.treesitter.goPackage
|
||||
cfg.treesitter.gomodPackage
|
||||
cfg.treesitter.gosumPackage
|
||||
cfg.treesitter.goworkPackage
|
||||
cfg.treesitter.gotmplPackage
|
||||
];
|
||||
vim.treesitter = {
|
||||
enable = true;
|
||||
grammars = [
|
||||
cfg.treesitter.goPackage
|
||||
cfg.treesitter.gomodPackage
|
||||
cfg.treesitter.gosumPackage
|
||||
cfg.treesitter.goworkPackage
|
||||
cfg.treesitter.gotmplPackage
|
||||
];
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf cfg.lsp.enable {
|
||||
|
|
@ -292,5 +365,14 @@ in {
|
|||
cfg.extraDiagnostics.types);
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf cfg.extensions.gopher-nvim.enable {
|
||||
vim.lazy.plugins.gopher-nvim = {
|
||||
package = "gopher-nvim";
|
||||
setupModule = "gopher";
|
||||
inherit (cfg.extensions.gopher-nvim) setupOpts;
|
||||
ft = ["go"];
|
||||
};
|
||||
})
|
||||
]);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
}: let
|
||||
inherit (builtins) isList attrNames;
|
||||
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.modules) mkIf mkMerge;
|
||||
inherit (lib.nvim.types) mkGrammarOption;
|
||||
|
|
@ -57,7 +57,7 @@
|
|||
settings = {
|
||||
haskell = {
|
||||
formattingProvider = "ormolu";
|
||||
cabalFormattingProvider = "cabalfmt";
|
||||
cabalFormattingProvider = "cabal-fmt";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -67,12 +67,22 @@ in {
|
|||
enable = mkEnableOption "Haskell support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = listOf (enum (attrNames servers));
|
||||
default = defaultServers;
|
||||
|
|
@ -81,7 +91,12 @@ in {
|
|||
};
|
||||
|
||||
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 {
|
||||
default = haskellPackages.haskell-debug-adapter;
|
||||
type = either package (listOf str);
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.types) enum listOf;
|
||||
|
|
@ -47,12 +47,22 @@ in {
|
|||
enable = mkEnableOption "HCL support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = listOf (enum (attrNames servers));
|
||||
default = defaultServers;
|
||||
|
|
@ -61,7 +71,12 @@ in {
|
|||
};
|
||||
|
||||
format = {
|
||||
enable = mkEnableOption "Enable HCL formatting" // {default = config.vim.languages.enableFormat;};
|
||||
enable =
|
||||
mkEnableOption "HCL formatting"
|
||||
// {
|
||||
default = config.vim.languages.enableFormat;
|
||||
defaultText = literalExpression "config.vim.languages.enableFormat";
|
||||
};
|
||||
type = mkOption {
|
||||
type = deprecatedSingleOrListOf "vim.language.hcl.format.type" (enum (attrNames formats));
|
||||
default = defaultFormat;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames head;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) literalExpression mkEnableOption mkOption;
|
||||
inherit (lib.modules) mkDefault mkIf mkMerge;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.types) enum;
|
||||
|
|
@ -44,12 +44,22 @@ in {
|
|||
enable = mkEnableOption "Helm language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.helm.lsp.servers" (enum (attrNames servers));
|
||||
default = defaultServers;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) literalExpression mkEnableOption mkOption;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.types) bool enum;
|
||||
inherit (lib.lists) optional;
|
||||
|
|
@ -48,7 +48,12 @@ in {
|
|||
options.vim.languages.html = {
|
||||
enable = mkEnableOption "HTML language support";
|
||||
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";
|
||||
autotagHtml = mkOption {
|
||||
type = bool;
|
||||
|
|
@ -58,7 +63,12 @@ in {
|
|||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.html.lsp.servers" (enum (attrNames servers));
|
||||
default = defaultServers;
|
||||
|
|
@ -67,7 +77,12 @@ in {
|
|||
};
|
||||
|
||||
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 = deprecatedSingleOrListOf "vim.language.html.format.type" (enum (attrNames formats));
|
||||
|
|
@ -77,7 +92,12 @@ in {
|
|||
};
|
||||
|
||||
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 {
|
||||
langDesc = "HTML";
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) literalExpression mkEnableOption mkOption;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (builtins) attrNames;
|
||||
|
|
@ -65,12 +65,22 @@ in {
|
|||
enable = mkEnableOption "Java language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = listOf (enum (attrNames servers));
|
||||
default = defaultServers;
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
inherit (builtins) attrNames;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) literalExpression mkEnableOption mkOption;
|
||||
inherit (lib.types) enum listOf;
|
||||
inherit (lib.nvim.types) mkGrammarOption;
|
||||
inherit (lib.nvim.attrsets) mapListToAttrs;
|
||||
|
|
@ -29,13 +29,23 @@ in {
|
|||
enable = mkEnableOption "Jinja template language support";
|
||||
|
||||
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";
|
||||
inlinePackage = mkGrammarOption pkgs "jinja_inline";
|
||||
};
|
||||
|
||||
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 {
|
||||
description = "Jinja LSP server to use";
|
||||
type = listOf (enum (attrNames servers));
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkOption mkEnableOption;
|
||||
inherit (lib.options) mkOption mkEnableOption literalExpression;
|
||||
inherit (lib.meta) getExe' getExe;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.types) enum;
|
||||
|
|
@ -18,7 +18,7 @@
|
|||
servers = {
|
||||
jsonls = {
|
||||
cmd = [(getExe' pkgs.vscode-langservers-extracted "vscode-json-language-server") "--stdio"];
|
||||
filetypes = ["json" "jsonc"];
|
||||
filetypes = ["json" "jsonc" "json5"];
|
||||
init_options = {provideFormatter = true;};
|
||||
root_markers = [".git"];
|
||||
};
|
||||
|
|
@ -37,13 +37,24 @@ in {
|
|||
enable = mkEnableOption "JSON language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
package = mkGrammarOption pkgs "json";
|
||||
jsonPackage = mkGrammarOption pkgs "json";
|
||||
json5Package = mkGrammarOption pkgs "json5";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.json.lsp.servers" (enum (attrNames servers));
|
||||
|
|
@ -53,7 +64,12 @@ in {
|
|||
};
|
||||
|
||||
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 {
|
||||
description = "JSON formatter to use";
|
||||
|
|
@ -66,7 +82,10 @@ in {
|
|||
config = mkIf cfg.enable (mkMerge [
|
||||
(mkIf cfg.treesitter.enable {
|
||||
vim.treesitter.enable = true;
|
||||
vim.treesitter.grammars = [cfg.treesitter.package];
|
||||
vim.treesitter.grammars = [
|
||||
cfg.treesitter.jsonPackage
|
||||
cfg.treesitter.json5Package
|
||||
];
|
||||
})
|
||||
|
||||
(mkIf cfg.lsp.enable {
|
||||
|
|
@ -83,6 +102,7 @@ in {
|
|||
enable = true;
|
||||
setupOpts = {
|
||||
formatters_by_ft.json = cfg.format.type;
|
||||
formatters_by_ft.json5 = cfg.format.type;
|
||||
formatters =
|
||||
mapListToAttrs (name: {
|
||||
inherit name;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) literalExpression mkEnableOption mkOption;
|
||||
inherit (lib.types) enum;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.meta) getExe;
|
||||
|
|
@ -90,12 +90,22 @@ in {
|
|||
enable = mkEnableOption "Julia language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.julia.lsp.servers" (enum (attrNames servers));
|
||||
default = defaultServers;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) literalExpression mkEnableOption mkOption;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.types) enum listOf;
|
||||
|
|
@ -29,13 +29,21 @@ in {
|
|||
|
||||
treesitter = {
|
||||
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";
|
||||
};
|
||||
|
||||
lsp = {
|
||||
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 {
|
||||
type = listOf (enum (attrNames servers));
|
||||
default = defaultServers;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) literalExpression mkEnableOption mkOption;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.meta) getExe' getExe;
|
||||
inherit (builtins) attrNames;
|
||||
|
|
@ -56,12 +56,22 @@ in {
|
|||
enable = mkEnableOption "Kotlin/HCL support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = listOf (enum (attrNames servers));
|
||||
default = defaultServers;
|
||||
|
|
@ -70,7 +80,12 @@ in {
|
|||
};
|
||||
|
||||
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 {
|
||||
langDesc = "Kotlin";
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) literalExpression mkEnableOption mkOption;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.types) bool enum listOf;
|
||||
|
|
@ -60,12 +60,22 @@ in {
|
|||
options.vim.languages.lua = {
|
||||
enable = mkEnableOption "Lua language support";
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = listOf (enum (attrNames servers));
|
||||
default = defaultServers;
|
||||
|
|
@ -79,6 +89,7 @@ in {
|
|||
enable = mkOption {
|
||||
type = bool;
|
||||
default = config.vim.languages.enableFormat;
|
||||
defaultText = literalExpression "config.vim.languages.enableFormat";
|
||||
description = "Enable Lua formatting";
|
||||
};
|
||||
type = mkOption {
|
||||
|
|
@ -89,7 +100,12 @@ in {
|
|||
};
|
||||
|
||||
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 {
|
||||
langDesc = "Lua";
|
||||
inherit diagnosticsProviders;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) literalExpression mkEnableOption mkOption;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.types) listOf enum;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
|
|
@ -34,12 +34,22 @@ in {
|
|||
enable = mkEnableOption "Make support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
description = "make formatter to use";
|
||||
type = listOf (enum (attrNames formats));
|
||||
|
|
@ -48,7 +58,12 @@ in {
|
|||
};
|
||||
|
||||
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 {
|
||||
langDesc = "Make";
|
||||
inherit diagnosticsProviders;
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
inherit (builtins) attrNames;
|
||||
inherit (lib.meta) getExe getExe';
|
||||
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.nvim.lua) toLuaObject;
|
||||
inherit (lib.nvim.types) diagnostics mkGrammarOption mkPluginSetupOption deprecatedSingleOrListOf;
|
||||
|
|
@ -82,6 +82,7 @@ in {
|
|||
enable = mkOption {
|
||||
type = bool;
|
||||
default = config.vim.languages.enableTreesitter;
|
||||
defaultText = literalExpression "config.vim.languages.enableTreesitter";
|
||||
description = "Enable Markdown treesitter";
|
||||
};
|
||||
mdPackage = mkGrammarOption pkgs "markdown";
|
||||
|
|
@ -89,7 +90,12 @@ in {
|
|||
};
|
||||
|
||||
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 {
|
||||
description = "Markdown LSP server to use";
|
||||
|
|
@ -99,7 +105,12 @@ in {
|
|||
};
|
||||
|
||||
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 = deprecatedSingleOrListOf "vim.language.markdown.format.type" (enum (attrNames formats));
|
||||
|
|
@ -154,7 +165,12 @@ in {
|
|||
};
|
||||
|
||||
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 {
|
||||
langDesc = "Markdown";
|
||||
inherit diagnosticsProviders;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.meta) getExe';
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.types) enum;
|
||||
|
|
@ -48,12 +48,22 @@ in {
|
|||
enable = mkEnableOption "Nim language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.nim.lsp.servers" (enum (attrNames servers));
|
||||
|
|
@ -63,7 +73,12 @@ in {
|
|||
};
|
||||
|
||||
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 = deprecatedSingleOrListOf "vim.language.nim.format.type" (enum (attrNames formats));
|
||||
default = defaultFormat;
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
inherit (builtins) attrNames;
|
||||
inherit (lib) concatStringsSep;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.types) enum;
|
||||
inherit (lib.nvim.types) mkGrammarOption diagnostics deprecatedSingleOrListOf;
|
||||
|
|
@ -74,12 +74,22 @@ in {
|
|||
enable = mkEnableOption "Nix language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.nix.lsp.servers" (enum (attrNames servers));
|
||||
default = defaultServers;
|
||||
|
|
@ -88,7 +98,12 @@ in {
|
|||
};
|
||||
|
||||
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 {
|
||||
description = "Nix formatter to use";
|
||||
|
|
@ -98,7 +113,12 @@ in {
|
|||
};
|
||||
|
||||
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 {
|
||||
langDesc = "Nix";
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
config,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.types) enum;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf;
|
||||
|
|
@ -38,12 +38,22 @@ in {
|
|||
enable = mkEnableOption "Nu language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.nu.lsp.servers" (enum (attrNames servers));
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.types) enum;
|
||||
|
|
@ -66,12 +66,22 @@ in {
|
|||
enable = mkEnableOption "OCaml language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.ocaml.lsp.servers" (enum (attrNames servers));
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.types) enum package;
|
||||
inherit (lib.nvim.dag) entryAfter;
|
||||
|
|
@ -53,12 +53,22 @@ in {
|
|||
enable = mkEnableOption "Odin language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.odin.lsp.servers" (enum (attrNames servers));
|
||||
|
|
@ -68,7 +78,12 @@ in {
|
|||
};
|
||||
|
||||
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 {
|
||||
description = "Odin debugger to use";
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames toString;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.types) enum int attrs listOf;
|
||||
|
|
@ -85,12 +85,22 @@ in {
|
|||
enable = mkEnableOption "PHP language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.php.lsp.servers" (enum (attrNames servers));
|
||||
|
|
@ -100,7 +110,12 @@ in {
|
|||
};
|
||||
|
||||
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 {
|
||||
description = "PHP formatter to use";
|
||||
|
|
@ -110,7 +125,12 @@ in {
|
|||
};
|
||||
|
||||
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 = {
|
||||
adapter = mkOption {
|
||||
type = attrs;
|
||||
|
|
|
|||
|
|
@ -291,7 +291,12 @@ in {
|
|||
enable = mkEnableOption "Python language support";
|
||||
|
||||
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 {
|
||||
description = "Python treesitter grammar to use";
|
||||
type = package;
|
||||
|
|
@ -300,7 +305,12 @@ in {
|
|||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.python.lsp.servers" (enum (attrNames servers));
|
||||
|
|
@ -310,7 +320,12 @@ in {
|
|||
};
|
||||
|
||||
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 = deprecatedSingleOrListOf "vim.language.python.format.type" (enum (attrNames formats));
|
||||
|
|
@ -324,6 +339,7 @@ in {
|
|||
enable = mkOption {
|
||||
type = bool;
|
||||
default = config.vim.languages.enableDAP;
|
||||
defaultText = literalExpression "config.vim.languages.enableDAP";
|
||||
description = "Enable Python Debug Adapter";
|
||||
};
|
||||
|
||||
|
|
@ -345,7 +361,12 @@ in {
|
|||
};
|
||||
|
||||
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 {
|
||||
langDesc = "Python";
|
||||
inherit diagnosticsProviders;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.meta) getExe';
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.types) enum;
|
||||
inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf;
|
||||
|
|
@ -37,12 +37,22 @@ in {
|
|||
options.vim.languages.qml = {
|
||||
enable = mkEnableOption "QML language support";
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.qml.lsp.servers" (enum (attrNames servers));
|
||||
default = defaultServers;
|
||||
|
|
@ -51,7 +61,12 @@ in {
|
|||
};
|
||||
|
||||
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 = deprecatedSingleOrListOf "vim.language.qml.format.type" (enum (attrNames formats));
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.types) enum;
|
||||
inherit (lib.meta) getExe;
|
||||
|
|
@ -65,12 +65,22 @@ in {
|
|||
enable = mkEnableOption "R language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.r.lsp.servers" (enum (attrNames servers));
|
||||
|
|
@ -80,7 +90,12 @@ in {
|
|||
};
|
||||
|
||||
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 = deprecatedSingleOrListOf "vim.language.r.format.type" (enum (attrNames formats));
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.nvim.types) mkGrammarOption diagnostics deprecatedSingleOrListOf;
|
||||
|
|
@ -67,12 +67,22 @@ in {
|
|||
enable = mkEnableOption "Ruby language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.ruby.lsp.servers" (enum (attrNames servers));
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
}: let
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.options) mkOption mkEnableOption literalMD;
|
||||
inherit (lib.options) mkOption mkEnableOption literalMD literalExpression;
|
||||
inherit (lib.strings) optionalString;
|
||||
inherit (lib.lists) isList;
|
||||
inherit (lib.attrsets) attrNames;
|
||||
|
|
@ -29,12 +29,22 @@ in {
|
|||
enable = mkEnableOption "Rust language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
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"]'';
|
||||
|
|
@ -80,6 +90,7 @@ in {
|
|||
description = "Rust Debug Adapter support";
|
||||
type = bool;
|
||||
default = config.vim.languages.enableDAP;
|
||||
defaultText = literalExpression "config.vim.languages.enableDAP";
|
||||
};
|
||||
|
||||
package = mkOption {
|
||||
|
|
@ -108,14 +119,39 @@ in {
|
|||
|
||||
setupOpts = mkPluginSetupOption "crates-nvim" {
|
||||
lsp = {
|
||||
enabled = mkEnableOption "crates.nvim's in-process language server" // {default = cfg.extensions.crates-nvim.enable;};
|
||||
actions = mkEnableOption "actions for crates-nvim's in-process language server" // {default = cfg.extensions.crates-nvim.enable;};
|
||||
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;};
|
||||
enabled =
|
||||
mkEnableOption "crates.nvim's in-process language server"
|
||||
// {
|
||||
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 = {
|
||||
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 {
|
||||
description = "The maximum number of search results to display";
|
||||
type = int;
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
inherit (lib.nvim.dag) entryAfter;
|
||||
inherit (lib.nvim.lua) toLuaObject;
|
||||
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.types) attrsOf anything bool;
|
||||
|
||||
|
|
@ -28,12 +28,22 @@ in {
|
|||
enable = mkEnableOption "Scala language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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" {
|
||||
default = ["metals"];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.types) enum package str;
|
||||
|
|
@ -74,7 +74,12 @@ in {
|
|||
};
|
||||
|
||||
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 {
|
||||
type = package;
|
||||
|
|
@ -84,7 +89,12 @@ in {
|
|||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.sql.lsp.servers" (enum (attrNames servers));
|
||||
|
|
@ -94,7 +104,12 @@ in {
|
|||
};
|
||||
|
||||
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 = deprecatedSingleOrListOf "vim.language.sql.format.type" (enum (attrNames formats));
|
||||
|
|
@ -104,7 +119,12 @@ in {
|
|||
};
|
||||
|
||||
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 {
|
||||
langDesc = "SQL";
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.types) enum package coercedTo;
|
||||
|
|
@ -104,13 +104,23 @@ in {
|
|||
enable = mkEnableOption "Svelte language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.svelte.lsp.servers" (enum (attrNames servers));
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.types) enum;
|
||||
|
|
@ -151,7 +151,12 @@ in {
|
|||
enable = mkEnableOption "Tailwindcss language support";
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.tailwind.lsp.servers" (enum (attrNames servers));
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.options) mkEnableOption;
|
||||
inherit (lib.options) mkEnableOption literalExpression;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.nvim.types) mkGrammarOption;
|
||||
|
||||
|
|
@ -14,7 +14,12 @@ in {
|
|||
enable = mkEnableOption "Tera templating language support";
|
||||
|
||||
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";
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.types) enum listOf;
|
||||
|
|
@ -48,12 +48,23 @@ in {
|
|||
enable = mkEnableOption "Terraform support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = listOf (enum (attrNames servers));
|
||||
default = defaultServers;
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
inherit (builtins) attrNames;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.types) enum;
|
||||
inherit (lib.nvim.types) diagnostics mkGrammarOption deprecatedSingleOrListOf;
|
||||
inherit (lib.nvim.attrsets) mapListToAttrs;
|
||||
|
|
@ -78,6 +78,7 @@ in {
|
|||
mkEnableOption "TOML treesitter"
|
||||
// {
|
||||
default = config.vim.languages.enableTreesitter;
|
||||
defaultText = literalExpression "config.vim.languages.enableTreesitter";
|
||||
};
|
||||
package = mkGrammarOption pkgs "toml";
|
||||
};
|
||||
|
|
@ -87,6 +88,7 @@ in {
|
|||
mkEnableOption "TOML LSP support"
|
||||
// {
|
||||
default = config.vim.lsp.enable;
|
||||
defaultText = literalExpression "config.vim.lsp.enable";
|
||||
};
|
||||
|
||||
servers = mkOption {
|
||||
|
|
@ -101,6 +103,7 @@ in {
|
|||
mkEnableOption "TOML formatting"
|
||||
// {
|
||||
default = config.vim.languages.enableFormat;
|
||||
defaultText = literalExpression "config.vim.languages.enableFormat";
|
||||
};
|
||||
|
||||
type = mkOption {
|
||||
|
|
@ -115,6 +118,7 @@ in {
|
|||
mkEnableOption "extra TOML diagnostics"
|
||||
// {
|
||||
default = config.vim.languages.enableExtraDiagnostics;
|
||||
defaultText = literalExpression "config.vim.languages.enableExtraDiagnostics";
|
||||
};
|
||||
types = diagnostics {
|
||||
langDesc = "TOML";
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames elem;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.types) enum package bool;
|
||||
|
|
@ -215,14 +215,24 @@ in {
|
|||
enable = mkEnableOption "Typescript/Javascript language support";
|
||||
|
||||
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";
|
||||
tsxPackage = mkGrammarOption pkgs "tsx";
|
||||
jsPackage = mkGrammarOption pkgs "javascript";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.ts.lsp.servers" (enum (attrNames servers));
|
||||
|
|
@ -232,7 +242,12 @@ in {
|
|||
};
|
||||
|
||||
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 {
|
||||
description = "Typescript/Javascript formatter to use";
|
||||
|
|
|
|||
140
modules/plugins/languages/twig.nix
Normal file
140
modules/plugins/languages/twig.nix
Normal file
|
|
@ -0,0 +1,140 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.types) listOf enum;
|
||||
inherit (lib.nvim.types) mkGrammarOption diagnostics;
|
||||
inherit (lib.nvim.attrsets) mapListToAttrs;
|
||||
|
||||
cfg = config.vim.languages.twig;
|
||||
|
||||
defaultServers = ["twig-language-server"];
|
||||
servers = {
|
||||
twig-language-server = {
|
||||
enable = true;
|
||||
cmd = [(getExe pkgs.twig-language-server) "--stdio"];
|
||||
filetypes = ["twig"];
|
||||
root_markers = [".git"];
|
||||
};
|
||||
};
|
||||
|
||||
defaultFormat = ["djlint"];
|
||||
formats = {
|
||||
djlint = {
|
||||
command = getExe pkgs.djlint;
|
||||
};
|
||||
# TODO: if twig-cs-fixer gets packaged for nix, add it and default to it.
|
||||
};
|
||||
defaultDiagnosticsProvider = ["djlint"];
|
||||
diagnosticsProviders = {
|
||||
djlint = {
|
||||
config = {
|
||||
cmd = getExe pkgs.djlint;
|
||||
};
|
||||
};
|
||||
# TODO: if curlylint gets packaged for nix, add it.
|
||||
};
|
||||
in {
|
||||
options.vim.languages.twig = {
|
||||
enable = mkEnableOption "Twig templating language support";
|
||||
|
||||
treesitter = {
|
||||
enable =
|
||||
mkEnableOption "Twig treesitter"
|
||||
// {
|
||||
default = config.vim.languages.enableTreesitter;
|
||||
defaultText = literalExpression "config.vim.languages.enableTreesitter";
|
||||
};
|
||||
package = mkGrammarOption pkgs "twig";
|
||||
};
|
||||
|
||||
lsp = {
|
||||
enable =
|
||||
mkEnableOption "Twig LSP support"
|
||||
// {
|
||||
default = config.vim.lsp.enable;
|
||||
defaultText = literalExpression "config.vim.lsp.enable";
|
||||
};
|
||||
servers = mkOption {
|
||||
type = listOf (enum (attrNames servers));
|
||||
default = defaultServers;
|
||||
description = "Twig LSP server to use";
|
||||
};
|
||||
};
|
||||
|
||||
format = {
|
||||
enable =
|
||||
mkEnableOption "PHP formatting"
|
||||
// {
|
||||
default = config.vim.languages.enableFormat;
|
||||
defaultText = literalExpression "config.vim.languages.enableFormat";
|
||||
};
|
||||
type = mkOption {
|
||||
description = "Twig formatter to use";
|
||||
type = listOf (enum (attrNames formats));
|
||||
default = defaultFormat;
|
||||
};
|
||||
};
|
||||
|
||||
extraDiagnostics = {
|
||||
enable =
|
||||
mkEnableOption "extra Twig diagnostics"
|
||||
// {
|
||||
default = config.vim.languages.enableExtraDiagnostics;
|
||||
defaultText = literalExpression "config.vim.languages.enableExtraDiagnostics";
|
||||
};
|
||||
types = diagnostics {
|
||||
langDesc = "Twig";
|
||||
inherit diagnosticsProviders;
|
||||
inherit defaultDiagnosticsProvider;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable (mkMerge [
|
||||
(mkIf cfg.treesitter.enable {
|
||||
vim.treesitter.enable = true;
|
||||
vim.treesitter.grammars = [cfg.treesitter.package];
|
||||
})
|
||||
|
||||
(mkIf cfg.lsp.enable {
|
||||
vim.lsp.servers =
|
||||
mapListToAttrs (n: {
|
||||
name = n;
|
||||
value = servers.${n};
|
||||
})
|
||||
cfg.lsp.servers;
|
||||
})
|
||||
|
||||
(mkIf cfg.format.enable {
|
||||
vim.formatter.conform-nvim = {
|
||||
enable = true;
|
||||
setupOpts = {
|
||||
formatters_by_ft.twig = cfg.format.type;
|
||||
formatters =
|
||||
mapListToAttrs (name: {
|
||||
inherit name;
|
||||
value = formats.${name};
|
||||
})
|
||||
cfg.format.type;
|
||||
};
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf cfg.extraDiagnostics.enable {
|
||||
vim.diagnostics.nvim-lint = {
|
||||
enable = true;
|
||||
linters_by_ft.twig = cfg.extraDiagnostics.types;
|
||||
linters =
|
||||
mkMerge (map (name: {${name} = diagnosticsProviders.${name}.config;})
|
||||
cfg.extraDiagnostics.types);
|
||||
};
|
||||
})
|
||||
]);
|
||||
}
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.options) mkOption mkEnableOption;
|
||||
inherit (lib.options) mkOption mkEnableOption literalExpression;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.types) nullOr enum attrsOf listOf package str bool int;
|
||||
inherit (lib.attrsets) attrNames;
|
||||
|
|
@ -104,12 +104,22 @@ in {
|
|||
enable = mkEnableOption "Typst language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.typst.lsp.servers" (enum (attrNames servers));
|
||||
|
|
@ -119,7 +129,12 @@ in {
|
|||
};
|
||||
|
||||
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 = deprecatedSingleOrListOf "vim.language.typst.format.type" (enum (attrNames formats));
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.types) enum;
|
||||
|
|
@ -67,12 +67,22 @@ in {
|
|||
enable = mkEnableOption "Vala language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.vala.lsp.servers" (enum (attrNames servers));
|
||||
default = defaultServers;
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
inherit (builtins) attrNames;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.types) enum;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.nvim.attrsets) mapListToAttrs;
|
||||
|
|
@ -29,12 +29,22 @@ in {
|
|||
enable = mkEnableOption "WGSL language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.wgsl.lsp.servers" (enum (attrNames servers));
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkOption mkEnableOption;
|
||||
inherit (lib.options) mkOption mkEnableOption literalExpression;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.types) enum listOf;
|
||||
|
|
@ -30,12 +30,22 @@ in {
|
|||
enable = mkEnableOption "XML language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = listOf (enum (attrNames servers));
|
||||
default = defaultServers;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.generators) mkLuaInline;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.types) enum;
|
||||
|
|
@ -51,13 +51,23 @@ in {
|
|||
enable = mkEnableOption "YAML language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.yaml.lsp.servers" (enum (attrNames servers));
|
||||
default = defaultServers;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||
inherit (lib.modules) mkIf mkMerge mkDefault;
|
||||
inherit (lib.types) bool package enum;
|
||||
inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf;
|
||||
|
|
@ -59,12 +59,22 @@ in {
|
|||
enable = mkEnableOption "Zig language support";
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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 {
|
||||
type = deprecatedSingleOrListOf "vim.language.zig.lsp.servers" (enum (attrNames servers));
|
||||
|
|
@ -77,6 +87,7 @@ in {
|
|||
enable = mkOption {
|
||||
type = bool;
|
||||
default = config.vim.languages.enableDAP;
|
||||
defaultText = literalExpression "config.vim.languages.enableDAP";
|
||||
description = "Enable Zig Debug Adapter";
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue