From b5d6c6fad7afe3edd44ddcbb1444b5970e9fb2cc Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Sun, 12 Apr 2026 15:43:15 +0200 Subject: [PATCH] languages/cue: refactor lsp.servers to use lsp/presets/ --- modules/plugins/languages/cue.nix | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/modules/plugins/languages/cue.nix b/modules/plugins/languages/cue.nix index b4294ecd..497aca35 100644 --- a/modules/plugins/languages/cue.nix +++ b/modules/plugins/languages/cue.nix @@ -4,16 +4,14 @@ lib, ... }: let - inherit (lib.options) mkEnableOption literalExpression; - inherit (lib.meta) getExe; + inherit (lib.options) mkEnableOption literalExpression mkOption; inherit (lib.modules) mkIf mkMerge; inherit (lib.nvim.types) mkGrammarOption; + inherit (lib.types) enum listOf; + inherit (lib) genAttrs; - lspOptions = { - cmd = [(getExe pkgs.cue) "lsp"]; - filetypes = ["cue"]; - root_markers = ["cue.mod" ".git"]; - }; + defaultServers = ["cue"]; + servers = ["cue"]; cfg = config.vim.languages.cue; in { @@ -38,6 +36,12 @@ in { default = config.vim.lsp.enable; defaultText = literalExpression "config.vim.lsp.enable"; }; + + servers = mkOption { + type = listOf (enum servers); + default = defaultServers; + description = "CUE LSP server to use"; + }; }; }; @@ -48,7 +52,12 @@ in { }) (mkIf cfg.lsp.enable { - vim.lsp.servers.cue = lspOptions; + vim.lsp = { + presets = genAttrs cfg.lsp.servers (_: {enable = true;}); + servers = genAttrs cfg.lsp.servers (_: { + filetypes = ["cue"]; + }); + }; }) ]); }