diff options
author | Jesse Bakker <j.bakker@scisports.com> | 2020-01-24 12:31:52 +0100 |
---|---|---|
committer | Jesse Bakker <github@jessebakker.com> | 2020-02-27 14:53:11 +0100 |
commit | 1fe01b36de72a937ac7be430077df918a659345d (patch) | |
tree | ce4875bf693689fd410692bba80c9f553ffadad2 /runtime/lua/vim | |
parent | ff1730373c6139db14b8f2f9b24d4ccd7fcfb01d (diff) | |
download | rneovim-1fe01b36de72a937ac7be430077df918a659345d.tar.gz rneovim-1fe01b36de72a937ac7be430077df918a659345d.tar.bz2 rneovim-1fe01b36de72a937ac7be430077df918a659345d.zip |
Use buffer version instead of changedtick for edits
Diffstat (limited to 'runtime/lua/vim')
-rw-r--r-- | runtime/lua/vim/lsp.lua | 2 | ||||
-rw-r--r-- | runtime/lua/vim/lsp/util.lua | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/runtime/lua/vim/lsp.lua b/runtime/lua/vim/lsp.lua index bc0da25ae5..8190542955 100644 --- a/runtime/lua/vim/lsp.lua +++ b/runtime/lua/vim/lsp.lua @@ -613,6 +613,8 @@ do if tbl_isempty(all_buffer_active_clients[bufnr] or {}) then return end + + util.buf_versions[bufnr] = changedtick -- Lazy initialize these because clients may not even need them. local incremental_changes = once(function(client) local size_index = encoding_index[client.offset_encoding] diff --git a/runtime/lua/vim/lsp/util.lua b/runtime/lua/vim/lsp/util.lua index b7c7b7f75d..3dfe4d7d02 100644 --- a/runtime/lua/vim/lsp/util.lua +++ b/runtime/lua/vim/lsp/util.lua @@ -135,7 +135,7 @@ function M.apply_text_document_edit(text_document_edit) local text_document = text_document_edit.textDocument local bufnr = vim.uri_to_bufnr(text_document.uri) -- TODO(ashkan) check this is correct. - if api.nvim_buf_get_changedtick(bufnr) > text_document.version then + if (M.buf_versions[bufnr] or 0) > text_document.version then print("Buffer ", text_document.uri, " newer than edits.") return end @@ -868,5 +868,7 @@ function M.character_offset(buf, row, col) return str_utfindex(line, col) end +M.buf_versions = {} + return M -- vim:sw=2 ts=2 et |