From 290f7e69a12eb7f4f4fe804e583912d4d5c2f9d4 Mon Sep 17 00:00:00 2001 From: Artem Krinitsyn Date: Wed, 22 Jul 2026 13:43:05 +0300 Subject: [PATCH] backport: fix(lsp): guard linked_editing_range refresh on attach (#40900) Problem: on_attach() calls refresh(), but there is no guarantee the attached buffer is the current buffer. This can make linked editing request handling assume the wrong window. Solution: Call refresh() only if the current buffer is attached. This keeps the initial highlighting behavior while avoiding making incorrect request. (cherry picked from commit 9180c6e093391969b2751d09b6fa0397dbfc7882) --- runtime/lua/vim/lsp/linked_editing_range.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/runtime/lua/vim/lsp/linked_editing_range.lua b/runtime/lua/vim/lsp/linked_editing_range.lua index 1a542ddade..a956baa609 100644 --- a/runtime/lua/vim/lsp/linked_editing_range.lua +++ b/runtime/lua/vim/lsp/linked_editing_range.lua @@ -249,7 +249,9 @@ local function attach_linked_editor(bufnr, client) local linked_editor = LinkedEditor.active[bufnr] or LinkedEditor.new(bufnr) linked_editor:attach(client_id) - linked_editor:refresh() + if bufnr == api.nvim_get_current_buf() then + linked_editor:refresh() + end end ---@param bufnr integer