From 95bc599f75df13a1448f68454c3e89579d3b3ba2 Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Sat, 11 Apr 2026 23:22:12 +0200 Subject: [PATCH] languages/markdown: refactor lsp.servers to use lsp/presets/ --- modules/plugins/languages/markdown.nix | 38 ++++++-------------------- 1 file changed, 9 insertions(+), 29 deletions(-) diff --git a/modules/plugins/languages/markdown.nix b/modules/plugins/languages/markdown.nix index 33078e6d..71773c8a 100644 --- a/modules/plugins/languages/markdown.nix +++ b/modules/plugins/languages/markdown.nix @@ -5,6 +5,7 @@ ... }: let inherit (builtins) attrNames; + inherit (lib) genAttrs; inherit (lib.meta) getExe getExe'; inherit (lib.modules) mkIf mkMerge; inherit (lib.options) literalExpression mkEnableOption mkOption; @@ -17,28 +18,7 @@ cfg = config.vim.languages.markdown; defaultServers = ["marksman"]; - servers = { - marksman = { - enable = true; - cmd = [(getExe pkgs.marksman) "server"]; - filetypes = ["markdown" "mdx"]; - root_markers = [".marksman.toml" ".git"]; - }; - - markdown-oxide = { - enable = true; - cmd = [(getExe pkgs.markdown-oxide)]; - filetypes = ["markdown"]; - root_markers = [".git" ".obsidian" ".moxide.toml"]; - }; - - rumdl = { - enable = true; - cmd = [(getExe pkgs.rumdl) "server"]; - filetypes = ["markdown"]; - root_markers = [".git" ".rumdl.toml" "rumdl.toml" ".config/rumdl.toml" "pyproject.toml"]; - }; - }; + servers = ["marksman" "markdown-oxide" "rumdl"]; defaultFormat = ["deno_fmt"]; formats = { @@ -99,7 +79,7 @@ in { servers = mkOption { description = "Markdown LSP server to use"; - type = deprecatedSingleOrListOf "vim.language.markdown.lsp.servers" (enum (attrNames servers)); + type = listOf (enum servers); default = defaultServers; }; }; @@ -186,12 +166,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 = ["markdown" "mdx"]; + }); + }; }) (mkIf cfg.format.enable {