diff --git a/plugins/lsp/language-servers/default.nix b/plugins/lsp/language-servers/default.nix index f2da621bf6..d23c7bbaac 100644 --- a/plugins/lsp/language-servers/default.nix +++ b/plugins/lsp/language-servers/default.nix @@ -621,8 +621,9 @@ let settingsOptions = import ./tinymist-settings.nix { inherit lib helpers; }; } { - name = "tsserver"; - description = "tsserver for TypeScript"; + name = "ts-ls"; + serverName = "ts_ls"; + description = "ts_ls for TypeScript"; package = "typescript-language-server"; } { @@ -694,14 +695,26 @@ let description = "zls for Zig"; } ]; + renamedServers = { + tsserver = "ts-ls"; + }; in { imports = let mkLsp = import ./_mk-lsp.nix; lspModules = map mkLsp servers; + baseLspPath = [ + "plugins" + "lsp" + "servers" + ]; + renameModules = mapAttrsToList ( + old: new: lib.mkRenamedOptionModule (baseLspPath ++ [ old ]) (baseLspPath ++ [ new ]) + ) renamedServers; in lspModules + ++ renameModules ++ [ ./ccls.nix ./efmls-configs.nix diff --git a/plugins/none-ls/prettier.nix b/plugins/none-ls/prettier.nix index 13c1c1c8f1..76917fbdc5 100644 --- a/plugins/none-ls/prettier.nix +++ b/plugins/none-ls/prettier.nix @@ -2,14 +2,14 @@ with lib; let cfg = config.plugins.none-ls.sources.formatting.prettier; - tsserver-cfg = config.plugins.lsp.servers.tsserver; + ts-ls-cfg = config.plugins.lsp.servers.ts-ls; in { options.plugins.none-ls.sources.formatting.prettier = { disableTsServerFormatter = mkOption { type = with types; nullOr bool; description = '' - Disables the formatting capability of the `tsserver` language server if it is enabled. + Disables the formatting capability of the `ts-ls` language server if it is enabled. ''; default = null; example = true; @@ -17,20 +17,20 @@ in }; config = mkIf cfg.enable { - warnings = optional ((cfg.disableTsServerFormatter == null) && tsserver-cfg.enable) '' + warnings = optional ((cfg.disableTsServerFormatter == null) && ts-ls-cfg.enable) '' You have enabled the `prettier` formatter in none-ls. - You have also enabled the `tsserver` language server which also brings a formatting feature. + You have also enabled the `ts-ls` language server which also brings a formatting feature. - - To disable the formatter built-in the `tsserver` language server, set + - To disable the formatter built-in the `ts-ls` language server, set `plugins.none-ls.sources.formatting.prettier.disableTsServerFormatter` to `true`. - Else, to silence this warning, explicitly set the option to `false`. ''; - plugins.lsp.servers.tsserver = + plugins.lsp.servers.ts-ls = mkIf ( cfg.enable - && tsserver-cfg.enable + && ts-ls-cfg.enable && (isBool cfg.disableTsServerFormatter) && cfg.disableTsServerFormatter ) diff --git a/tests/test-sources/plugins/lsp/_lsp.nix b/tests/test-sources/plugins/lsp/_lsp.nix index df3cb7d3dc..bcdc534efd 100644 --- a/tests/test-sources/plugins/lsp/_lsp.nix +++ b/tests/test-sources/plugins/lsp/_lsp.nix @@ -210,6 +210,7 @@ texlab.enable = true; tflint.enable = true; tinymist.enable = true; + ts-ls.enable = true; typos-lsp.enable = true; typst-lsp.enable = true; vala-ls.enable = true;