From 2e7079e4298866693b1c877e71c31f5d03fdf5c0 Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sat, 23 Aug 2025 13:50:35 +0200 Subject: [PATCH 1/9] language/python: allow multiple formatters --- modules/plugins/languages/python.nix | 61 ++++++++++++---------------- 1 file changed, 27 insertions(+), 34 deletions(-) diff --git a/modules/plugins/languages/python.nix b/modules/plugins/languages/python.nix index 6f97f70c..430926b4 100644 --- a/modules/plugins/languages/python.nix +++ b/modules/plugins/languages/python.nix @@ -4,8 +4,9 @@ lib, ... }: let - inherit (builtins) attrNames; + inherit (builtins) attrNames warn; inherit (lib.options) mkEnableOption mkOption literalExpression; + inherit (lib.lists) flatten; inherit (lib.meta) getExe; inherit (lib.modules) mkIf mkMerge; inherit (lib.types) enum package bool; @@ -123,31 +124,19 @@ defaultFormat = "black"; formats = { black = { - package = pkgs.black; + command = getExe pkgs.black; }; isort = { - package = pkgs.isort; + command = getExe pkgs.isort; }; - black-and-isort = { - package = pkgs.writeShellApplication { - name = "black"; - runtimeInputs = [pkgs.black pkgs.isort]; - text = '' - black --quiet - "$@" | isort --profile black - - ''; - }; - }; + # dummy option for backwards compat + black-and-isort = {}; ruff = { - package = pkgs.writeShellApplication { - name = "ruff"; - runtimeInputs = [pkgs.ruff]; - text = '' - ruff format - - ''; - }; + command = getExe pkgs.ruff; + args = ["format" "-"]; }; }; @@ -240,9 +229,9 @@ in { enable = mkEnableOption "Python formatting" // {default = config.vim.languages.enableFormat;}; type = mkOption { - type = enum (attrNames formats); + type = singleOrListOf (enum (attrNames formats)); default = defaultFormat; - description = "Python formatter to use"; + description = "Python formatters to use"; }; package = mkOption { @@ -316,21 +305,25 @@ in { }) (mkIf cfg.format.enable { - vim.formatter.conform-nvim = { + vim.formatter.conform-nvim = let + names = flatten (map (type: + if type == "black-and-isort" + then + warn '' + vim.languages.python.format.type: "black-and-isort" is deprecated, + use `["black" "isort"]` instead. + '' ["black" "isort"] + else type) + cfg.format.type); + in { enable = true; - # HACK: I'm planning to remove these soon so I just took the easiest way out - setupOpts.formatters_by_ft.python = - if cfg.format.type == "black-and-isort" - then ["black"] - else [cfg.format.type]; + setupOpts.formatters_by_ft.python = names; setupOpts.formatters = - if (cfg.format.type == "black-and-isort") - then { - black.command = "${cfg.format.package}/bin/black"; - } - else { - ${cfg.format.type}.command = getExe cfg.format.package; - }; + mapListToAttrs (name: { + inherit name; + value = formats.${name}; + }) + names; }; }) From 1869f462ae6e302623701d37c67ded6eeb56726d Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sat, 23 Aug 2025 15:17:12 +0200 Subject: [PATCH 2/9] language/astro: remove broken format option --- modules/plugins/languages/astro.nix | 44 +---------------------------- 1 file changed, 1 insertion(+), 43 deletions(-) diff --git a/modules/plugins/languages/astro.nix b/modules/plugins/languages/astro.nix index a16f286e..4669e3c6 100644 --- a/modules/plugins/languages/astro.nix +++ b/modules/plugins/languages/astro.nix @@ -8,7 +8,7 @@ inherit (lib.options) mkEnableOption mkOption; inherit (lib.modules) mkIf mkMerge; inherit (lib.meta) getExe; - inherit (lib.types) enum package; + inherit (lib.types) enum; inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.types) mkGrammarOption diagnostics singleOrListOf; inherit (lib.generators) mkLuaInline; @@ -40,22 +40,6 @@ }; }; - # TODO: specify packages - defaultFormat = "prettier"; - formats = { - prettier = { - package = pkgs.prettier; - }; - - prettierd = { - package = pkgs.prettierd; - }; - - biome = { - package = pkgs.biome; - }; - }; - # TODO: specify packages defaultDiagnosticsProvider = ["eslint_d"]; diagnosticsProviders = { @@ -95,22 +79,6 @@ in { }; }; - format = { - enable = mkEnableOption "Astro formatting" // {default = config.vim.languages.enableFormat;}; - - type = mkOption { - type = enum (attrNames formats); - default = defaultFormat; - description = "Astro formatter to use"; - }; - - package = mkOption { - type = package; - default = formats.${cfg.format.type}.package; - description = "Astro formatter package"; - }; - }; - extraDiagnostics = { enable = mkEnableOption "extra Astro diagnostics" // {default = config.vim.languages.enableExtraDiagnostics;}; @@ -137,16 +105,6 @@ in { cfg.lsp.servers; }) - (mkIf cfg.format.enable { - vim.formatter.conform-nvim = { - enable = true; - setupOpts.formatters_by_ft.astro = [cfg.format.type]; - setupOpts.formatters.${cfg.format.type} = { - command = getExe cfg.format.package; - }; - }; - }) - (mkIf cfg.extraDiagnostics.enable { vim.diagnostics.nvim-lint = { enable = true; From a2b3010bb3d5fcc98b9f67a53d1753a734d6db16 Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sat, 23 Aug 2025 20:04:28 +0200 Subject: [PATCH 3/9] language/svelte: remove broken format option --- modules/plugins/languages/svelte.nix | 41 +--------------------------- 1 file changed, 1 insertion(+), 40 deletions(-) diff --git a/modules/plugins/languages/svelte.nix b/modules/plugins/languages/svelte.nix index 301a51d7..11cfc4aa 100644 --- a/modules/plugins/languages/svelte.nix +++ b/modules/plugins/languages/svelte.nix @@ -8,7 +8,7 @@ inherit (lib.options) mkEnableOption mkOption; inherit (lib.modules) mkIf mkMerge; inherit (lib.meta) getExe; - inherit (lib.types) enum package; + inherit (lib.types) enum; inherit (lib.nvim.types) mkGrammarOption diagnostics singleOrListOf; inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.generators) mkLuaInline; @@ -53,19 +53,6 @@ }; }; - # TODO: specify packages - defaultFormat = "prettier"; - formats = { - prettier = { - package = pkgs.prettier; - }; - - biome = { - package = pkgs.biome; - }; - }; - - # TODO: specify packages defaultDiagnosticsProvider = ["eslint_d"]; diagnosticsProviders = { eslint_d = let @@ -105,22 +92,6 @@ in { }; }; - format = { - enable = mkEnableOption "Svelte formatting" // {default = config.vim.languages.enableFormat;}; - - type = mkOption { - type = enum (attrNames formats); - default = defaultFormat; - description = "Svelte formatter to use"; - }; - - package = mkOption { - type = package; - default = formats.${cfg.format.type}.package; - description = "Svelte formatter package"; - }; - }; - extraDiagnostics = { enable = mkEnableOption "extra Svelte diagnostics" // {default = config.vim.languages.enableExtraDiagnostics;}; @@ -147,16 +118,6 @@ in { cfg.lsp.servers; }) - (mkIf cfg.format.enable { - vim.formatter.conform-nvim = { - enable = true; - setupOpts.formatters_by_ft.svelte = [cfg.format.type]; - setupOpts.formatters.${cfg.format.type} = { - command = getExe cfg.format.package; - }; - }; - }) - (mkIf cfg.extraDiagnostics.enable { vim.diagnostics.nvim-lint = { enable = true; From 70555904a0197f9ffd21966678b4b7361059d7ba Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sat, 23 Aug 2025 16:04:51 +0200 Subject: [PATCH 4/9] languages: allow listOf format.type --- modules/plugins/languages/bash.nix | 25 +++++----- modules/plugins/languages/clojure.nix | 4 +- modules/plugins/languages/css.nix | 45 ++++++------------ modules/plugins/languages/elixir.nix | 27 +++++------ modules/plugins/languages/fsharp.nix | 25 +++++----- modules/plugins/languages/go.nix | 28 +++++------- modules/plugins/languages/hcl.nix | 26 +++++------ modules/plugins/languages/html.nix | 30 +++++------- modules/plugins/languages/json.nix | 30 +++++------- modules/plugins/languages/lua.nix | 27 +++++------ modules/plugins/languages/markdown.nix | 44 +++++++++--------- modules/plugins/languages/nim.nix | 26 +++++------ modules/plugins/languages/nix.nix | 27 +++++------ modules/plugins/languages/ocaml.nix | 24 +++++----- modules/plugins/languages/python.nix | 8 +--- modules/plugins/languages/qml.nix | 31 ++++++------- modules/plugins/languages/r.nix | 63 ++++++++++++-------------- modules/plugins/languages/ruby.nix | 26 +++++------ modules/plugins/languages/rust.nix | 26 +++++------ modules/plugins/languages/sql.nix | 26 +++++------ modules/plugins/languages/ts.nix | 29 ++++++------ modules/plugins/languages/typst.nix | 25 +++++----- 22 files changed, 265 insertions(+), 357 deletions(-) diff --git a/modules/plugins/languages/bash.nix b/modules/plugins/languages/bash.nix index 4597666a..6b81637e 100644 --- a/modules/plugins/languages/bash.nix +++ b/modules/plugins/languages/bash.nix @@ -8,7 +8,7 @@ inherit (lib.options) mkOption mkEnableOption; inherit (lib.meta) getExe; inherit (lib.modules) mkIf mkMerge; - inherit (lib.types) enum package bool; + inherit (lib.types) enum bool; inherit (lib.generators) mkLuaInline; inherit (lib.nvim.types) diagnostics mkGrammarOption singleOrListOf; inherit (lib.nvim.attrsets) mapListToAttrs; @@ -30,10 +30,10 @@ }; }; - defaultFormat = "shfmt"; + defaultFormat = ["shfmt"]; formats = { shfmt = { - package = pkgs.shfmt; + command = getExe pkgs.shfmt; }; }; @@ -68,16 +68,10 @@ in { description = "Enable Bash formatting"; }; type = mkOption { - type = enum (attrNames formats); + type = singleOrListOf (enum (attrNames formats)); default = defaultFormat; description = "Bash formatter to use"; }; - - package = mkOption { - type = package; - default = formats.${cfg.format.type}.package; - description = "Bash formatter package"; - }; }; extraDiagnostics = { @@ -108,10 +102,13 @@ in { (mkIf cfg.format.enable { vim.formatter.conform-nvim = { enable = true; - setupOpts.formatters_by_ft.sh = [cfg.format.type]; - setupOpts.formatters.${cfg.format.type} = { - command = getExe cfg.format.package; - }; + setupOpts.formatters_by_ft.sh = cfg.format.type; + setupOpts.formatters = + mapListToAttrs (name: { + inherit name; + value = formats.${name}; + }) + cfg.format.type; }; }) diff --git a/modules/plugins/languages/clojure.nix b/modules/plugins/languages/clojure.nix index 442df2b7..53c7fbbe 100644 --- a/modules/plugins/languages/clojure.nix +++ b/modules/plugins/languages/clojure.nix @@ -8,10 +8,8 @@ inherit (lib.options) mkEnableOption mkOption; inherit (lib.modules) mkIf mkMerge; inherit (lib.meta) getExe; - inherit (lib.lists) isList; - inherit (lib.types) enum either listOf package str; + inherit (lib.types) enum listOf; inherit (lib.nvim.types) mkGrammarOption; - inherit (lib.nvim.lua) expToLua; inherit (lib.nvim.attrsets) mapListToAttrs; cfg = config.vim.languages.clojure; diff --git a/modules/plugins/languages/css.nix b/modules/plugins/languages/css.nix index 2d767ffc..28205a03 100644 --- a/modules/plugins/languages/css.nix +++ b/modules/plugins/languages/css.nix @@ -8,7 +8,7 @@ inherit (lib.options) mkEnableOption mkOption; inherit (lib.meta) getExe; inherit (lib.modules) mkIf mkMerge; - inherit (lib.types) enum package; + inherit (lib.types) enum; inherit (lib.nvim.types) mkGrammarOption singleOrListOf; inherit (lib.nvim.attrsets) mapListToAttrs; @@ -30,34 +30,18 @@ }; }; - defaultFormat = "prettier"; + defaultFormat = ["prettier"]; formats = { prettier = { - package = pkgs.prettier; + command = getExe pkgs.prettier; }; prettierd = { - package = pkgs.prettierd; - nullConfig = '' - table.insert( - ls_sources, - null_ls.builtins.formatting.prettier.with({ - command = "${cfg.format.package}/bin/prettierd", - }) - ) - ''; + command = getExe pkgs.prettierd; }; biome = { - package = pkgs.biome; - nullConfig = '' - table.insert( - ls_sources, - null_ls.builtins.formatting.biome.with({ - command = "${cfg.format.package}/bin/biome", - }) - ) - ''; + command = getExe pkgs.biome; }; }; in { @@ -85,15 +69,9 @@ in { type = mkOption { description = "CSS formatter to use"; - type = enum (attrNames formats); + type = singleOrListOf (enum (attrNames formats)); default = defaultFormat; }; - - package = mkOption { - description = "CSS formatter package"; - type = package; - default = formats.${cfg.format.type}.package; - }; }; }; @@ -115,10 +93,13 @@ in { (mkIf cfg.format.enable { vim.formatter.conform-nvim = { enable = true; - setupOpts.formatters_by_ft.css = [cfg.format.type]; - setupOpts.formatters.${cfg.format.type} = { - command = getExe cfg.format.package; - }; + setupOpts.formatters_by_ft.css = cfg.format.type; + setupOpts.formatters = + mapListToAttrs (name: { + inherit name; + value = formats.${name}; + }) + cfg.format.type; }; }) ]); diff --git a/modules/plugins/languages/elixir.nix b/modules/plugins/languages/elixir.nix index 12c8a517..77f1f3e9 100644 --- a/modules/plugins/languages/elixir.nix +++ b/modules/plugins/languages/elixir.nix @@ -8,7 +8,7 @@ inherit (lib.options) mkEnableOption mkOption; inherit (lib.modules) mkIf mkMerge; inherit (lib.meta) getExe; - inherit (lib.types) enum package; + inherit (lib.types) enum; inherit (lib.generators) mkLuaInline; inherit (lib.nvim.types) mkGrammarOption singleOrListOf; inherit (lib.nvim.dag) entryAnywhere; @@ -40,13 +40,10 @@ }; }; - defaultFormat = "mix"; + defaultFormat = ["mix"]; formats = { mix = { - package = pkgs.elixir; - config = { - command = "${cfg.format.package}/bin/mix"; - }; + command = "${pkgs.elixir}/bin/mix"; }; }; in { @@ -73,16 +70,10 @@ in { enable = mkEnableOption "Elixir formatting" // {default = config.vim.languages.enableFormat;}; type = mkOption { - type = enum (attrNames formats); + type = singleOrListOf (enum (attrNames formats)); default = defaultFormat; description = "Elixir formatter to use"; }; - - package = mkOption { - type = package; - default = formats.${cfg.format.type}.package; - description = "Elixir formatter package"; - }; }; elixir-tools = { @@ -112,9 +103,13 @@ in { (mkIf cfg.format.enable { vim.formatter.conform-nvim = { enable = true; - setupOpts.formatters_by_ft.elixir = [cfg.format.type]; - setupOpts.formatters.${cfg.format.type} = - formats.${cfg.format.type}.config; + setupOpts.formatters_by_ft.elixir = cfg.format.type; + setupOpts.formatters = + mapListToAttrs (name: { + inherit name; + value = formats.${name}; + }) + cfg.format.type; }; }) diff --git a/modules/plugins/languages/fsharp.nix b/modules/plugins/languages/fsharp.nix index 9ead9a48..53acda6f 100644 --- a/modules/plugins/languages/fsharp.nix +++ b/modules/plugins/languages/fsharp.nix @@ -6,7 +6,7 @@ }: let inherit (builtins) attrNames; inherit (lib.options) mkEnableOption mkOption; - inherit (lib.types) package enum; + inherit (lib.types) enum; inherit (lib.meta) getExe; inherit (lib.modules) mkIf mkMerge; inherit (lib.generators) mkLuaInline; @@ -51,10 +51,10 @@ }; }; - defaultFormat = "fantomas"; + defaultFormat = ["fantomas"]; formats = { fantomas = { - package = pkgs.fantomas; + command = getExe pkgs.fantomas; }; }; @@ -81,16 +81,10 @@ in { enable = mkEnableOption "F# formatting" // {default = config.vim.languages.enableFormat;}; type = mkOption { - type = enum (attrNames formats); + type = singleOrListOf (enum (attrNames formats)); default = defaultFormat; description = "F# formatter to use"; }; - - package = mkOption { - type = package; - default = formats.${cfg.format.type}.package; - description = "F# formatter package"; - }; }; }; }; @@ -113,10 +107,13 @@ in { (mkIf cfg.format.enable { vim.formatter.conform-nvim = { enable = true; - setupOpts.formatters_by_ft.fsharp = [cfg.format.type]; - setupOpts.formatters.${cfg.format.type} = { - command = getExe cfg.format.package; - }; + setupOpts.formatters_by_ft.fsharp = cfg.format.type; + setupOpts.formatters = + mapListToAttrs (name: { + inherit name; + value = formats.${name}; + }) + cfg.format.type; }; }) ]); diff --git a/modules/plugins/languages/go.nix b/modules/plugins/languages/go.nix index 5b1aeebb..1f4cd3a1 100644 --- a/modules/plugins/languages/go.nix +++ b/modules/plugins/languages/go.nix @@ -59,19 +59,16 @@ }; }; - defaultFormat = "gofmt"; + defaultFormat = ["gofmt"]; formats = { gofmt = { - package = pkgs.go; - config.command = "${cfg.format.package}/bin/gofmt"; + command = "${pkgs.go}/bin/gofmt"; }; gofumpt = { - package = pkgs.gofumpt; - config.command = getExe cfg.format.package; + command = getExe pkgs.gofumpt; }; golines = { - package = pkgs.golines; - config.command = "${cfg.format.package}/bin/golines"; + command = "${pkgs.golines}/bin/golines"; }; }; @@ -113,15 +110,9 @@ in { type = mkOption { description = "Go formatter to use"; - type = enum (attrNames formats); + type = singleOrListOf (enum (attrNames formats)); default = defaultFormat; }; - - package = mkOption { - description = "Go formatter package"; - type = package; - default = formats.${cfg.format.type}.package; - }; }; dap = { @@ -163,8 +154,13 @@ in { (mkIf cfg.format.enable { vim.formatter.conform-nvim = { enable = true; - setupOpts.formatters_by_ft.go = [cfg.format.type]; - setupOpts.formatters.${cfg.format.type} = formats.${cfg.format.type}.config; + setupOpts.formatters_by_ft.go = cfg.format.type; + setupOpts.formatters = + mapListToAttrs (name: { + inherit name; + value = formats.${name}; + }) + cfg.format.type; }; }) diff --git a/modules/plugins/languages/hcl.nix b/modules/plugins/languages/hcl.nix index ca00f600..399de341 100644 --- a/modules/plugins/languages/hcl.nix +++ b/modules/plugins/languages/hcl.nix @@ -8,8 +8,8 @@ inherit (lib.options) mkEnableOption mkOption; inherit (lib.meta) getExe; inherit (lib.modules) mkIf mkMerge; - inherit (lib.types) package bool enum listOf; - inherit (lib.nvim.types) mkGrammarOption; + inherit (lib.types) bool enum listOf; + inherit (lib.nvim.types) mkGrammarOption singleOrListOf; inherit (lib.nvim.attrsets) mapListToAttrs; cfg = config.vim.languages.hcl; @@ -24,10 +24,10 @@ }; }; - defaultFormat = "hclfmt"; + defaultFormat = ["hclfmt"]; formats = { hclfmt = { - package = pkgs.hclfmt; + command = getExe pkgs.hclfmt; }; }; in { @@ -55,15 +55,10 @@ in { description = "Enable HCL formatting"; }; type = mkOption { - type = enum (attrNames formats); + type = singleOrListOf (enum (attrNames formats)); default = defaultFormat; description = "HCL formatter to use"; }; - package = mkOption { - type = package; - default = formats.${cfg.format.type}.package; - description = "HCL formatter package"; - }; }; }; @@ -103,10 +98,13 @@ in { (mkIf cfg.format.enable { vim.formatter.conform-nvim = { enable = true; - setupOpts.formatters_by_ft.hcl = [cfg.format.type]; - setupOpts.formatters.${cfg.format.type} = { - command = getExe cfg.format.package; - }; + setupOpts.formatters_by_ft.hcl = cfg.format.type; + setupOpts.formatters = + mapListToAttrs (name: { + inherit name; + value = formats.${name}; + }) + cfg.format.type; }; }) ]); diff --git a/modules/plugins/languages/html.nix b/modules/plugins/languages/html.nix index bcc6b842..3121be97 100644 --- a/modules/plugins/languages/html.nix +++ b/modules/plugins/languages/html.nix @@ -8,7 +8,7 @@ inherit (lib.meta) getExe; inherit (lib.options) mkEnableOption mkOption; inherit (lib.modules) mkIf mkMerge; - inherit (lib.types) bool enum package; + inherit (lib.types) bool enum; inherit (lib.lists) optional; inherit (lib.nvim.types) mkGrammarOption diagnostics singleOrListOf; inherit (lib.nvim.dag) entryAnywhere; @@ -25,14 +25,11 @@ }; }; - defaultFormat = "superhtml"; + defaultFormat = ["superhtml"]; formats = { superhtml = { - package = pkgs.writeShellApplication { - name = "superhtml_fmt"; - runtimeInputs = [pkgs.superhtml]; - text = "superhtml fmt -"; - }; + command = "${pkgs.superhtml}/bin/superhtml"; + args = ["fmt" "-"]; }; }; @@ -68,16 +65,10 @@ in { enable = mkEnableOption "HTML formatting" // {default = config.vim.languages.enableFormat;}; type = mkOption { - type = enum (attrNames formats); + type = singleOrListOf (enum (attrNames formats)); default = defaultFormat; description = "HTML formatter to use"; }; - - package = mkOption { - type = package; - default = formats.${cfg.format.type}.package; - description = "HTML formatter package"; - }; }; extraDiagnostics = { @@ -119,10 +110,13 @@ in { (mkIf (cfg.format.enable && !cfg.lsp.enable) { vim.formatter.conform-nvim = { enable = true; - setupOpts.formatters_by_ft.html = [cfg.format.type]; - setupOpts.formatters.${cfg.format.type} = { - command = getExe cfg.format.package; - }; + setupOpts.formatters_by_ft.html = cfg.format.type; + setupOpts.formatters = + mapListToAttrs (name: { + inherit name; + value = formats.${name}; + }) + cfg.format.type; }; }) diff --git a/modules/plugins/languages/json.nix b/modules/plugins/languages/json.nix index 26349710..fefb4559 100644 --- a/modules/plugins/languages/json.nix +++ b/modules/plugins/languages/json.nix @@ -8,7 +8,7 @@ inherit (lib.options) mkOption mkEnableOption; inherit (lib.meta) getExe' getExe; inherit (lib.modules) mkIf mkMerge; - inherit (lib.types) enum package; + inherit (lib.types) enum; inherit (lib.nvim.types) mkGrammarOption singleOrListOf; inherit (lib.nvim.attrsets) mapListToAttrs; @@ -24,15 +24,12 @@ }; }; - defaultFormat = "jsonfmt"; + defaultFormat = ["jsonfmt"]; formats = { jsonfmt = { - package = pkgs.writeShellApplication { - name = "jsonfmt"; - runtimeInputs = [pkgs.jsonfmt]; - text = "jsonfmt -w -"; - }; + command = getExe pkgs.jsonfmt; + args = ["-w" "-"]; }; }; in { @@ -60,15 +57,9 @@ in { type = mkOption { description = "JSON formatter to use"; - type = enum (attrNames formats); + type = singleOrListOf (enum (attrNames formats)); default = defaultFormat; }; - - package = mkOption { - description = "JSON formatter package"; - type = package; - default = formats.${cfg.format.type}.package; - }; }; }; @@ -90,10 +81,13 @@ in { (mkIf cfg.format.enable { vim.formatter.conform-nvim = { enable = true; - setupOpts.formatters_by_ft.json = [cfg.format.type]; - setupOpts.formatters.${cfg.format.type} = { - command = getExe cfg.format.package; - }; + setupOpts.formatters_by_ft.json = cfg.format.type; + setupOpts.formatters = + mapListToAttrs (name: { + inherit name; + value = formats.${name}; + }) + cfg.format.type; }; }) ]); diff --git a/modules/plugins/languages/lua.nix b/modules/plugins/languages/lua.nix index e454eaa8..e5d3eeba 100644 --- a/modules/plugins/languages/lua.nix +++ b/modules/plugins/languages/lua.nix @@ -8,8 +8,8 @@ inherit (lib.options) mkEnableOption mkOption; inherit (lib.modules) mkIf mkMerge; inherit (lib.meta) getExe; - inherit (lib.types) bool enum listOf package; - inherit (lib.nvim.types) diagnostics mkGrammarOption; + inherit (lib.types) bool enum listOf; + inherit (lib.nvim.types) diagnostics mkGrammarOption singleOrListOf; inherit (lib.nvim.dag) entryBefore; inherit (lib.nvim.attrsets) mapListToAttrs; @@ -34,10 +34,10 @@ }; }; - defaultFormat = "stylua"; + defaultFormat = ["stylua"]; formats = { stylua = { - package = pkgs.stylua; + command = getExe pkgs.stylua; }; }; @@ -79,16 +79,10 @@ in { description = "Enable Lua formatting"; }; type = mkOption { - type = enum (attrNames formats); + type = singleOrListOf (enum (attrNames formats)); default = defaultFormat; description = "Lua formatter to use"; }; - - package = mkOption { - type = package; - default = formats.${cfg.format.type}.package; - description = "Lua formatter package"; - }; }; extraDiagnostics = { @@ -132,10 +126,13 @@ in { (mkIf cfg.format.enable { vim.formatter.conform-nvim = { enable = true; - setupOpts.formatters_by_ft.lua = [cfg.format.type]; - setupOpts.formatters.${cfg.format.type} = { - command = getExe cfg.format.package; - }; + setupOpts.formatters_by_ft.lua = cfg.format.type; + setupOpts.formatters = + mapListToAttrs (name: { + inherit name; + value = formats.${name}; + }) + cfg.format.type; }; }) diff --git a/modules/plugins/languages/markdown.nix b/modules/plugins/languages/markdown.nix index 0a3f0945..c12bdb63 100644 --- a/modules/plugins/languages/markdown.nix +++ b/modules/plugins/languages/markdown.nix @@ -4,11 +4,11 @@ lib, ... }: let - inherit (builtins) attrNames; + inherit (builtins) attrNames warn; inherit (lib.meta) getExe; inherit (lib.modules) mkIf mkMerge; inherit (lib.options) mkEnableOption mkOption; - inherit (lib.types) bool enum package listOf str nullOr; + inherit (lib.types) bool enum listOf str nullOr; inherit (lib.nvim.lua) toLuaObject; inherit (lib.nvim.types) diagnostics mkGrammarOption mkPluginSetupOption singleOrListOf; inherit (lib.nvim.dag) entryAnywhere; @@ -25,17 +25,17 @@ }; }; - defaultFormat = "deno_fmt"; + defaultFormat = ["deno_fmt"]; formats = { # for backwards compatibility denofmt = { - package = pkgs.deno; + command = getExe pkgs.deno; }; deno_fmt = { - package = pkgs.deno; + command = getExe pkgs.deno; }; prettierd = { - package = pkgs.prettierd; + command = getExe pkgs.prettierd; }; }; defaultDiagnosticsProvider = ["markdownlint-cli2"]; @@ -72,17 +72,11 @@ in { enable = mkEnableOption "Markdown formatting" // {default = config.vim.languages.enableFormat;}; type = mkOption { - type = enum (attrNames formats); + type = singleOrListOf (enum (attrNames formats)); default = defaultFormat; description = "Markdown formatter to use. `denofmt` is deprecated and currently aliased to deno_fmt."; }; - package = mkOption { - type = package; - default = formats.${cfg.format.type}.package; - description = "Markdown formatter package"; - }; - extraFiletypes = mkOption { type = listOf str; default = []; @@ -157,14 +151,22 @@ in { (mkIf cfg.format.enable { vim.formatter.conform-nvim = { enable = true; - setupOpts.formatters_by_ft.markdown = [cfg.format.type]; - setupOpts.formatters.${ - if cfg.format.type == "denofmt" - then "deno_fmt" - else cfg.format.type - } = { - command = getExe cfg.format.package; - }; + setupOpts.formatters_by_ft.markdown = cfg.format.type; + setupOpts.formatters = let + names = map (name: + if name == "denofmt" + then + warn '' + vim.languages.markdown.format.type: "denofmt" is renamed to "deno_fmt". + '' "deno_fmt" + else name) + cfg.format.type; + in + mapListToAttrs (name: { + inherit name; + value = formats.${name}; + }) + names; }; }) diff --git a/modules/plugins/languages/nim.nix b/modules/plugins/languages/nim.nix index b4fab356..140fe713 100644 --- a/modules/plugins/languages/nim.nix +++ b/modules/plugins/languages/nim.nix @@ -8,7 +8,7 @@ inherit (lib.options) mkEnableOption mkOption; inherit (lib.meta) getExe'; inherit (lib.modules) mkIf mkMerge; - inherit (lib.types) enum package; + inherit (lib.types) enum; inherit (lib.nvim.types) mkGrammarOption singleOrListOf; inherit (lib.generators) mkLuaInline; inherit (lib.nvim.attrsets) mapListToAttrs; @@ -37,13 +37,10 @@ }; }; - defaultFormat = "nimpretty"; + defaultFormat = ["nimpretty"]; formats = { nimpretty = { - package = pkgs.nim; - config = { - command = "${cfg.format.package}/bin/nimpretty"; - }; + command = "${pkgs.nim}/bin/nimpretty"; }; }; in { @@ -68,16 +65,10 @@ in { format = { enable = mkEnableOption "Nim formatting" // {default = config.vim.languages.enableFormat;}; type = mkOption { - type = enum (attrNames formats); + type = singleOrListOf (enum (attrNames formats)); default = defaultFormat; description = "Nim formatter to use"; }; - - package = mkOption { - type = package; - default = formats.${cfg.format.type}.package; - description = "Nim formatter package"; - }; }; }; @@ -108,8 +99,13 @@ in { (mkIf cfg.format.enable { vim.formatter.conform-nvim = { enable = true; - setupOpts.formatters_by_ft.nim = [cfg.format.type]; - setupOpts.formatters.${cfg.format.type} = formats.${cfg.format.type}.config; + setupOpts.formatters_by_ft.nim = cfg.format.type; + setupOpts.formatters = + mapListToAttrs (name: { + inherit name; + value = formats.${name}; + }) + cfg.format.type; }; }) ]); diff --git a/modules/plugins/languages/nix.nix b/modules/plugins/languages/nix.nix index 6127f78e..7c2cbdce 100644 --- a/modules/plugins/languages/nix.nix +++ b/modules/plugins/languages/nix.nix @@ -9,7 +9,7 @@ inherit (lib.meta) getExe; inherit (lib.options) mkEnableOption mkOption; inherit (lib.modules) mkIf mkMerge; - inherit (lib.types) enum package; + inherit (lib.types) enum; inherit (lib.nvim.types) mkGrammarOption diagnostics singleOrListOf; inherit (lib.nvim.attrsets) mapListToAttrs; @@ -49,14 +49,14 @@ }; }; - defaultFormat = "alejandra"; + defaultFormat = ["alejandra"]; formats = { alejandra = { - package = pkgs.alejandra; + command = getExe pkgs.alejandra; }; nixfmt = { - package = pkgs.nixfmt-rfc-style; + command = getExe pkgs.nixfmt-rfc-style; }; }; @@ -109,15 +109,9 @@ in { type = mkOption { description = "Nix formatter to use"; - type = enum (attrNames formats); + type = singleOrListOf (enum (attrNames formats)); default = defaultFormat; }; - - package = mkOption { - description = "Nix formatter package"; - type = package; - default = formats.${cfg.format.type}.package; - }; }; extraDiagnostics = { @@ -161,10 +155,13 @@ in { (mkIf (cfg.format.enable && !cfg.lsp.enable) { vim.formatter.conform-nvim = { enable = true; - setupOpts.formatters_by_ft.nix = [cfg.format.type]; - setupOpts.formatters.${cfg.format.type} = { - command = getExe cfg.format.package; - }; + setupOpts.formatters_by_ft.nix = cfg.format.type; + setupOpts.formatters = + mapListToAttrs (name: { + inherit name; + value = formats.${name}; + }) + cfg.format.type; }; }) diff --git a/modules/plugins/languages/ocaml.nix b/modules/plugins/languages/ocaml.nix index cf9fdd93..031a979d 100644 --- a/modules/plugins/languages/ocaml.nix +++ b/modules/plugins/languages/ocaml.nix @@ -8,7 +8,7 @@ inherit (lib.options) mkEnableOption mkOption; inherit (lib.modules) mkIf mkMerge; inherit (lib.meta) getExe; - inherit (lib.types) enum package; + inherit (lib.types) enum; inherit (lib.nvim.types) mkGrammarOption singleOrListOf; inherit (lib.generators) mkLuaInline; inherit (lib.nvim.attrsets) mapListToAttrs; @@ -55,10 +55,10 @@ }; }; - defaultFormat = "ocamlformat"; + defaultFormat = ["ocamlformat"]; formats = { ocamlformat = { - package = pkgs.ocamlPackages.ocamlformat; + command = getExe pkgs.ocamlPackages.ocamlformat; }; }; in { @@ -83,15 +83,10 @@ in { format = { enable = mkEnableOption "OCaml formatting support (ocamlformat)" // {default = config.vim.languages.enableFormat;}; type = mkOption { - type = enum (attrNames formats); + type = singleOrListOf (enum (attrNames formats)); default = defaultFormat; description = "OCaml formatter to use"; }; - package = mkOption { - type = package; - default = formats.${cfg.format.type}.package; - description = "OCaml formatter package"; - }; }; }; @@ -113,10 +108,13 @@ in { (mkIf cfg.format.enable { vim.formatter.conform-nvim = { enable = true; - setupOpts.formatters_by_ft.ocaml = [cfg.format.type]; - setupOpts.formatters.${cfg.format.type} = { - command = getExe cfg.format.package; - }; + setupOpts.formatters_by_ft.ocaml = cfg.format.type; + setupOpts.formatters = + mapListToAttrs (name: { + inherit name; + value = formats.${name}; + }) + cfg.format.type; }; }) ]); diff --git a/modules/plugins/languages/python.nix b/modules/plugins/languages/python.nix index 430926b4..d5837643 100644 --- a/modules/plugins/languages/python.nix +++ b/modules/plugins/languages/python.nix @@ -121,7 +121,7 @@ }; }; - defaultFormat = "black"; + defaultFormat = ["black"]; formats = { black = { command = getExe pkgs.black; @@ -233,12 +233,6 @@ in { default = defaultFormat; description = "Python formatters to use"; }; - - package = mkOption { - type = package; - default = formats.${cfg.format.type}.package; - description = "Python formatter package"; - }; }; # TODO this implementation is very bare bones, I don't know enough python to implement everything diff --git a/modules/plugins/languages/qml.nix b/modules/plugins/languages/qml.nix index 6750a55a..b358b722 100644 --- a/modules/plugins/languages/qml.nix +++ b/modules/plugins/languages/qml.nix @@ -5,10 +5,10 @@ ... }: let inherit (builtins) attrNames; - inherit (lib.meta) getExe getExe'; + inherit (lib.meta) getExe'; inherit (lib.options) mkEnableOption mkOption; inherit (lib.modules) mkIf mkMerge; - inherit (lib.types) enum package; + inherit (lib.types) enum; inherit (lib.nvim.types) mkGrammarOption singleOrListOf; inherit (lib.nvim.attrsets) mapListToAttrs; @@ -28,11 +28,9 @@ defaultFormat = "qmlformat"; formats = { qmlformat = { - package = pkgs.writeShellApplication { - name = "qmlformat"; - runtimeInputs = [qmlPackage]; - text = "qmlformat -"; - }; + command = "${qmlPackage}/bin/qmlformat"; + args = ["-i" "$FILENAME"]; + stdin = false; }; }; in { @@ -56,16 +54,10 @@ in { enable = mkEnableOption "QML formatting" // {default = config.vim.languages.enableFormat;}; type = mkOption { - type = enum (attrNames formats); + type = singleOrListOf (enum (attrNames formats)); default = defaultFormat; description = "QML formatter to use"; }; - - package = mkOption { - type = package; - default = formats.${cfg.format.type}.package; - description = "QML formatter package"; - }; }; }; @@ -88,10 +80,13 @@ in { (mkIf (cfg.format.enable && !cfg.lsp.enable) { vim.formatter.conform-nvim = { enable = true; - setupOpts.formatters_by_ft.qml = [cfg.format.type]; - setupOpts.formatters.${cfg.format.type} = { - command = getExe cfg.format.package; - }; + setupOpts.formatters_by_ft.qml = cfg.format.type; + setupOpts.formatters = + mapListToAttrs (name: { + inherit name; + value = formats.${name}; + }) + cfg.format.type; }; }) ]); diff --git a/modules/plugins/languages/r.nix b/modules/plugins/languages/r.nix index 873edaa3..ae046574 100644 --- a/modules/plugins/languages/r.nix +++ b/modules/plugins/languages/r.nix @@ -7,7 +7,7 @@ inherit (builtins) attrNames; inherit (lib.options) mkEnableOption mkOption; inherit (lib.modules) mkIf mkMerge; - inherit (lib.types) enum package; + inherit (lib.types) enum; inherit (lib.meta) getExe; inherit (lib.nvim.types) mkGrammarOption singleOrListOf; inherit (lib.nvim.attrsets) mapListToAttrs; @@ -19,35 +19,31 @@ packages = [pkgs.rPackages.languageserver]; }; - defaultFormat = "format_r"; + defaultFormat = ["format_r"]; formats = { styler = { - package = pkgs.rWrapper.override { - packages = [pkgs.rPackages.styler]; - }; - config = { - command = "${cfg.format.package}/bin/R"; - }; + command = let + pkg = pkgs.rWrapper.override {packages = [pkgs.rPackages.styler];}; + in "${pkg}/bin/R"; }; format_r = { - package = pkgs.rWrapper.override { - packages = [pkgs.rPackages.formatR]; - }; - config = { - command = "${cfg.format.package}/bin/R"; - stdin = true; - args = [ - "--slave" - "--no-restore" - "--no-save" - "-s" - "-e" - ''formatR::tidy_source(source="stdin")'' - ]; - # TODO: range_args seem to be possible - # https://github.com/nvimtools/none-ls.nvim/blob/main/lua/null-ls/builtins/formatting/format_r.lua - }; + command = let + pkg = pkgs.rWrapper.override { + packages = [pkgs.rPackages.formatR]; + }; + in "${pkg}/bin/R"; + stdin = true; + args = [ + "--slave" + "--no-restore" + "--no-save" + "-s" + "-e" + ''formatR::tidy_source(source="stdin")'' + ]; + # TODO: range_args seem to be possible + # https://github.com/nvimtools/none-ls.nvim/blob/main/lua/null-ls/builtins/formatting/format_r.lua }; }; @@ -87,16 +83,10 @@ in { enable = mkEnableOption "R formatting" // {default = config.vim.languages.enableFormat;}; type = mkOption { - type = enum (attrNames formats); + type = singleOrListOf (enum (attrNames formats)); default = defaultFormat; description = "R formatter to use"; }; - - package = mkOption { - type = package; - default = formats.${cfg.format.type}.package; - description = "R formatter package"; - }; }; }; @@ -109,8 +99,13 @@ in { (mkIf cfg.format.enable { vim.formatter.conform-nvim = { enable = true; - setupOpts.formatters_by_ft.r = [cfg.format.type]; - setupOpts.formatters.${cfg.format.type} = formats.${cfg.format.type}.config; + setupOpts.formatters_by_ft.r = cfg.format.type; + setupOpts.formatters = + mapListToAttrs (name: { + inherit name; + value = formats.${name}; + }) + cfg.format.type; }; }) diff --git a/modules/plugins/languages/ruby.nix b/modules/plugins/languages/ruby.nix index 94e27277..96e878dd 100644 --- a/modules/plugins/languages/ruby.nix +++ b/modules/plugins/languages/ruby.nix @@ -9,7 +9,7 @@ inherit (lib.meta) getExe; inherit (lib.modules) mkIf mkMerge; inherit (lib.nvim.types) mkGrammarOption diagnostics singleOrListOf; - inherit (lib.types) package enum; + inherit (lib.types) enum; inherit (lib.nvim.attrsets) mapListToAttrs; cfg = config.vim.languages.ruby; @@ -49,11 +49,10 @@ # testing - defaultFormat = "rubocop"; + defaultFormat = ["rubocop"]; formats = { rubocop = { - # TODO: is this right? - package = pkgs.rubyPackages.rubocop; + command = getExe pkgs.rubyPackages.rubocop; }; }; @@ -87,16 +86,10 @@ in { enable = mkEnableOption "Ruby formatter support" // {default = config.vim.languages.enableFormat;}; type = mkOption { - type = enum (attrNames formats); + type = singleOrListOf (enum (attrNames formats)); default = defaultFormat; description = "Ruby formatter to use"; }; - - package = mkOption { - type = package; - default = formats.${cfg.format.type}.package; - description = "Ruby formatter package"; - }; }; extraDiagnostics = { @@ -130,10 +123,13 @@ in { (mkIf cfg.format.enable { vim.formatter.conform-nvim = { enable = true; - setupOpts.formatters_by_ft.ruby = [cfg.format.type]; - setupOpts.formatters.${cfg.format.type} = { - command = getExe cfg.format.package; - }; + setupOpts.formatters_by_ft.ruby = cfg.format.type; + setupOpts.formatters = + mapListToAttrs (name: { + inherit name; + value = formats.${name}; + }) + cfg.format.type; }; }) diff --git a/modules/plugins/languages/rust.nix b/modules/plugins/languages/rust.nix index 09c54ae6..48ec3688 100644 --- a/modules/plugins/languages/rust.nix +++ b/modules/plugins/languages/rust.nix @@ -12,16 +12,17 @@ inherit (lib.trivial) boolToString; inherit (lib.lists) isList; inherit (lib.types) bool package str listOf either enum; - inherit (lib.nvim.types) mkGrammarOption; + inherit (lib.nvim.attrsets) mapListToAttrs; + inherit (lib.nvim.types) mkGrammarOption singleOrListOf; inherit (lib.nvim.lua) expToLua; inherit (lib.nvim.dag) entryAfter entryAnywhere; cfg = config.vim.languages.rust; - defaultFormat = "rustfmt"; + defaultFormat = ["rustfmt"]; formats = { rustfmt = { - package = pkgs.rustfmt; + command = getExe pkgs.rustfmt; }; }; in { @@ -79,15 +80,9 @@ in { type = mkOption { description = "Rust formatter to use"; - type = enum (attrNames formats); + type = singleOrListOf (enum (attrNames formats)); default = defaultFormat; }; - - package = mkOption { - description = "Rust formatter package"; - type = package; - default = formats.${cfg.format.type}.package; - }; }; dap = { @@ -130,10 +125,13 @@ in { (mkIf cfg.format.enable { vim.formatter.conform-nvim = { enable = true; - setupOpts.formatters_by_ft.rust = [cfg.format.type]; - setupOpts.formatters.${cfg.format.type} = { - command = getExe cfg.format.package; - }; + setupOpts.formatters_by_ft.rust = cfg.format.type; + setupOpts.formatters = + mapListToAttrs (name: { + inherit name; + value = formats.${name}; + }) + cfg.format.type; }; }) diff --git a/modules/plugins/languages/sql.nix b/modules/plugins/languages/sql.nix index c1ea6678..b849f504 100644 --- a/modules/plugins/languages/sql.nix +++ b/modules/plugins/languages/sql.nix @@ -33,14 +33,11 @@ }; }; - defaultFormat = "sqlfluff"; + defaultFormat = ["sqlfluff"]; formats = { sqlfluff = { - package = sqlfluffDefault; - config = { - command = getExe cfg.format.package; - append_args = ["--dialect=${cfg.dialect}"]; - }; + command = getExe sqlfluffDefault; + append_args = ["--dialect=${cfg.dialect}"]; }; }; @@ -88,16 +85,10 @@ in { enable = mkEnableOption "SQL formatting" // {default = config.vim.languages.enableFormat;}; type = mkOption { - type = enum (attrNames formats); + type = singleOrListOf (enum (attrNames formats)); default = defaultFormat; description = "SQL formatter to use"; }; - - package = mkOption { - type = package; - default = formats.${cfg.format.type}.package; - description = "SQL formatter package"; - }; }; extraDiagnostics = { @@ -133,8 +124,13 @@ in { (mkIf cfg.format.enable { vim.formatter.conform-nvim = { enable = true; - setupOpts.formatters_by_ft.sql = [cfg.format.type]; - setupOpts.formatters.${cfg.format.type} = formats.${cfg.format.type}.config; + setupOpts.formatters_by_ft.sql = cfg.format.type; + setupOpts.formatters = + mapListToAttrs (name: { + inherit name; + value = formats.${name}; + }) + cfg.format.type; }; }) diff --git a/modules/plugins/languages/ts.nix b/modules/plugins/languages/ts.nix index 40e598ae..01dd978e 100644 --- a/modules/plugins/languages/ts.nix +++ b/modules/plugins/languages/ts.nix @@ -176,18 +176,18 @@ ''; # TODO: specify packages - defaultFormat = "prettier"; + defaultFormat = ["prettier"]; formats = { prettier = { - package = pkgs.prettier; + command = getExe pkgs.prettier; }; prettierd = { - package = pkgs.prettierd; + command = getExe pkgs.prettierd; }; biome = { - package = pkgs.biome; + command = getExe pkgs.biome; }; }; @@ -239,15 +239,9 @@ in { type = mkOption { description = "Typescript/Javascript formatter to use"; - type = enum (attrNames formats); + type = singleOrListOf (enum (attrNames formats)); default = defaultFormat; }; - - package = mkOption { - description = "Typescript/Javascript formatter package"; - type = package; - default = formats.${cfg.format.type}.package; - }; }; extraDiagnostics = { @@ -309,12 +303,15 @@ in { vim.formatter.conform-nvim = { enable = true; setupOpts = { - formatters_by_ft.typescript = [cfg.format.type]; + formatters_by_ft.typescript = cfg.format.type; # .tsx files - formatters_by_ft.typescriptreact = [cfg.format.type]; - formatters.${cfg.format.type} = { - command = getExe cfg.format.package; - }; + formatters_by_ft.typescriptreact = cfg.format.type; + setupOpts.formatters = + mapListToAttrs (name: { + inherit name; + value = formats.${name}; + }) + cfg.format.type; }; }; }) diff --git a/modules/plugins/languages/typst.nix b/modules/plugins/languages/typst.nix index fbeb0ce2..18a7db7a 100644 --- a/modules/plugins/languages/typst.nix +++ b/modules/plugins/languages/typst.nix @@ -91,14 +91,14 @@ }; }; - defaultFormat = "typstfmt"; + defaultFormat = ["typstfmt"]; formats = { typstfmt = { - package = pkgs.typstfmt; + command = getExe pkgs.typstfmt; }; # https://github.com/Enter-tainer/typstyle typstyle = { - package = pkgs.typstyle; + command = getExe pkgs.typstyle; }; }; in { @@ -124,16 +124,10 @@ in { enable = mkEnableOption "Typst document formatting" // {default = config.vim.languages.enableFormat;}; type = mkOption { - type = enum (attrNames formats); + type = singleOrListOf (enum (attrNames formats)); default = defaultFormat; description = "Typst formatter to use"; }; - - package = mkOption { - type = package; - default = formats.${cfg.format.type}.package; - description = "Typst formatter package"; - }; }; extensions = { @@ -189,10 +183,13 @@ in { (mkIf cfg.format.enable { vim.formatter.conform-nvim = { enable = true; - setupOpts.formatters_by_ft.typst = [cfg.format.type]; - setupOpts.formatters.${cfg.format.type} = { - command = getExe cfg.format.package; - }; + setupOpts.formatters_by_ft.typst = cfg.format.type; + setupOpts.formatters = + mapListToAttrs (name: { + inherit name; + value = formats.${name}; + }) + cfg.format.type; }; }) From 9417b2a7f0c4f7b53f94c7d9e1f748325a8bd4fa Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sat, 23 Aug 2025 20:05:12 +0200 Subject: [PATCH 5/9] deprecations: add warnings for removed format options --- modules/extra/deprecations.nix | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/modules/extra/deprecations.nix b/modules/extra/deprecations.nix index 77f4bcc6..ee3db001 100644 --- a/modules/extra/deprecations.nix +++ b/modules/extra/deprecations.nix @@ -42,6 +42,10 @@ "Obsolete option `vim.languages.${lang}.lsp.server` used, use `vim.languages.${lang}.lsp.servers` instead." (head x); }; + + mkRemovedFormatPackage = lang: (mkRemovedOptionModule ["vim" "languages" lang "format" "package"] '' + `vim.languages.${lang}.format.package` is removed, please use `vim.formatter.conform-nvim.formatters..command` instead. + ''); in { imports = concatLists [ [ @@ -259,8 +263,38 @@ in { (mkRenamedLspServer "zig") (mkRemovedLspPackage "zig") + + (mkRemovedOptionModule ["vim" "language" "astro" "format"] '' + This option has been removed due to being broken for a long time. + '') + (mkRemovedOptionModule ["vim" "language" "svelte" "format"] '' + This option has been removed due to being broken for a long time. + '') ] + (map mkRemovedFormatPackage [ + "bash" + "css" + "elixir" + "fsharp" + "go" + "hcl" + "html" + "json" + "lua" + "markdown" + "nim" + "nix" + "ocaml" + "python" + "qml" + "r" + "ruby" + "rust" + "sql" + "ts" + "typst" + ]) # Migrated via batchRenameOptions. Further batch renames must be below this line. renamedVimOpts ]; From 6697e547b417561668e8c60ffef048484f99759d Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sat, 23 Aug 2025 13:52:27 +0200 Subject: [PATCH 6/9] docs: update release note --- docs/release-notes/rl-0.8.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 7c92ee80..54927b23 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -130,6 +130,9 @@ - Moved code setting `additionalRuntimePaths` and `enableLuaLoader` out of `luaConfigPre`'s default to prevent being overridden - Use conform over custom autocmds for LSP format on save +- Allow multiple formatters in language modules. +- Remove formatter options for `astro` and `svelte`, as they have been broken + since conception [diniamo](https://github.com/diniamo): From 154d8be4dc998b793796bf1d6fb98d6f5d8f09c7 Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sat, 23 Aug 2025 20:52:32 +0200 Subject: [PATCH 7/9] treewide: warn deprecation in singleOrListOf --- lib/types/custom.nix | 12 +++++++++++- lib/types/default.nix | 2 +- modules/plugins/languages/asm.nix | 4 ++-- modules/plugins/languages/astro.nix | 4 ++-- modules/plugins/languages/bash.nix | 6 +++--- modules/plugins/languages/clang.nix | 4 ++-- modules/plugins/languages/csharp.nix | 4 ++-- modules/plugins/languages/css.nix | 6 +++--- modules/plugins/languages/dart.nix | 4 ++-- modules/plugins/languages/elixir.nix | 6 +++--- modules/plugins/languages/fsharp.nix | 6 +++--- modules/plugins/languages/gleam.nix | 4 ++-- modules/plugins/languages/go.nix | 6 +++--- modules/plugins/languages/hcl.nix | 4 ++-- modules/plugins/languages/helm.nix | 4 ++-- modules/plugins/languages/html.nix | 6 +++--- modules/plugins/languages/json.nix | 6 +++--- modules/plugins/languages/julia.nix | 4 ++-- modules/plugins/languages/lua.nix | 4 ++-- modules/plugins/languages/markdown.nix | 6 +++--- modules/plugins/languages/nim.nix | 6 +++--- modules/plugins/languages/nix.nix | 6 +++--- modules/plugins/languages/nu.nix | 4 ++-- modules/plugins/languages/ocaml.nix | 6 +++--- modules/plugins/languages/odin.nix | 4 ++-- modules/plugins/languages/php.nix | 4 ++-- modules/plugins/languages/python.nix | 6 +++--- modules/plugins/languages/qml.nix | 6 +++--- modules/plugins/languages/r.nix | 6 +++--- modules/plugins/languages/ruby.nix | 6 +++--- modules/plugins/languages/rust.nix | 4 ++-- modules/plugins/languages/sql.nix | 6 +++--- modules/plugins/languages/svelte.nix | 4 ++-- modules/plugins/languages/tailwind.nix | 4 ++-- modules/plugins/languages/ts.nix | 6 +++--- modules/plugins/languages/typst.nix | 6 +++--- modules/plugins/languages/vala.nix | 4 ++-- modules/plugins/languages/wgsl.nix | 4 ++-- modules/plugins/languages/yaml.nix | 4 ++-- modules/plugins/languages/zig.nix | 4 ++-- 40 files changed, 106 insertions(+), 96 deletions(-) diff --git a/lib/types/custom.nix b/lib/types/custom.nix index ae509f59..013c043e 100644 --- a/lib/types/custom.nix +++ b/lib/types/custom.nix @@ -1,4 +1,5 @@ {lib}: let + inherit (builtins) warn toJSON; inherit (lib.options) mergeEqualOption; inherit (lib.lists) singleton; inherit (lib.strings) isString stringLength match; @@ -29,5 +30,14 @@ in { check = v: isString v && (match "#?[0-9a-fA-F]{6}" v) != null; }; - singleOrListOf = t: coercedTo t singleton (listOf t); + # no compound types please + deprecatedSingleOrListOf = option: t: + coercedTo + t + (x: + warn '' + ${option} no longer accepts non-list values, use [${toJSON x}] instead + '' + (singleton x)) + (listOf t); } diff --git a/lib/types/default.nix b/lib/types/default.nix index c91473a2..66adfbbc 100644 --- a/lib/types/default.nix +++ b/lib/types/default.nix @@ -10,5 +10,5 @@ in { inherit (typesDag) dagOf; inherit (typesPlugin) pluginsOpt extraPluginType mkPluginSetupOption luaInline pluginType borderType; inherit (typesLanguage) diagnostics mkGrammarOption; - inherit (customTypes) char hexColor mergelessListOf singleOrListOf; + inherit (customTypes) char hexColor mergelessListOf deprecatedSingleOrListOf; } diff --git a/modules/plugins/languages/asm.nix b/modules/plugins/languages/asm.nix index 9d296755..4fb36f4c 100644 --- a/modules/plugins/languages/asm.nix +++ b/modules/plugins/languages/asm.nix @@ -8,7 +8,7 @@ inherit (lib.options) mkEnableOption mkOption; inherit (lib.modules) mkIf mkMerge; inherit (lib.types) enum; - inherit (lib.nvim.types) mkGrammarOption singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.meta) getExe; inherit (lib.nvim.attrsets) mapListToAttrs; @@ -34,7 +34,7 @@ in { lsp = { enable = mkEnableOption "Assembly LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.asm.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "Assembly LSP server to use"; }; diff --git a/modules/plugins/languages/astro.nix b/modules/plugins/languages/astro.nix index 4669e3c6..4b0ab931 100644 --- a/modules/plugins/languages/astro.nix +++ b/modules/plugins/languages/astro.nix @@ -10,7 +10,7 @@ inherit (lib.meta) getExe; inherit (lib.types) enum; inherit (lib.nvim.attrsets) mapListToAttrs; - inherit (lib.nvim.types) mkGrammarOption diagnostics singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption diagnostics deprecatedSingleOrListOf; inherit (lib.generators) mkLuaInline; cfg = config.vim.languages.astro; @@ -73,7 +73,7 @@ in { lsp = { enable = mkEnableOption "Astro LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.astro.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "Astro LSP server to use"; }; diff --git a/modules/plugins/languages/bash.nix b/modules/plugins/languages/bash.nix index 6b81637e..45161bd1 100644 --- a/modules/plugins/languages/bash.nix +++ b/modules/plugins/languages/bash.nix @@ -10,7 +10,7 @@ inherit (lib.modules) mkIf mkMerge; inherit (lib.types) enum bool; inherit (lib.generators) mkLuaInline; - inherit (lib.nvim.types) diagnostics mkGrammarOption singleOrListOf; + inherit (lib.nvim.types) diagnostics mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.attrsets) mapListToAttrs; cfg = config.vim.languages.bash; @@ -55,7 +55,7 @@ in { lsp = { enable = mkEnableOption "Bash LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.bash.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "Bash LSP server to use"; }; @@ -68,7 +68,7 @@ in { description = "Enable Bash formatting"; }; type = mkOption { - type = singleOrListOf (enum (attrNames formats)); + type = deprecatedSingleOrListOf "vim.language.bash.format.type" (enum (attrNames formats)); default = defaultFormat; description = "Bash formatter to use"; }; diff --git a/modules/plugins/languages/clang.nix b/modules/plugins/languages/clang.nix index 487bc151..33414c67 100644 --- a/modules/plugins/languages/clang.nix +++ b/modules/plugins/languages/clang.nix @@ -10,7 +10,7 @@ inherit (lib.meta) getExe; inherit (lib.modules) mkIf mkMerge; inherit (lib.generators) mkLuaInline; - inherit (lib.nvim.types) mkGrammarOption singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.dag) entryAfter; @@ -198,7 +198,7 @@ in { servers = mkOption { description = "The clang LSP server to use"; - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.clang.lsp.servers" (enum (attrNames servers)); default = defaultServers; }; }; diff --git a/modules/plugins/languages/csharp.nix b/modules/plugins/languages/csharp.nix index 9e13a5ef..2e6f190b 100644 --- a/modules/plugins/languages/csharp.nix +++ b/modules/plugins/languages/csharp.nix @@ -12,7 +12,7 @@ inherit (lib.meta) getExe; inherit (lib.generators) mkLuaInline; inherit (lib.strings) optionalString; - inherit (lib.nvim.types) mkGrammarOption singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.lua) toLuaObject; inherit (lib.nvim.attrsets) mapListToAttrs; @@ -186,7 +186,7 @@ in { enable = mkEnableOption "C# LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { description = "C# LSP server to use"; - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.csharp.lsp.servers" (enum (attrNames servers)); default = defaultServers; }; }; diff --git a/modules/plugins/languages/css.nix b/modules/plugins/languages/css.nix index 28205a03..e051393f 100644 --- a/modules/plugins/languages/css.nix +++ b/modules/plugins/languages/css.nix @@ -9,7 +9,7 @@ inherit (lib.meta) getExe; inherit (lib.modules) mkIf mkMerge; inherit (lib.types) enum; - inherit (lib.nvim.types) mkGrammarOption singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.attrsets) mapListToAttrs; cfg = config.vim.languages.css; @@ -58,7 +58,7 @@ in { enable = mkEnableOption "CSS LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.css.lsp.servers" (enum (attrNames servers)); default = defaultServer; description = "CSS LSP server to use"; }; @@ -69,7 +69,7 @@ in { type = mkOption { description = "CSS formatter to use"; - type = singleOrListOf (enum (attrNames formats)); + type = deprecatedSingleOrListOf "vim.language.css.format.type" (enum (attrNames formats)); default = defaultFormat; }; }; diff --git a/modules/plugins/languages/dart.nix b/modules/plugins/languages/dart.nix index 52dcd560..f294ba19 100644 --- a/modules/plugins/languages/dart.nix +++ b/modules/plugins/languages/dart.nix @@ -11,7 +11,7 @@ inherit (lib.options) mkEnableOption mkOption; inherit (lib.types) enum package nullOr str bool; inherit (lib.strings) optionalString; - inherit (lib.nvim.types) mkGrammarOption singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.dag) entryAfter; inherit (lib.nvim.attrsets) mapListToAttrs; @@ -52,7 +52,7 @@ in { lsp = { enable = mkEnableOption "Dart LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.dart.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "Dart LSP server to use"; }; diff --git a/modules/plugins/languages/elixir.nix b/modules/plugins/languages/elixir.nix index 77f1f3e9..1786ca8f 100644 --- a/modules/plugins/languages/elixir.nix +++ b/modules/plugins/languages/elixir.nix @@ -10,7 +10,7 @@ inherit (lib.meta) getExe; inherit (lib.types) enum; inherit (lib.generators) mkLuaInline; - inherit (lib.nvim.types) mkGrammarOption singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.dag) entryAnywhere; inherit (lib.nvim.attrsets) mapListToAttrs; @@ -60,7 +60,7 @@ in { lsp = { enable = mkEnableOption "Elixir LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.elixir.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "Elixir LSP server to use"; }; @@ -70,7 +70,7 @@ in { enable = mkEnableOption "Elixir formatting" // {default = config.vim.languages.enableFormat;}; type = mkOption { - type = singleOrListOf (enum (attrNames formats)); + type = deprecatedSingleOrListOf "vim.language.elixir.format.type" (enum (attrNames formats)); default = defaultFormat; description = "Elixir formatter to use"; }; diff --git a/modules/plugins/languages/fsharp.nix b/modules/plugins/languages/fsharp.nix index 53acda6f..c56beee5 100644 --- a/modules/plugins/languages/fsharp.nix +++ b/modules/plugins/languages/fsharp.nix @@ -10,7 +10,7 @@ inherit (lib.meta) getExe; inherit (lib.modules) mkIf mkMerge; inherit (lib.generators) mkLuaInline; - inherit (lib.nvim.types) mkGrammarOption singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.attrsets) mapListToAttrs; defaultServer = ["fsautocomplete"]; @@ -72,7 +72,7 @@ in { lsp = { enable = mkEnableOption "F# LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.fsharp.lsp.servers" (enum (attrNames servers)); default = defaultServer; description = "F# LSP server to use"; }; @@ -81,7 +81,7 @@ in { enable = mkEnableOption "F# formatting" // {default = config.vim.languages.enableFormat;}; type = mkOption { - type = singleOrListOf (enum (attrNames formats)); + type = deprecatedSingleOrListOf "vim.language.fsharp.format.type" (enum (attrNames formats)); default = defaultFormat; description = "F# formatter to use"; }; diff --git a/modules/plugins/languages/gleam.nix b/modules/plugins/languages/gleam.nix index 984d21aa..349d9ac1 100644 --- a/modules/plugins/languages/gleam.nix +++ b/modules/plugins/languages/gleam.nix @@ -9,7 +9,7 @@ inherit (lib.modules) mkIf mkMerge; inherit (lib.meta) getExe; inherit (lib.types) enum; - inherit (lib.nvim.types) mkGrammarOption singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.attrsets) mapListToAttrs; cfg = config.vim.languages.gleam; @@ -35,7 +35,7 @@ in { lsp = { enable = mkEnableOption "Gleam LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.gleam.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "Gleam LSP server to use"; }; diff --git a/modules/plugins/languages/go.nix b/modules/plugins/languages/go.nix index 1f4cd3a1..baf69360 100644 --- a/modules/plugins/languages/go.nix +++ b/modules/plugins/languages/go.nix @@ -10,7 +10,7 @@ inherit (lib.meta) getExe; inherit (lib.generators) mkLuaInline; inherit (lib.types) bool enum package; - inherit (lib.nvim.types) mkGrammarOption singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.dag) entryAfter; inherit (lib.nvim.attrsets) mapListToAttrs; @@ -92,7 +92,7 @@ in { enable = mkEnableOption "Go LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.go.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "Go LSP server to use"; }; @@ -110,7 +110,7 @@ in { type = mkOption { description = "Go formatter to use"; - type = singleOrListOf (enum (attrNames formats)); + type = deprecatedSingleOrListOf "vim.language.go.format.type" (enum (attrNames formats)); default = defaultFormat; }; }; diff --git a/modules/plugins/languages/hcl.nix b/modules/plugins/languages/hcl.nix index 399de341..cd2e28d8 100644 --- a/modules/plugins/languages/hcl.nix +++ b/modules/plugins/languages/hcl.nix @@ -9,7 +9,7 @@ inherit (lib.meta) getExe; inherit (lib.modules) mkIf mkMerge; inherit (lib.types) bool enum listOf; - inherit (lib.nvim.types) mkGrammarOption singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.attrsets) mapListToAttrs; cfg = config.vim.languages.hcl; @@ -55,7 +55,7 @@ in { description = "Enable HCL formatting"; }; type = mkOption { - type = singleOrListOf (enum (attrNames formats)); + type = deprecatedSingleOrListOf "vim.language.hcl.format.type" (enum (attrNames formats)); default = defaultFormat; description = "HCL formatter to use"; }; diff --git a/modules/plugins/languages/helm.nix b/modules/plugins/languages/helm.nix index 1971eb31..4b8dd1e8 100644 --- a/modules/plugins/languages/helm.nix +++ b/modules/plugins/languages/helm.nix @@ -9,7 +9,7 @@ inherit (lib.modules) mkIf mkMerge; inherit (lib.meta) getExe; inherit (lib.types) enum; - inherit (lib.nvim.types) mkGrammarOption singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.attrsets) mapListToAttrs; cfg = config.vim.languages.helm; @@ -49,7 +49,7 @@ in { lsp = { enable = mkEnableOption "Helm LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.helm.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "Helm LSP server to use"; }; diff --git a/modules/plugins/languages/html.nix b/modules/plugins/languages/html.nix index 3121be97..50071b37 100644 --- a/modules/plugins/languages/html.nix +++ b/modules/plugins/languages/html.nix @@ -10,7 +10,7 @@ inherit (lib.modules) mkIf mkMerge; inherit (lib.types) bool enum; inherit (lib.lists) optional; - inherit (lib.nvim.types) mkGrammarOption diagnostics singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption diagnostics deprecatedSingleOrListOf; inherit (lib.nvim.dag) entryAnywhere; inherit (lib.nvim.attrsets) mapListToAttrs; @@ -55,7 +55,7 @@ in { lsp = { enable = mkEnableOption "HTML LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.html.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "HTML LSP server to use"; }; @@ -65,7 +65,7 @@ in { enable = mkEnableOption "HTML formatting" // {default = config.vim.languages.enableFormat;}; type = mkOption { - type = singleOrListOf (enum (attrNames formats)); + type = deprecatedSingleOrListOf "vim.language.html.format.type" (enum (attrNames formats)); default = defaultFormat; description = "HTML formatter to use"; }; diff --git a/modules/plugins/languages/json.nix b/modules/plugins/languages/json.nix index fefb4559..d54c4b2c 100644 --- a/modules/plugins/languages/json.nix +++ b/modules/plugins/languages/json.nix @@ -9,7 +9,7 @@ inherit (lib.meta) getExe' getExe; inherit (lib.modules) mkIf mkMerge; inherit (lib.types) enum; - inherit (lib.nvim.types) mkGrammarOption singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.attrsets) mapListToAttrs; cfg = config.vim.languages.json; @@ -46,7 +46,7 @@ in { enable = mkEnableOption "JSON LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.json.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "JSON LSP server to use"; }; @@ -57,7 +57,7 @@ in { type = mkOption { description = "JSON formatter to use"; - type = singleOrListOf (enum (attrNames formats)); + type = deprecatedSingleOrListOf "vim.language.json.format.type" (enum (attrNames formats)); default = defaultFormat; }; }; diff --git a/modules/plugins/languages/julia.nix b/modules/plugins/languages/julia.nix index c9be8d49..577798c7 100644 --- a/modules/plugins/languages/julia.nix +++ b/modules/plugins/languages/julia.nix @@ -9,7 +9,7 @@ inherit (lib.types) enum; inherit (lib.modules) mkIf mkMerge; inherit (lib.meta) getExe; - inherit (lib.nvim.types) mkGrammarOption singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.generators) mkLuaInline; inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.dag) entryBefore; @@ -97,7 +97,7 @@ in { lsp = { enable = mkEnableOption "Julia LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.julia.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = '' Julia LSP Server to Use diff --git a/modules/plugins/languages/lua.nix b/modules/plugins/languages/lua.nix index e5d3eeba..a793f054 100644 --- a/modules/plugins/languages/lua.nix +++ b/modules/plugins/languages/lua.nix @@ -9,7 +9,7 @@ inherit (lib.modules) mkIf mkMerge; inherit (lib.meta) getExe; inherit (lib.types) bool enum listOf; - inherit (lib.nvim.types) diagnostics mkGrammarOption singleOrListOf; + inherit (lib.nvim.types) diagnostics mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.dag) entryBefore; inherit (lib.nvim.attrsets) mapListToAttrs; @@ -79,7 +79,7 @@ in { description = "Enable Lua formatting"; }; type = mkOption { - type = singleOrListOf (enum (attrNames formats)); + type = deprecatedSingleOrListOf "vim.language.lua.format.type" (enum (attrNames formats)); default = defaultFormat; description = "Lua formatter to use"; }; diff --git a/modules/plugins/languages/markdown.nix b/modules/plugins/languages/markdown.nix index c12bdb63..8146320e 100644 --- a/modules/plugins/languages/markdown.nix +++ b/modules/plugins/languages/markdown.nix @@ -10,7 +10,7 @@ inherit (lib.options) mkEnableOption mkOption; inherit (lib.types) bool enum listOf str nullOr; inherit (lib.nvim.lua) toLuaObject; - inherit (lib.nvim.types) diagnostics mkGrammarOption mkPluginSetupOption singleOrListOf; + inherit (lib.nvim.types) diagnostics mkGrammarOption mkPluginSetupOption deprecatedSingleOrListOf; inherit (lib.nvim.dag) entryAnywhere; inherit (lib.nvim.attrsets) mapListToAttrs; @@ -63,7 +63,7 @@ in { servers = mkOption { description = "Markdown LSP server to use"; - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.markdown.lsp.servers" (enum (attrNames servers)); default = defaultServers; }; }; @@ -72,7 +72,7 @@ in { enable = mkEnableOption "Markdown formatting" // {default = config.vim.languages.enableFormat;}; type = mkOption { - type = singleOrListOf (enum (attrNames formats)); + type = deprecatedSingleOrListOf "vim.language.markdown.format.type" (enum (attrNames formats)); default = defaultFormat; description = "Markdown formatter to use. `denofmt` is deprecated and currently aliased to deno_fmt."; }; diff --git a/modules/plugins/languages/nim.nix b/modules/plugins/languages/nim.nix index 140fe713..9ddff7f5 100644 --- a/modules/plugins/languages/nim.nix +++ b/modules/plugins/languages/nim.nix @@ -9,7 +9,7 @@ inherit (lib.meta) getExe'; inherit (lib.modules) mkIf mkMerge; inherit (lib.types) enum; - inherit (lib.nvim.types) mkGrammarOption singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.generators) mkLuaInline; inherit (lib.nvim.attrsets) mapListToAttrs; @@ -56,7 +56,7 @@ in { enable = mkEnableOption "Nim LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.nim.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "Nim LSP server to use"; }; @@ -65,7 +65,7 @@ in { format = { enable = mkEnableOption "Nim formatting" // {default = config.vim.languages.enableFormat;}; type = mkOption { - type = singleOrListOf (enum (attrNames formats)); + type = deprecatedSingleOrListOf "vim.language.nim.format.type" (enum (attrNames formats)); default = defaultFormat; description = "Nim formatter to use"; }; diff --git a/modules/plugins/languages/nix.nix b/modules/plugins/languages/nix.nix index 7c2cbdce..954eee9e 100644 --- a/modules/plugins/languages/nix.nix +++ b/modules/plugins/languages/nix.nix @@ -10,7 +10,7 @@ inherit (lib.options) mkEnableOption mkOption; inherit (lib.modules) mkIf mkMerge; inherit (lib.types) enum; - inherit (lib.nvim.types) mkGrammarOption diagnostics singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption diagnostics deprecatedSingleOrListOf; inherit (lib.nvim.attrsets) mapListToAttrs; cfg = config.vim.languages.nix; @@ -98,7 +98,7 @@ in { lsp = { enable = mkEnableOption "Nix LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.nix.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "Nix LSP server to use"; }; @@ -109,7 +109,7 @@ in { type = mkOption { description = "Nix formatter to use"; - type = singleOrListOf (enum (attrNames formats)); + type = deprecatedSingleOrListOf "vim.language.nix.format.type" (enum (attrNames formats)); default = defaultFormat; }; }; diff --git a/modules/plugins/languages/nu.nix b/modules/plugins/languages/nu.nix index d58e39a3..7bbe1d78 100644 --- a/modules/plugins/languages/nu.nix +++ b/modules/plugins/languages/nu.nix @@ -7,7 +7,7 @@ inherit (lib.options) mkEnableOption mkOption; inherit (lib.types) enum; inherit (lib.modules) mkIf mkMerge; - inherit (lib.nvim.types) mkGrammarOption singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.meta) getExe; inherit (lib.generators) mkLuaInline; inherit (lib.nvim.attrsets) mapListToAttrs; @@ -46,7 +46,7 @@ in { enable = mkEnableOption "Nu LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.nu.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "Nu LSP server to use"; }; diff --git a/modules/plugins/languages/ocaml.nix b/modules/plugins/languages/ocaml.nix index 031a979d..1ba741b4 100644 --- a/modules/plugins/languages/ocaml.nix +++ b/modules/plugins/languages/ocaml.nix @@ -9,7 +9,7 @@ inherit (lib.modules) mkIf mkMerge; inherit (lib.meta) getExe; inherit (lib.types) enum; - inherit (lib.nvim.types) mkGrammarOption singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.generators) mkLuaInline; inherit (lib.nvim.attrsets) mapListToAttrs; @@ -74,7 +74,7 @@ in { enable = mkEnableOption "OCaml LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.ocaml.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "OCaml LSP server to use"; }; @@ -83,7 +83,7 @@ in { format = { enable = mkEnableOption "OCaml formatting support (ocamlformat)" // {default = config.vim.languages.enableFormat;}; type = mkOption { - type = singleOrListOf (enum (attrNames formats)); + type = deprecatedSingleOrListOf "vim.language.ocaml.format.type" (enum (attrNames formats)); default = defaultFormat; description = "OCaml formatter to use"; }; diff --git a/modules/plugins/languages/odin.nix b/modules/plugins/languages/odin.nix index f18a3383..fa2254c5 100644 --- a/modules/plugins/languages/odin.nix +++ b/modules/plugins/languages/odin.nix @@ -9,7 +9,7 @@ inherit (lib.modules) mkIf mkMerge; inherit (lib.types) enum; inherit (lib.meta) getExe; - inherit (lib.nvim.types) mkGrammarOption singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.generators) mkLuaInline; inherit (lib.nvim.attrsets) mapListToAttrs; @@ -46,7 +46,7 @@ in { enable = mkEnableOption "Odin LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.odin.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "Odin LSP server to use"; }; diff --git a/modules/plugins/languages/php.nix b/modules/plugins/languages/php.nix index 353b1137..193c0a1f 100644 --- a/modules/plugins/languages/php.nix +++ b/modules/plugins/languages/php.nix @@ -9,7 +9,7 @@ inherit (lib.meta) getExe; inherit (lib.modules) mkIf mkMerge; inherit (lib.types) enum; - inherit (lib.nvim.types) mkGrammarOption singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.generators) mkLuaInline; @@ -77,7 +77,7 @@ in { enable = mkEnableOption "PHP LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.php.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "PHP LSP server to use"; }; diff --git a/modules/plugins/languages/python.nix b/modules/plugins/languages/python.nix index d5837643..8ed5efdb 100644 --- a/modules/plugins/languages/python.nix +++ b/modules/plugins/languages/python.nix @@ -11,7 +11,7 @@ inherit (lib.modules) mkIf mkMerge; inherit (lib.types) enum package bool; inherit (lib.nvim.attrsets) mapListToAttrs; - inherit (lib.nvim.types) singleOrListOf; + inherit (lib.nvim.types) deprecatedSingleOrListOf; inherit (lib.generators) mkLuaInline; inherit (lib.nvim.dag) entryBefore; @@ -219,7 +219,7 @@ in { enable = mkEnableOption "Python LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.python.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "Python LSP server to use"; }; @@ -229,7 +229,7 @@ in { enable = mkEnableOption "Python formatting" // {default = config.vim.languages.enableFormat;}; type = mkOption { - type = singleOrListOf (enum (attrNames formats)); + type = deprecatedSingleOrListOf "vim.language.python.format.type" (enum (attrNames formats)); default = defaultFormat; description = "Python formatters to use"; }; diff --git a/modules/plugins/languages/qml.nix b/modules/plugins/languages/qml.nix index b358b722..64e99d6c 100644 --- a/modules/plugins/languages/qml.nix +++ b/modules/plugins/languages/qml.nix @@ -9,7 +9,7 @@ inherit (lib.options) mkEnableOption mkOption; inherit (lib.modules) mkIf mkMerge; inherit (lib.types) enum; - inherit (lib.nvim.types) mkGrammarOption singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.attrsets) mapListToAttrs; cfg = config.vim.languages.qml; @@ -44,7 +44,7 @@ in { lsp = { enable = mkEnableOption "QML LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.qml.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "QML LSP server to use"; }; @@ -54,7 +54,7 @@ in { enable = mkEnableOption "QML formatting" // {default = config.vim.languages.enableFormat;}; type = mkOption { - type = singleOrListOf (enum (attrNames formats)); + type = deprecatedSingleOrListOf "vim.language.qml.format.type" (enum (attrNames formats)); default = defaultFormat; description = "QML formatter to use"; }; diff --git a/modules/plugins/languages/r.nix b/modules/plugins/languages/r.nix index ae046574..55e929d3 100644 --- a/modules/plugins/languages/r.nix +++ b/modules/plugins/languages/r.nix @@ -9,7 +9,7 @@ inherit (lib.modules) mkIf mkMerge; inherit (lib.types) enum; inherit (lib.meta) getExe; - inherit (lib.nvim.types) mkGrammarOption singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.generators) mkLuaInline; @@ -73,7 +73,7 @@ in { enable = mkEnableOption "R LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.r.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "R LSP server to use"; }; @@ -83,7 +83,7 @@ in { enable = mkEnableOption "R formatting" // {default = config.vim.languages.enableFormat;}; type = mkOption { - type = singleOrListOf (enum (attrNames formats)); + type = deprecatedSingleOrListOf "vim.language.r.format.type" (enum (attrNames formats)); default = defaultFormat; description = "R formatter to use"; }; diff --git a/modules/plugins/languages/ruby.nix b/modules/plugins/languages/ruby.nix index 96e878dd..5dbe438c 100644 --- a/modules/plugins/languages/ruby.nix +++ b/modules/plugins/languages/ruby.nix @@ -8,7 +8,7 @@ inherit (lib.options) mkEnableOption mkOption; inherit (lib.meta) getExe; inherit (lib.modules) mkIf mkMerge; - inherit (lib.nvim.types) mkGrammarOption diagnostics singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption diagnostics deprecatedSingleOrListOf; inherit (lib.types) enum; inherit (lib.nvim.attrsets) mapListToAttrs; @@ -76,7 +76,7 @@ in { enable = mkEnableOption "Ruby LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.ruby.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "Ruby LSP server to use"; }; @@ -86,7 +86,7 @@ in { enable = mkEnableOption "Ruby formatter support" // {default = config.vim.languages.enableFormat;}; type = mkOption { - type = singleOrListOf (enum (attrNames formats)); + type = deprecatedSingleOrListOf "vim.language.ruby.format.type" (enum (attrNames formats)); default = defaultFormat; description = "Ruby formatter to use"; }; diff --git a/modules/plugins/languages/rust.nix b/modules/plugins/languages/rust.nix index 48ec3688..4da313da 100644 --- a/modules/plugins/languages/rust.nix +++ b/modules/plugins/languages/rust.nix @@ -13,7 +13,7 @@ inherit (lib.lists) isList; inherit (lib.types) bool package str listOf either enum; inherit (lib.nvim.attrsets) mapListToAttrs; - inherit (lib.nvim.types) mkGrammarOption singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.lua) expToLua; inherit (lib.nvim.dag) entryAfter entryAnywhere; @@ -80,7 +80,7 @@ in { type = mkOption { description = "Rust formatter to use"; - type = singleOrListOf (enum (attrNames formats)); + type = deprecatedSingleOrListOf "vim.language.rust.format.type" (enum (attrNames formats)); default = defaultFormat; }; }; diff --git a/modules/plugins/languages/sql.nix b/modules/plugins/languages/sql.nix index b849f504..8656a0c4 100644 --- a/modules/plugins/languages/sql.nix +++ b/modules/plugins/languages/sql.nix @@ -9,7 +9,7 @@ inherit (lib.meta) getExe; inherit (lib.modules) mkIf mkMerge; inherit (lib.types) enum package str; - inherit (lib.nvim.types) diagnostics singleOrListOf; + inherit (lib.nvim.types) diagnostics deprecatedSingleOrListOf; inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.generators) mkLuaInline; @@ -75,7 +75,7 @@ in { enable = mkEnableOption "SQL LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.sql.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "SQL LSP server to use"; }; @@ -85,7 +85,7 @@ in { enable = mkEnableOption "SQL formatting" // {default = config.vim.languages.enableFormat;}; type = mkOption { - type = singleOrListOf (enum (attrNames formats)); + type = deprecatedSingleOrListOf "vim.language.sql.format.type" (enum (attrNames formats)); default = defaultFormat; description = "SQL formatter to use"; }; diff --git a/modules/plugins/languages/svelte.nix b/modules/plugins/languages/svelte.nix index 11cfc4aa..1632c888 100644 --- a/modules/plugins/languages/svelte.nix +++ b/modules/plugins/languages/svelte.nix @@ -9,7 +9,7 @@ inherit (lib.modules) mkIf mkMerge; inherit (lib.meta) getExe; inherit (lib.types) enum; - inherit (lib.nvim.types) mkGrammarOption diagnostics singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption diagnostics deprecatedSingleOrListOf; inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.generators) mkLuaInline; @@ -86,7 +86,7 @@ in { enable = mkEnableOption "Svelte LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.svelte.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "Svelte LSP server to use"; }; diff --git a/modules/plugins/languages/tailwind.nix b/modules/plugins/languages/tailwind.nix index 4e63a8d8..35449237 100644 --- a/modules/plugins/languages/tailwind.nix +++ b/modules/plugins/languages/tailwind.nix @@ -10,7 +10,7 @@ inherit (lib.meta) getExe; inherit (lib.types) enum; inherit (lib.nvim.attrsets) mapListToAttrs; - inherit (lib.nvim.types) singleOrListOf; + inherit (lib.nvim.types) deprecatedSingleOrListOf; inherit (lib.generators) mkLuaInline; cfg = config.vim.languages.tailwind; @@ -154,7 +154,7 @@ in { enable = mkEnableOption "Tailwindcss LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.tailwind.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "Tailwindcss LSP server to use"; }; diff --git a/modules/plugins/languages/ts.nix b/modules/plugins/languages/ts.nix index 01dd978e..b9c592e9 100644 --- a/modules/plugins/languages/ts.nix +++ b/modules/plugins/languages/ts.nix @@ -12,7 +12,7 @@ inherit (lib.generators) mkLuaInline; inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.lua) toLuaObject; - inherit (lib.nvim.types) mkGrammarOption diagnostics mkPluginSetupOption singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption diagnostics mkPluginSetupOption deprecatedSingleOrListOf; inherit (lib.nvim.dag) entryAnywhere entryBefore; cfg = config.vim.languages.ts; @@ -228,7 +228,7 @@ in { enable = mkEnableOption "Typescript/Javascript LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.ts.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "Typescript/Javascript LSP server to use"; }; @@ -239,7 +239,7 @@ in { type = mkOption { description = "Typescript/Javascript formatter to use"; - type = singleOrListOf (enum (attrNames formats)); + type = deprecatedSingleOrListOf "vim.language.ts.format.type" (enum (attrNames formats)); default = defaultFormat; }; }; diff --git a/modules/plugins/languages/typst.nix b/modules/plugins/languages/typst.nix index 18a7db7a..95d4fd84 100644 --- a/modules/plugins/languages/typst.nix +++ b/modules/plugins/languages/typst.nix @@ -9,7 +9,7 @@ inherit (lib.types) nullOr enum attrsOf listOf package str; inherit (lib.attrsets) attrNames; inherit (lib.meta) getExe; - inherit (lib.nvim.types) mkGrammarOption mkPluginSetupOption singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption mkPluginSetupOption deprecatedSingleOrListOf; inherit (lib.nvim.dag) entryAnywhere; inherit (lib.nvim.lua) toLuaObject; inherit (lib.nvim.attrsets) mapListToAttrs; @@ -114,7 +114,7 @@ in { enable = mkEnableOption "Typst LSP support (typst-lsp)" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.typst.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "Typst LSP server to use"; }; @@ -124,7 +124,7 @@ in { enable = mkEnableOption "Typst document formatting" // {default = config.vim.languages.enableFormat;}; type = mkOption { - type = singleOrListOf (enum (attrNames formats)); + type = deprecatedSingleOrListOf "vim.language.typst.format.type" (enum (attrNames formats)); default = defaultFormat; description = "Typst formatter to use"; }; diff --git a/modules/plugins/languages/vala.nix b/modules/plugins/languages/vala.nix index 722b0d3b..e6cb9e18 100644 --- a/modules/plugins/languages/vala.nix +++ b/modules/plugins/languages/vala.nix @@ -9,7 +9,7 @@ inherit (lib.modules) mkIf mkMerge; inherit (lib.meta) getExe; inherit (lib.types) enum; - inherit (lib.nvim.types) mkGrammarOption singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.generators) mkLuaInline; @@ -73,7 +73,7 @@ in { lsp = { enable = mkEnableOption "Vala LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.vala.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "Vala LSP server to use"; }; diff --git a/modules/plugins/languages/wgsl.nix b/modules/plugins/languages/wgsl.nix index 8c33e581..f38cb124 100644 --- a/modules/plugins/languages/wgsl.nix +++ b/modules/plugins/languages/wgsl.nix @@ -6,7 +6,7 @@ }: let inherit (builtins) attrNames; inherit (lib.modules) mkIf mkMerge; - inherit (lib.nvim.types) mkGrammarOption singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.options) mkEnableOption mkOption; inherit (lib.types) enum; inherit (lib.meta) getExe; @@ -37,7 +37,7 @@ in { enable = mkEnableOption "WGSL LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.wgsl.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "WGSL LSP server to use"; }; diff --git a/modules/plugins/languages/yaml.nix b/modules/plugins/languages/yaml.nix index 1869b1c1..83967784 100644 --- a/modules/plugins/languages/yaml.nix +++ b/modules/plugins/languages/yaml.nix @@ -9,7 +9,7 @@ inherit (lib.modules) mkIf mkMerge; inherit (lib.meta) getExe; inherit (lib.types) enum; - inherit (lib.nvim.types) mkGrammarOption singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.attrsets) mapListToAttrs; cfg = config.vim.languages.yaml; @@ -56,7 +56,7 @@ in { lsp = { enable = mkEnableOption "Yaml LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.yaml.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "Yaml LSP server to use"; }; diff --git a/modules/plugins/languages/zig.nix b/modules/plugins/languages/zig.nix index 966e9369..57ce961e 100644 --- a/modules/plugins/languages/zig.nix +++ b/modules/plugins/languages/zig.nix @@ -8,7 +8,7 @@ inherit (lib.options) mkEnableOption mkOption; inherit (lib.modules) mkIf mkMerge mkDefault; inherit (lib.types) bool package enum; - inherit (lib.nvim.types) mkGrammarOption singleOrListOf; + inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.meta) getExe; inherit (lib.nvim.attrsets) mapListToAttrs; @@ -67,7 +67,7 @@ in { enable = mkEnableOption "Zig LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - type = singleOrListOf (enum (attrNames servers)); + type = deprecatedSingleOrListOf "vim.language.zig.lsp.servers" (enum (attrNames servers)); default = defaultServers; description = "Zig LSP server to use"; }; From 00e5cfbafc5316ef72c7eddccd2cd28faa6843bd Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sat, 23 Aug 2025 20:55:38 +0200 Subject: [PATCH 8/9] docs: fix formatting --- docs/release-notes/rl-0.8.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 54927b23..39e65ce7 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -518,10 +518,12 @@ [Morsicus](https://github.com/Morsicus): -- Add [EEx Treesitter Grammar](https://github.com/connorlay/tree-sitter-eex) for Elixir -- Add [HEEx Treesitter Grammar](https://github.com/phoenixframework/tree-sitter-heex) for Elixir +- Add [EEx Treesitter Grammar](https://github.com/connorlay/tree-sitter-eex) for + Elixir +- Add + [HEEx Treesitter Grammar](https://github.com/phoenixframework/tree-sitter-heex) + for Elixir [diced](https://github.com/diced): - Fixed `typescript` treesitter grammar not being included by default. - From 163eb0d003cd9d45eaf00786b466535aea970064 Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sat, 23 Aug 2025 21:03:26 +0200 Subject: [PATCH 9/9] docs: remove dead link --- docs/release-notes/rl-0.7.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/rl-0.7.md b/docs/release-notes/rl-0.7.md index ed9d2d81..3c930bc6 100644 --- a/docs/release-notes/rl-0.7.md +++ b/docs/release-notes/rl-0.7.md @@ -376,8 +376,8 @@ The changes are, in no particular order: - Add [biome](https://github.com/biomejs/biome) support for Typescript, CSS and Svelte. Enable them via [](#opt-vim.languages.ts.format.type), - [](#opt-vim.languages.css.format.type) and - [](#opt-vim.languages.svelte.format.type) respectively. + [](#opt-vim.languages.css.format.type) and `vim.languages.svelte.format.type` + respectively. - Replace [nixpkgs-fmt](https://github.com/nix-community/nixpkgs-fmt) with [nixfmt](https://github.com/NixOS/nixfmt) (nixfmt-rfc-style).