From eb768eb982856ba81bcc57abf11d3d58246e43f0 Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Sat, 11 Apr 2026 13:32:40 +0200 Subject: [PATCH] language/toml: refactor lsp usage to use lsp/presets/ --- modules/plugins/languages/toml.nix | 44 +++++++----------------------- 1 file changed, 10 insertions(+), 34 deletions(-) diff --git a/modules/plugins/languages/toml.nix b/modules/plugins/languages/toml.nix index 1ead6c7c..fc7fd930 100644 --- a/modules/plugins/languages/toml.nix +++ b/modules/plugins/languages/toml.nix @@ -5,41 +5,17 @@ ... }: let inherit (builtins) attrNames; + inherit (lib) genAttrs; inherit (lib.meta) getExe; inherit (lib.modules) mkIf mkMerge; inherit (lib.options) mkEnableOption mkOption literalExpression; - inherit (lib.types) enum; + inherit (lib.types) enum listOf; inherit (lib.nvim.types) diagnostics mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.attrsets) mapListToAttrs; cfg = config.vim.languages.toml; defaultServers = ["taplo"]; - servers = { - tombi = { - enable = true; - cmd = [ - (getExe pkgs.tombi) - "lsp" - ]; - filetypes = ["toml"]; - root_markers = [ - "tombi.toml" - ".git" - ]; - }; - taplo = { - enable = true; - cmd = [ - (getExe pkgs.taplo) - "lsp" - "stdio" - ]; - filetypes = ["toml"]; - root_markers = [ - ".git" - ]; - }; - }; + servers = ["taplo" "tombi"]; defaultFormat = ["taplo"]; formats = { @@ -93,7 +69,7 @@ in { servers = mkOption { description = "TOML LSP server to use"; - type = deprecatedSingleOrListOf "vim.language.toml.lsp.servers" (enum (attrNames servers)); + type = listOf (enum servers); default = defaultServers; }; }; @@ -137,12 +113,12 @@ in { }) (mkIf cfg.lsp.enable { - vim.lsp.servers = - mapListToAttrs (n: { - name = n; - value = servers.${n}; - }) - cfg.lsp.servers; + vim.lsp = { + presets = genAttrs cfg.lsp.servers (_: {enable = true;}); + servers = genAttrs cfg.lsp.servers (_: { + filetypes = ["toml"]; + }); + }; }) (mkIf cfg.format.enable {