Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package nvim-lspconfig for openSUSE:Factory checked in at 2025-06-11 16:23:58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/nvim-lspconfig (Old) and /work/SRC/openSUSE:Factory/.nvim-lspconfig.new.19631 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nvim-lspconfig" Wed Jun 11 16:23:58 2025 rev:10 rq:1284537 version:2.3.0 Changes: -------- --- /work/SRC/openSUSE:Factory/nvim-lspconfig/nvim-lspconfig.changes 2025-05-26 20:16:40.358267925 +0200 +++ /work/SRC/openSUSE:Factory/.nvim-lspconfig.new.19631/nvim-lspconfig.changes 2025-06-11 16:24:55.240454181 +0200 @@ -1,0 +2,20 @@ +Tue Jun 10 15:21:31 UTC 2025 - Richard Rahl <rra...@opensuse.org> + +- update to 2.3.0: + * fix(fish_lsp): apply author suggestions + * feat(ast_grep): support multiple workspaces + * Update cairo ls config + * [feat] add OpenTofu language server + * fix(emmet_ls, emmet_language_server): standardized configs across both emmet lsps + * feat: cspell language server + * feat(helm_ls,yamlls): support custom filetype for helm-ls + * fix: enable :LspLog command in Nvim 0.11.2 + * fix(eslint): LspEslintFixAll not running sync + * Add Postcss for Django + * fix(clangd): set offset_encoding correctly + * feat(bicep): add bicep-params filetype for bicep lsp + * fix(helm_ls,yamlls): support custom filetype for helm-ls + * fix: restore :LspStart/LspStop behaviour without arguments + * fix: support :LspRestart without arguments + +------------------------------------------------------------------- Old: ---- nvim-lspconfig-2.2.0.tar.gz New: ---- nvim-lspconfig-2.3.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ nvim-lspconfig.spec ++++++ --- /var/tmp/diff_new_pack.kEckb9/_old 2025-06-11 16:24:55.900481724 +0200 +++ /var/tmp/diff_new_pack.kEckb9/_new 2025-06-11 16:24:55.900481724 +0200 @@ -17,7 +17,7 @@ Name: nvim-lspconfig -Version: 2.2.0 +Version: 2.3.0 Release: 0 Summary: Quickstart configs for Nvim LSP License: Apache-2.0 ++++++ nvim-lspconfig-2.2.0.tar.gz -> nvim-lspconfig-2.3.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvim-lspconfig-2.2.0/.github/ci/lint.sh new/nvim-lspconfig-2.3.0/.github/ci/lint.sh --- old/nvim-lspconfig-2.2.0/.github/ci/lint.sh 2025-05-25 08:05:51.000000000 +0200 +++ new/nvim-lspconfig-2.3.0/.github/ci/lint.sh 2025-06-10 16:14:18.000000000 +0200 @@ -45,7 +45,8 @@ # Enforce client:exec_cmd(). _check_exec_cmd() { - if git grep -P 'workspace.executeCommand' -- 'lsp/*.lua' ; then + local exclude='eslint' + if git grep -P 'workspace.executeCommand' -- 'lsp/*.lua' | grep -v "$exclude" ; then _fail 'Use client:exec_cmd() instead of calling request("workspace/executeCommand") directly. Example: lsp/pyright.lua' fi } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvim-lspconfig-2.2.0/README.md new/nvim-lspconfig-2.3.0/README.md --- old/nvim-lspconfig-2.2.0/README.md 2025-05-25 08:05:51.000000000 +0200 +++ new/nvim-lspconfig-2.3.0/README.md 2025-06-10 16:14:18.000000000 +0200 @@ -154,7 +154,7 @@ * `:LspInfo` (alias to `:checkhealth vim.lsp`) shows the status of active and configured language servers. * `:LspStart <config_name>` Start the requested server name. Will only successfully start if the command detects a root directory matching the current config. * `:LspStop [<client_id_or_name> ...]` Stops the given server(s). Defaults to stopping all servers active on the current buffer. To force stop add `++force` -* `:LspRestart [<client_id_or_name> ...]` Restarts the given client(s), and attempts to reattach to all previously attached buffers. +* `:LspRestart [<client_id_or_name> ...]` Restarts the given client(s), and attempts to reattach to all previously attached buffers. Defaults to restarting all active servers. ## Contributions diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvim-lspconfig-2.2.0/doc/configs.md new/nvim-lspconfig-2.3.0/doc/configs.md --- old/nvim-lspconfig-2.2.0/doc/configs.md 2025-05-25 08:05:51.000000000 +0200 +++ new/nvim-lspconfig-2.3.0/doc/configs.md 2025-06-10 16:14:18.000000000 +0200 @@ -56,6 +56,7 @@ - [coq_lsp](#coq_lsp) - [crystalline](#crystalline) - [csharp_ls](#csharp_ls) +- [cspell_ls](#cspell_ls) - [css_variables](#css_variables) - [cssls](#cssls) - [cssmodules_ls](#cssmodules_ls) @@ -317,6 +318,7 @@ - [thriftls](#thriftls) - [tilt_ls](#tilt_ls) - [tinymist](#tinymist) +- [tofu_ls](#tofu_ls) - [tombi](#tombi) - [ts_ls](#ts_ls) - [ts_query_ls](#ts_query_ls) @@ -842,6 +844,7 @@ ```lua { "c", "cpp", "rust", "go", "java", "python", "javascript", "javascriptreact", "javascript.jsx", "typescript", "typescriptreact", "typescript.tsx", "html", "css", "kotlin", "dart", "lua" } ``` +- `reuse_client`: [../lsp/ast_grep.lua:10](../lsp/ast_grep.lua#L10) - `root_markers` : ```lua { "sgconfig.yaml", "sgconfig.yml" } @@ -1466,7 +1469,7 @@ Default config: - `filetypes` : ```lua - { "bicep" } + { "bicep", "bicep-params" } ``` - `init_options` : ```lua @@ -1856,7 +1859,7 @@ Default config: - `cmd` : ```lua - { "scarb-cairo-language-server", "/C", "--node-ipc" } + { "scarb", "cairo-language-server", "/C", "--node-ipc" } ``` - `filetypes` : ```lua @@ -2030,7 +2033,8 @@ ```lua { "c", "cpp", "objc", "objcpp", "cuda", "proto" } ``` -- `on_attach`: [../lsp/clangd.lua:60](../lsp/clangd.lua#L60) +- `on_attach`: [../lsp/clangd.lua:63](../lsp/clangd.lua#L63) +- `on_init`: [../lsp/clangd.lua:63](../lsp/clangd.lua#L63) - `root_markers` : ```lua { ".clangd", ".clang-tidy", ".clang-format", "compile_commands.json", "compile_flags.txt", "configure.ac", ".git" } @@ -2296,6 +2300,27 @@ --- +## cspell_ls + +[cspell language server](https://github.com/vlabo/cspell-lsp) + +Snippet to enable the language server: +```lua +vim.lsp.enable('cspell_ls') +``` + +Default config: +- `cmd` : + ```lua + { "cspell-lsp", "--stdio" } + ``` +- `root_markers` : + ```lua + { ".git", "cspell.json", ".cspell.json", "cspell.json", ".cSpell.json", "cSpell.json", "cspell.config.js", "cspell.config.cjs", "cspell.config.json", "cspell.config.yaml", "cspell.config.yml", "cspell.yaml", "cspell.yml" } + ``` + +--- + ## css_variables https://github.com/vunguyentuan/vscode-css-variables/tree/master/packages/css-variables-language-server @@ -3474,7 +3499,7 @@ ``` - `filetypes` : ```lua - { "css", "eruby", "html", "htmldjango", "javascriptreact", "less", "pug", "sass", "scss", "typescriptreact", "htmlangular" } + { "astro", "css", "eruby", "html", "htmlangular", "htmldjango", "javascriptreact", "less", "pug", "sass", "scss", "svelte", "templ", "typescriptreact", "vue" } ``` - `root_markers` : ```lua @@ -3504,7 +3529,7 @@ ``` - `filetypes` : ```lua - { "astro", "css", "eruby", "html", "htmldjango", "javascriptreact", "less", "pug", "sass", "scss", "svelte", "typescriptreact", "vue", "htmlangular" } + { "astro", "css", "eruby", "html", "htmlangular", "htmldjango", "javascriptreact", "less", "pug", "sass", "scss", "svelte", "templ", "typescriptreact", "vue" } ``` - `root_markers` : ```lua @@ -3897,19 +3922,13 @@ ```lua { "fish-lsp", "start" } ``` -- `cmd_env` : - ```lua - { - fish_lsp_show_client_popups = false - } - ``` - `filetypes` : ```lua { "fish" } ``` - `root_markers` : ```lua - { ".git" } + { "config.fish", ".git" } ``` --- @@ -4978,7 +4997,7 @@ ``` - `filetypes` : ```lua - { "helm" } + { "helm", "yaml.helm-values" } ``` - `root_markers` : ```lua @@ -11808,6 +11827,31 @@ --- +## tofu_ls + +[OpenTofu Language Server](https://github.com/opentofu/tofu-ls) + +Snippet to enable the language server: +```lua +vim.lsp.enable('tofu_ls') +``` + +Default config: +- `cmd` : + ```lua + { "tofu-ls", "serve" } + ``` +- `filetypes` : + ```lua + { "opentofu", "opentofu-vars" } + ``` +- `root_markers` : + ```lua + { ".terraform", ".git" } + ``` + +--- + ## tombi https://tombi-toml.github.io/tombi/ @@ -13268,7 +13312,7 @@ ``` - `filetypes` : ```lua - { "yaml", "yaml.docker-compose", "yaml.gitlab" } + { "yaml", "yaml.docker-compose", "yaml.gitlab", "yaml.helm-values" } ``` - `root_markers` : ```lua diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvim-lspconfig-2.2.0/doc/configs.txt new/nvim-lspconfig-2.3.0/doc/configs.txt --- old/nvim-lspconfig-2.2.0/doc/configs.txt 2025-05-25 08:05:51.000000000 +0200 +++ new/nvim-lspconfig-2.3.0/doc/configs.txt 2025-06-10 16:14:18.000000000 +0200 @@ -380,6 +380,7 @@ { "ast-grep", "lsp" } - filetypes: >lua { "c", "cpp", "rust", "go", "java", "python", "javascript", "javascriptreact", "javascript.jsx", "typescript", "typescriptreact", "typescript.tsx", "html", "css", "kotlin", "dart", "lua" } +- reuse_client (use "gF" to view): ../lsp/ast_grep.lua:10 - root_markers: >lua { "sgconfig.yaml", "sgconfig.yml" } - `workspace_required` : `true` @@ -867,7 +868,7 @@ Default config: - filetypes: >lua - { "bicep" } + { "bicep", "bicep-params" } - init_options: >lua {} - root_markers: >lua @@ -1154,7 +1155,7 @@ Default config: - cmd: >lua - { "scarb-cairo-language-server", "/C", "--node-ipc" } + { "scarb", "cairo-language-server", "/C", "--node-ipc" } - filetypes: >lua { "cairo" } - init_options: >lua @@ -1285,7 +1286,8 @@ { "clangd" } - filetypes: >lua { "c", "cpp", "objc", "objcpp", "cuda", "proto" } -- on_attach (use "gF" to view): ../lsp/clangd.lua:60 +- on_attach (use "gF" to view): ../lsp/clangd.lua:63 +- on_init (use "gF" to view): ../lsp/clangd.lua:63 - root_markers: >lua { ".clangd", ".clang-tidy", ".clang-format", "compile_commands.json", "compile_flags.txt", "configure.ac", ".git" } < @@ -1484,6 +1486,22 @@ < ------------------------------------------------------------------------------ +cspell_ls + +[cspell language server](https://github.com/vlabo/cspell-lsp) + +Snippet to enable the language server: >lua + vim.lsp.enable('cspell_ls') + + +Default config: +- cmd: >lua + { "cspell-lsp", "--stdio" } +- root_markers: >lua + { ".git", "cspell.json", ".cspell.json", "cspell.json", ".cSpell.json", "cSpell.json", "cspell.config.js", "cspell.config.cjs", "cspell.config.json", "cspell.config.yaml", "cspell.config.yml", "cspell.yaml", "cspell.yml" } +< + +------------------------------------------------------------------------------ css_variables https://github.com/vunguyentuan/vscode-css-variables/tree/master/packages/css-variables-language-server @@ -2370,7 +2388,7 @@ - cmd: >lua { "emmet-language-server", "--stdio" } - filetypes: >lua - { "css", "eruby", "html", "htmldjango", "javascriptreact", "less", "pug", "sass", "scss", "typescriptreact", "htmlangular" } + { "astro", "css", "eruby", "html", "htmlangular", "htmldjango", "javascriptreact", "less", "pug", "sass", "scss", "svelte", "templ", "typescriptreact", "vue" } - root_markers: >lua { ".git" } < @@ -2391,7 +2409,7 @@ - cmd: >lua { "emmet-ls", "--stdio" } - filetypes: >lua - { "astro", "css", "eruby", "html", "htmldjango", "javascriptreact", "less", "pug", "sass", "scss", "svelte", "typescriptreact", "vue", "htmlangular" } + { "astro", "css", "eruby", "html", "htmlangular", "htmldjango", "javascriptreact", "less", "pug", "sass", "scss", "svelte", "templ", "typescriptreact", "vue" } - root_markers: >lua { ".git" } < @@ -2702,14 +2720,10 @@ Default config: - cmd: >lua { "fish-lsp", "start" } -- cmd_env: >lua - { - fish_lsp_show_client_popups = false - } - filetypes: >lua { "fish" } - root_markers: >lua - { ".git" } + { "config.fish", ".git" } < ------------------------------------------------------------------------------ @@ -3524,7 +3538,7 @@ - cmd: >lua { "helm_ls", "serve" } - filetypes: >lua - { "helm" } + { "helm", "yaml.helm-values" } - root_markers: >lua { "Chart.yaml" } < @@ -8733,6 +8747,24 @@ < ------------------------------------------------------------------------------ +tofu_ls + +[OpenTofu Language Server](https://github.com/opentofu/tofu-ls) + +Snippet to enable the language server: >lua + vim.lsp.enable('tofu_ls') + + +Default config: +- cmd: >lua + { "tofu-ls", "serve" } +- filetypes: >lua + { "opentofu", "opentofu-vars" } +- root_markers: >lua + { ".terraform", ".git" } +< + +------------------------------------------------------------------------------ tombi https://tombi-toml.github.io/tombi/ @@ -9862,7 +9894,7 @@ - cmd: >lua { "yaml-language-server", "--stdio" } - filetypes: >lua - { "yaml", "yaml.docker-compose", "yaml.gitlab" } + { "yaml", "yaml.docker-compose", "yaml.gitlab", "yaml.helm-values" } - root_markers: >lua { ".git" } - settings: >lua diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvim-lspconfig-2.2.0/doc/lspconfig.txt new/nvim-lspconfig-2.3.0/doc/lspconfig.txt --- old/nvim-lspconfig-2.2.0/doc/lspconfig.txt 2025-05-25 08:05:51.000000000 +0200 +++ new/nvim-lspconfig-2.3.0/doc/lspconfig.txt 2025-06-10 16:14:18.000000000 +0200 @@ -93,7 +93,8 @@ :LspRestart [client_id] or [config_name] ... *:LspRestart* Restarts the clients with the given client-ids or config names, and attempts -to reattach to all previously attached buffers. +to reattach to all previously attached buffers. Defaults to restarting all +active servers. ============================================================================== SERVER CONFIGS *lspconfig-configurations* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvim-lspconfig-2.2.0/lsp/ast_grep.lua new/nvim-lspconfig-2.3.0/lsp/ast_grep.lua --- old/nvim-lspconfig-2.2.0/lsp/ast_grep.lua 2025-05-25 08:05:51.000000000 +0200 +++ new/nvim-lspconfig-2.3.0/lsp/ast_grep.lua 2025-06-10 16:14:18.000000000 +0200 @@ -10,6 +10,10 @@ return { cmd = { 'ast-grep', 'lsp' }, workspace_required = true, + reuse_client = function(client, config) + config.cmd_cwd = config.root_dir + return client.config.cmd_cwd == config.cmd_cwd + end, filetypes = { -- https://ast-grep.github.io/reference/languages.html 'c', 'cpp', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvim-lspconfig-2.2.0/lsp/bicep.lua new/nvim-lspconfig-2.3.0/lsp/bicep.lua --- old/nvim-lspconfig-2.2.0/lsp/bicep.lua 2025-05-25 08:05:51.000000000 +0200 +++ new/nvim-lspconfig-2.3.0/lsp/bicep.lua 2025-06-10 16:14:18.000000000 +0200 @@ -32,7 +32,7 @@ --- && unzip -d /usr/local/bin/bicep-langserver bicep-langserver.zip) --- ``` return { - filetypes = { 'bicep' }, + filetypes = { 'bicep', 'bicep-params' }, root_markers = { '.git' }, init_options = {}, } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvim-lspconfig-2.2.0/lsp/cairo_ls.lua new/nvim-lspconfig-2.3.0/lsp/cairo_ls.lua --- old/nvim-lspconfig-2.2.0/lsp/cairo_ls.lua 2025-05-25 08:05:51.000000000 +0200 +++ new/nvim-lspconfig-2.3.0/lsp/cairo_ls.lua 2025-06-10 16:14:18.000000000 +0200 @@ -12,7 +12,7 @@ --- *cairo-language-server is still under active development, some features might not work yet !* return { init_options = { hostInfo = 'neovim' }, - cmd = { 'scarb-cairo-language-server', '/C', '--node-ipc' }, + cmd = { 'scarb', 'cairo-language-server', '/C', '--node-ipc' }, filetypes = { 'cairo' }, root_markers = { 'Scarb.toml', 'cairo_project.toml', '.git' }, } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvim-lspconfig-2.2.0/lsp/clangd.lua new/nvim-lspconfig-2.3.0/lsp/clangd.lua --- old/nvim-lspconfig-2.2.0/lsp/clangd.lua 2025-05-25 08:05:51.000000000 +0200 +++ new/nvim-lspconfig-2.3.0/lsp/clangd.lua 2025-06-10 16:14:18.000000000 +0200 @@ -57,6 +57,9 @@ end, bufnr) end +---@class ClangdInitializeResult: lsp.InitializeResult +---@field offsetEncoding? string + return { cmd = { 'clangd' }, filetypes = { 'c', 'cpp', 'objc', 'objcpp', 'cuda', 'proto' }, @@ -77,6 +80,13 @@ }, offsetEncoding = { 'utf-8', 'utf-16' }, }, + ---@param client vim.lsp.Client + ---@param init_result ClangdInitializeResult + on_init = function(client, init_result) + if init_result.offsetEncoding then + client.offset_encoding = init_result.offsetEncoding + end + end, on_attach = function() vim.api.nvim_buf_create_user_command(0, 'LspClangdSwitchSourceHeader', function() switch_source_header(0) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvim-lspconfig-2.2.0/lsp/cspell_ls.lua new/nvim-lspconfig-2.3.0/lsp/cspell_ls.lua --- old/nvim-lspconfig-2.2.0/lsp/cspell_ls.lua 1970-01-01 01:00:00.000000000 +0100 +++ new/nvim-lspconfig-2.3.0/lsp/cspell_ls.lua 2025-06-10 16:14:18.000000000 +0200 @@ -0,0 +1,22 @@ +---@brief +--- +--- [cspell language server](https://github.com/vlabo/cspell-lsp) +--- +return { + cmd = { 'cspell-lsp', '--stdio' }, + root_markers = { + '.git', + 'cspell.json', + '.cspell.json', + 'cspell.json', + '.cSpell.json', + 'cSpell.json', + 'cspell.config.js', + 'cspell.config.cjs', + 'cspell.config.json', + 'cspell.config.yaml', + 'cspell.config.yml', + 'cspell.yaml', + 'cspell.yml', + }, +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvim-lspconfig-2.2.0/lsp/emmet_language_server.lua new/nvim-lspconfig-2.3.0/lsp/emmet_language_server.lua --- old/nvim-lspconfig-2.2.0/lsp/emmet_language_server.lua 2025-05-25 08:05:51.000000000 +0200 +++ new/nvim-lspconfig-2.3.0/lsp/emmet_language_server.lua 2025-06-10 16:14:18.000000000 +0200 @@ -9,17 +9,21 @@ return { cmd = { 'emmet-language-server', '--stdio' }, filetypes = { + 'astro', 'css', 'eruby', 'html', + 'htmlangular', 'htmldjango', 'javascriptreact', 'less', 'pug', 'sass', 'scss', + 'svelte', + 'templ', 'typescriptreact', - 'htmlangular', + 'vue', }, root_markers = { '.git' }, } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvim-lspconfig-2.2.0/lsp/emmet_ls.lua new/nvim-lspconfig-2.3.0/lsp/emmet_ls.lua --- old/nvim-lspconfig-2.2.0/lsp/emmet_ls.lua 2025-05-25 08:05:51.000000000 +0200 +++ new/nvim-lspconfig-2.3.0/lsp/emmet_ls.lua 2025-06-10 16:14:18.000000000 +0200 @@ -13,6 +13,7 @@ 'css', 'eruby', 'html', + 'htmlangular', 'htmldjango', 'javascriptreact', 'less', @@ -20,9 +21,9 @@ 'sass', 'scss', 'svelte', + 'templ', 'typescriptreact', 'vue', - 'htmlangular', }, root_markers = { '.git' }, } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvim-lspconfig-2.2.0/lsp/eslint.lua new/nvim-lspconfig-2.3.0/lsp/eslint.lua --- old/nvim-lspconfig-2.2.0/lsp/eslint.lua 2025-05-25 08:05:51.000000000 +0200 +++ new/nvim-lspconfig-2.3.0/lsp/eslint.lua 2025-06-10 16:14:18.000000000 +0200 @@ -48,12 +48,9 @@ 'astro', }, workspace_required = true, - on_attach = function(client) + on_attach = function(client, bufnr) vim.api.nvim_buf_create_user_command(0, 'LspEslintFixAll', function() - local bufnr = vim.api.nvim_get_current_buf() - - client:exec_cmd({ - title = 'Fix all Eslint errors for current buffer', + client:request_sync('workspace/executeCommand', { command = 'eslint.applyAllFixes', arguments = { { @@ -61,7 +58,7 @@ version = lsp.util.buf_versions[bufnr], }, }, - }, { bufnr = bufnr }) + }, nil, bufnr) end, {}) end, -- https://eslint.org/docs/user-guide/configuring/configuration-files#configuration-file-formats diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvim-lspconfig-2.2.0/lsp/fish_lsp.lua new/nvim-lspconfig-2.3.0/lsp/fish_lsp.lua --- old/nvim-lspconfig-2.2.0/lsp/fish_lsp.lua 2025-05-25 08:05:51.000000000 +0200 +++ new/nvim-lspconfig-2.3.0/lsp/fish_lsp.lua 2025-06-10 16:14:18.000000000 +0200 @@ -10,7 +10,6 @@ --- [homepage](https://www.fish-lsp.dev/) return { cmd = { 'fish-lsp', 'start' }, - cmd_env = { fish_lsp_show_client_popups = false }, filetypes = { 'fish' }, - root_markers = { '.git' }, + root_markers = { 'config.fish', '.git' }, } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvim-lspconfig-2.2.0/lsp/helm_ls.lua new/nvim-lspconfig-2.3.0/lsp/helm_ls.lua --- old/nvim-lspconfig-2.2.0/lsp/helm_ls.lua 2025-05-25 08:05:51.000000000 +0200 +++ new/nvim-lspconfig-2.3.0/lsp/helm_ls.lua 2025-06-10 16:14:18.000000000 +0200 @@ -11,7 +11,7 @@ --- If need Helm file highlight use [vim-helm](https://github.com/towolf/vim-helm) plugin. return { cmd = { 'helm_ls', 'serve' }, - filetypes = { 'helm' }, + filetypes = { 'helm', 'yaml.helm-values' }, root_markers = { 'Chart.yaml' }, capabilities = { workspace = { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvim-lspconfig-2.2.0/lsp/tailwindcss.lua new/nvim-lspconfig-2.3.0/lsp/tailwindcss.lua --- old/nvim-lspconfig-2.2.0/lsp/tailwindcss.lua 2025-05-25 08:05:51.000000000 +0200 +++ new/nvim-lspconfig-2.3.0/lsp/tailwindcss.lua 2025-06-10 16:14:18.000000000 +0200 @@ -127,6 +127,7 @@ 'theme/static_src/tailwind.config.cjs', 'theme/static_src/tailwind.config.mjs', 'theme/static_src/tailwind.config.ts', + 'theme/static_src/postcss.config.js', -- Rails 'app/assets/stylesheets/application.tailwind.css', 'app/assets/tailwind/application.css', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvim-lspconfig-2.2.0/lsp/tofu_ls.lua new/nvim-lspconfig-2.3.0/lsp/tofu_ls.lua --- old/nvim-lspconfig-2.2.0/lsp/tofu_ls.lua 1970-01-01 01:00:00.000000000 +0100 +++ new/nvim-lspconfig-2.3.0/lsp/tofu_ls.lua 2025-06-10 16:14:18.000000000 +0200 @@ -0,0 +1,9 @@ +---@brief +--- +--- [OpenTofu Language Server](https://github.com/opentofu/tofu-ls) +--- +return { + cmd = { 'tofu-ls', 'serve' }, + filetypes = { 'opentofu', 'opentofu-vars' }, + root_markers = { '.terraform', '.git' }, +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvim-lspconfig-2.2.0/lsp/yamlls.lua new/nvim-lspconfig-2.3.0/lsp/yamlls.lua --- old/nvim-lspconfig-2.2.0/lsp/yamlls.lua 2025-05-25 08:05:51.000000000 +0200 +++ new/nvim-lspconfig-2.3.0/lsp/yamlls.lua 2025-06-10 16:14:18.000000000 +0200 @@ -60,7 +60,7 @@ --- ``` return { cmd = { 'yaml-language-server', '--stdio' }, - filetypes = { 'yaml', 'yaml.docker-compose', 'yaml.gitlab' }, + filetypes = { 'yaml', 'yaml.docker-compose', 'yaml.gitlab', 'yaml.helm-values' }, root_markers = { '.git' }, settings = { -- https://github.com/redhat-developer/vscode-redhat-telemetry#how-to-disable-telemetry-reporting diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvim-lspconfig-2.2.0/lua/lspconfig/configs/bicep.lua new/nvim-lspconfig-2.3.0/lua/lspconfig/configs/bicep.lua --- old/nvim-lspconfig-2.2.0/lua/lspconfig/configs/bicep.lua 2025-05-25 08:05:51.000000000 +0200 +++ new/nvim-lspconfig-2.3.0/lua/lspconfig/configs/bicep.lua 2025-06-10 16:14:18.000000000 +0200 @@ -1,6 +1,6 @@ return { default_config = { - filetypes = { 'bicep' }, + filetypes = { 'bicep', 'bicep-params' }, root_dir = function(fname) return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1]) end, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvim-lspconfig-2.2.0/lua/lspconfig/configs/fish_lsp.lua new/nvim-lspconfig-2.3.0/lua/lspconfig/configs/fish_lsp.lua --- old/nvim-lspconfig-2.2.0/lua/lspconfig/configs/fish_lsp.lua 2025-05-25 08:05:51.000000000 +0200 +++ new/nvim-lspconfig-2.3.0/lua/lspconfig/configs/fish_lsp.lua 2025-06-10 16:14:18.000000000 +0200 @@ -1,10 +1,12 @@ +local util = require 'lspconfig.util' + return { default_config = { cmd = { 'fish-lsp', 'start' }, - cmd_env = { fish_lsp_show_client_popups = false }, filetypes = { 'fish' }, root_dir = function(fname) - return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1]) + return util.root_pattern('config.fish')(fname) + or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1]) end, single_file_support = true, }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvim-lspconfig-2.2.0/lua/lspconfig/configs/helm_ls.lua new/nvim-lspconfig-2.3.0/lua/lspconfig/configs/helm_ls.lua --- old/nvim-lspconfig-2.2.0/lua/lspconfig/configs/helm_ls.lua 2025-05-25 08:05:51.000000000 +0200 +++ new/nvim-lspconfig-2.3.0/lua/lspconfig/configs/helm_ls.lua 2025-06-10 16:14:18.000000000 +0200 @@ -3,7 +3,7 @@ return { default_config = { cmd = { 'helm_ls', 'serve' }, - filetypes = { 'helm' }, + filetypes = { 'helm', 'yaml.helm-values' }, root_dir = util.root_pattern 'Chart.yaml', single_file_support = true, capabilities = { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvim-lspconfig-2.2.0/lua/lspconfig/configs/yamlls.lua new/nvim-lspconfig-2.3.0/lua/lspconfig/configs/yamlls.lua --- old/nvim-lspconfig-2.2.0/lua/lspconfig/configs/yamlls.lua 2025-05-25 08:05:51.000000000 +0200 +++ new/nvim-lspconfig-2.3.0/lua/lspconfig/configs/yamlls.lua 2025-06-10 16:14:18.000000000 +0200 @@ -1,7 +1,7 @@ return { default_config = { cmd = { 'yaml-language-server', '--stdio' }, - filetypes = { 'yaml', 'yaml.docker-compose', 'yaml.gitlab' }, + filetypes = { 'yaml', 'yaml.docker-compose', 'yaml.gitlab', 'yaml.helm-values' }, root_dir = function(fname) return vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1]) end, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvim-lspconfig-2.2.0/plugin/lspconfig.lua new/nvim-lspconfig-2.3.0/plugin/lspconfig.lua --- old/nvim-lspconfig-2.2.0/plugin/lspconfig.lua 2025-05-25 08:05:51.000000000 +0200 +++ new/nvim-lspconfig-2.3.0/plugin/lspconfig.lua 2025-06-10 16:14:18.000000000 +0200 @@ -67,6 +67,12 @@ -- script in scriptnames to be executed is lspconfig. api.nvim_create_user_command('LspInfo', ':checkhealth vim.lsp', { desc = 'Alias to `:checkhealth vim.lsp`' }) +api.nvim_create_user_command('LspLog', function() + vim.cmd(string.format('tabnew %s', lsp.get_log_path())) +end, { + desc = 'Opens the Nvim LSP client log.', +}) + if vim.version.ge(vim.version(), { 0, 11, 2 }) then local complete_client = function(arg) return vim @@ -91,12 +97,22 @@ end api.nvim_create_user_command('LspStart', function(info) - if vim.lsp.config[info.args] == nil then - vim.notify(("Invalid server name '%s'"):format(info.args)) - return + local servers = info.fargs + + -- Default to enabling all servers matching the filetype of the current buffer. + -- This assumes that they've been explicitly configured through `vim.lsp.config`, + -- otherwise they won't be present in the private `vim.lsp.config._configs` table. + if #servers == 0 then + local filetype = vim.bo.filetype + for name, _ in pairs(vim.lsp.config._configs) do + local filetypes = vim.lsp.config[name].filetypes + if filetypes and vim.tbl_contains(filetypes, filetype) then + table.insert(servers, name) + end + end end - vim.lsp.enable(info.args) + vim.lsp.enable(servers) end, { desc = 'Enable and launch a language server', nargs = '?', @@ -104,9 +120,21 @@ }) api.nvim_create_user_command('LspRestart', function(info) - for _, name in ipairs(info.fargs) do + local clients = info.fargs + + -- Default to restarting all active servers + if #clients == 0 then + clients = vim + .iter(vim.lsp.get_clients()) + :map(function(client) + return client.name + end) + :totable() + end + + for _, name in ipairs(clients) do if vim.lsp.config[name] == nil then - vim.notify(("Invalid server name '%s'"):format(info.args)) + vim.notify(("Invalid server name '%s'"):format(name)) else vim.lsp.enable(name, false) end @@ -114,7 +142,7 @@ local timer = assert(vim.uv.new_timer()) timer:start(500, 0, function() - for _, name in ipairs(info.fargs) do + for _, name in ipairs(clients) do vim.schedule_wrap(function(x) vim.lsp.enable(x) end)(name) @@ -122,21 +150,33 @@ end) end, { desc = 'Restart the given client(s)', - nargs = '+', + nargs = '*', complete = complete_client, }) api.nvim_create_user_command('LspStop', function(info) - for _, name in ipairs(info.fargs) do + local clients = info.fargs + + -- Default to disabling all servers on current buffer + if #clients == 0 then + clients = vim + .iter(vim.lsp.get_clients({ bufnr = vim.api.nvim_get_current_buf() })) + :map(function(client) + return client.name + end) + :totable() + end + + for _, name in ipairs(clients) do if vim.lsp.config[name] == nil then - vim.notify(("Invalid server name '%s'"):format(info.args)) + vim.notify(("Invalid server name '%s'"):format(name)) else vim.lsp.enable(name, false) end end end, { desc = 'Disable and stop the given client(s)', - nargs = '+', + nargs = '*', complete = complete_client, }) @@ -229,9 +269,3 @@ nargs = '?', complete = lsp_get_active_clients, }) - -api.nvim_create_user_command('LspLog', function() - vim.cmd(string.format('tabnew %s', lsp.get_log_path())) -end, { - desc = 'Opens the Nvim LSP client log.', -})