From 700ddae60c4d8e422a560e356a01bac445e0e67d Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Sun, 12 Apr 2026 00:21:40 +0200 Subject: [PATCH] languages/asm: refactor lsp.servers to use lsp/presets/ --- modules/plugins/languages/asm.nix | 31 +++++++++++-------------------- 1 file changed, 11 insertions(+), 20 deletions(-) diff --git a/modules/plugins/languages/asm.nix b/modules/plugins/languages/asm.nix index f1831401..41b9f4bd 100644 --- a/modules/plugins/languages/asm.nix +++ b/modules/plugins/languages/asm.nix @@ -4,24 +4,15 @@ lib, ... }: let - inherit (builtins) attrNames; inherit (lib.options) mkEnableOption mkOption literalExpression; inherit (lib.modules) mkIf mkMerge; - inherit (lib.types) enum; - inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; - inherit (lib.meta) getExe; - inherit (lib.nvim.attrsets) mapListToAttrs; + inherit (lib.types) enum listOf; + inherit (lib) genAttrs; + inherit (lib.nvim.types) mkGrammarOption; cfg = config.vim.languages.assembly; defaultServers = ["asm-lsp"]; - servers = { - asm-lsp = { - enable = true; - cmd = [(getExe pkgs.asm-lsp)]; - filetypes = ["asm" "nasm" "masm" "vmasm" "fasm" "tasm" "tiasm" "asm68k" "asm8300"]; - root_markers = [".asm-lsp.toml" ".git"]; - }; - }; + servers = ["asm-lsp"]; in { options.vim.languages.assembly = { enable = mkEnableOption "Assembly support"; @@ -46,7 +37,7 @@ in { defaultText = literalExpression "config.vim.lsp.enable"; }; servers = mkOption { - type = deprecatedSingleOrListOf "vim.language.asm.lsp.servers" (enum (attrNames servers)); + type = listOf (enum servers); default = defaultServers; description = "Assembly LSP server to use"; }; @@ -63,12 +54,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 = ["asm" "nasm" "masm" "vmasm" "fasm" "tasm" "tiasm" "asm68k" "asm8300"]; + }); + }; }) ]); }