aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/lsp.lua
diff options
context:
space:
mode:
authorMathias Fußenegger <mfussenegger@users.noreply.github.com>2024-06-07 11:36:46 +0200
committerGitHub <noreply@github.com>2024-06-07 11:36:46 +0200
commit6e45cd7f0026ee33b8c397b810dcfe5b4678bbd8 (patch)
tree3903f0cca53f9fbd9a47242b011ac69bda14610a /runtime/lua/vim/lsp.lua
parent6c7677e5d274da7e477518aa29b0faa862e61627 (diff)
downloadrneovim-6e45cd7f0026ee33b8c397b810dcfe5b4678bbd8.tar.gz
rneovim-6e45cd7f0026ee33b8c397b810dcfe5b4678bbd8.tar.bz2
rneovim-6e45cd7f0026ee33b8c397b810dcfe5b4678bbd8.zip
fix(lsp): revert buf_versions deprecation/replacement (#29217)
* Revert "fix(lsp): account for changedtick version gap on modified reset (#29170)" This reverts commit 2e6d295f799c27372e5c0c44727fa613c81717fd. * Revert "refactor(lsp): replace util.buf_versions with changedtick (#28943)" This reverts commit 5c33815448e11b514678f39cecc74e68131d4628.
Diffstat (limited to 'runtime/lua/vim/lsp.lua')
-rw-r--r--runtime/lua/vim/lsp.lua5
1 files changed, 4 insertions, 1 deletions
diff --git a/runtime/lua/vim/lsp.lua b/runtime/lua/vim/lsp.lua
index 49a24f873c..eb50a0b880 100644
--- a/runtime/lua/vim/lsp.lua
+++ b/runtime/lua/vim/lsp.lua
@@ -484,6 +484,7 @@ local function text_document_did_save_handler(bufnr)
text = lsp._buf_get_full_text(bufnr),
},
})
+ util.buf_versions[bufnr] = 0
end
local save_capability = vim.tbl_get(client.server_capabilities, 'textDocumentSync', 'save')
if save_capability then
@@ -519,6 +520,7 @@ local function buf_detach_client(bufnr, client)
end
client.attached_buffers[bufnr] = nil
+ util.buf_versions[bufnr] = nil
local namespace = lsp.diagnostic.get_namespace(client.id)
vim.diagnostic.reset(namespace, bufnr)
@@ -574,11 +576,12 @@ local function buf_attach(bufnr)
})
-- First time, so attach and set up stuff.
api.nvim_buf_attach(bufnr, false, {
- on_lines = function(_, _, _, firstline, lastline, new_lastline)
+ on_lines = function(_, _, changedtick, firstline, lastline, new_lastline)
if #lsp.get_clients({ bufnr = bufnr }) == 0 then
-- detach if there are no clients
return #lsp.get_clients({ bufnr = bufnr, _uninitialized = true }) == 0
end
+ util.buf_versions[bufnr] = changedtick
changetracking.send_changes(bufnr, firstline, lastline, new_lastline)
end,