diff --git a/docs/manual/release-notes/rl-0.9.md b/docs/manual/release-notes/rl-0.9.md index a91328c1..798bd68a 100644 --- a/docs/manual/release-notes/rl-0.9.md +++ b/docs/manual/release-notes/rl-0.9.md @@ -91,6 +91,8 @@ - Renamed `bash-ls` to `bash-language-server`. +- Renamed `jsonls` to `vscode-json-language-server`. + - Removed `languages.tailwind` which only provided an LSP. Use `lsp.presets.tailwindcss-language-server` instead. diff --git a/modules/plugins/languages/json.nix b/modules/plugins/languages/json.nix index 5e85371a..5189059c 100644 --- a/modules/plugins/languages/json.nix +++ b/modules/plugins/languages/json.nix @@ -6,23 +6,17 @@ }: let inherit (builtins) attrNames; inherit (lib.options) mkOption mkEnableOption literalExpression; - inherit (lib.meta) getExe' getExe; + inherit (lib.meta) getExe; inherit (lib.modules) mkIf mkMerge; - inherit (lib.types) enum; + inherit (lib.types) enum listOf; + inherit (lib) genAttrs; inherit (lib.nvim.types) mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.attrsets) mapListToAttrs; cfg = config.vim.languages.json; - defaultServers = ["jsonls"]; - servers = { - jsonls = { - cmd = [(getExe' pkgs.vscode-langservers-extracted "vscode-json-language-server") "--stdio"]; - filetypes = ["json" "jsonc" "json5"]; - init_options = {provideFormatter = true;}; - root_markers = [".git"]; - }; - }; + defaultServers = ["vscode-json-language-server"]; + servers = ["vscode-json-language-server"]; defaultFormat = ["jsonfmt"]; @@ -57,7 +51,7 @@ in { }; servers = mkOption { - type = deprecatedSingleOrListOf "vim.language.json.lsp.servers" (enum (attrNames servers)); + type = listOf (enum servers); default = defaultServers; description = "JSON LSP server to use"; }; @@ -89,12 +83,12 @@ in { }) (mkIf cfg.lsp.enable { - vim.lsp.servers = - mapListToAttrs (name: { - inherit name; - value = servers.${name}; - }) - cfg.lsp.servers; + vim.lsp = { + presets = genAttrs cfg.lsp.servers (_: {enable = true;}); + servers = genAttrs cfg.lsp.servers (_: { + filetypes = ["json" "jsonc" "json5"]; + }); + }; }) (mkIf cfg.format.enable {