From 0112e1f77983141e1453bd37d124302f1c876c46 Mon Sep 17 00:00:00 2001 From: Dmytro Meleshko Date: Fri, 20 Jun 2025 15:07:25 +0200 Subject: 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`. --- lsp/svlangserver.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'lsp/svlangserver.lua') diff --git a/lsp/svlangserver.lua b/lsp/svlangserver.lua index 6121ea9b..9e205e28 100644 --- a/lsp/svlangserver.lua +++ b/lsp/svlangserver.lua @@ -34,11 +34,11 @@ return { includeIndexing = { '*.{v,vh,sv,svh}', '**/*.{v,vh,sv,svh}' }, }, }, - on_attach = function() - vim.api.nvim_buf_create_user_command(0, 'LspSvlangserverBuildIndex', build_index, { + on_attach = function(_, bufnr) + vim.api.nvim_buf_create_user_command(bufnr, 'LspSvlangserverBuildIndex', build_index, { desc = 'Instructs language server to rerun indexing', }) - vim.api.nvim_buf_create_user_command(0, 'LspSvlangserverReportHierarchy', report_hierarchy, { + vim.api.nvim_buf_create_user_command(bufnr, 'LspSvlangserverReportHierarchy', report_hierarchy, { desc = 'Generates hierarchy for the given module', }) end, -- cgit v1.2.3-70-g09d2