aboutsummaryrefslogtreecommitdiffstats
path: root/lsp/ts_ls.lua
diff options
context:
space:
mode:
authorDmytro Meleshko <dmytro.meleshko@gmail.com>2025-06-20 15:07:25 +0200
committerGitHub <noreply@github.com>2025-06-20 06:07:25 -0700
commit0112e1f77983141e1453bd37d124302f1c876c46 (patch)
tree860eaf1a98cba84bc04706b3e327f4afb75eed71 /lsp/ts_ls.lua
parentfix(powershell_es): set LogLevel to "Information" #3914 (diff)
downloadnvim-lspconfig-0112e1f77983141e1453bd37d124302f1c876c46.tar
nvim-lspconfig-0112e1f77983141e1453bd37d124302f1c876c46.tar.gz
nvim-lspconfig-0112e1f77983141e1453bd37d124302f1c876c46.tar.bz2
nvim-lspconfig-0112e1f77983141e1453bd37d124302f1c876c46.tar.lz
nvim-lspconfig-0112e1f77983141e1453bd37d124302f1c876c46.tar.xz
nvim-lspconfig-0112e1f77983141e1453bd37d124302f1c876c46.tar.zst
nvim-lspconfig-0112e1f77983141e1453bd37d124302f1c876c46.zip
fix: some `on_attach` callbacks may act on the wrong buffer #3916
Problem: If a server is attached to a non-current buffer by `vim.lsp.buf_attach_client`, then the Language Server-related commands may be created in the current (wrong) buffer. Solution: Always use the `bufnr` arg provided to `on_attach`.
Diffstat (limited to 'lsp/ts_ls.lua')
-rw-r--r--lsp/ts_ls.lua4
1 files changed, 2 insertions, 2 deletions
diff --git a/lsp/ts_ls.lua b/lsp/ts_ls.lua
index 360a805b..33cb5995 100644
--- a/lsp/ts_ls.lua
+++ b/lsp/ts_ls.lua
@@ -97,10 +97,10 @@ return {
return vim.NIL
end,
},
- on_attach = function(client)
+ on_attach = function(client, bufnr)
-- ts_ls provides `source.*` code actions that apply to the whole file. These only appear in
-- `vim.lsp.buf.code_action()` if specified in `context.only`.
- vim.api.nvim_buf_create_user_command(0, 'LspTypescriptSourceAction', function()
+ vim.api.nvim_buf_create_user_command(bufnr, 'LspTypescriptSourceAction', function()
local source_actions = vim.tbl_filter(function(action)
return vim.startswith(action, 'source.')
end, client.server_capabilities.codeActionProvider.codeActionKinds)