mirror of
https://github.com/neovim/neovim.git
synced 2025-10-26 12:27:24 +00:00
fix(lsp): ensure buffers are re-attached on rename (#16266)
If a LSP server sent a workspace edit containing a rename the buffers file name changed without the server receiving a close notification for the old buffer and without the client properly re-attaching on the new file. This affected `Move` code-actions in nvim-jdtls, but also `vim.lsp.buf.rename` on a class level.
This commit is contained in:
committed by
GitHub
parent
2ef9d2a663
commit
ee3a58d42e
@@ -472,7 +472,11 @@ local function text_document_did_open_handler(bufnr, client)
|
||||
|
||||
-- Next chance we get, we should re-do the diagnostics
|
||||
vim.schedule(function()
|
||||
vim.lsp.diagnostic.redraw(bufnr, client.id)
|
||||
-- Protect against a race where the buffer disappears
|
||||
-- between `did_open_handler` and the scheduled function firing.
|
||||
if vim.api.nvim_buf_is_valid(bufnr) then
|
||||
vim.lsp.diagnostic.redraw(bufnr, client.id)
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user