diff options
author | Michael Lingelbach <m.j.lbach@gmail.com> | 2021-03-30 14:37:55 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-30 14:37:55 -0700 |
commit | db47cf81537f929812cd7aa3bc2b852a31cb48ae (patch) | |
tree | 50935706fc9e15d219309b3d140025c691d43e0a /runtime/lua/vim/lsp.lua | |
parent | 240cec9192802db4f166c092428087180e4d3214 (diff) | |
parent | 0cadab14123a492f6a02f9580315596d604f9a9d (diff) | |
download | rneovim-db47cf81537f929812cd7aa3bc2b852a31cb48ae.tar.gz rneovim-db47cf81537f929812cd7aa3bc2b852a31cb48ae.tar.bz2 rneovim-db47cf81537f929812cd7aa3bc2b852a31cb48ae.zip |
Merge pull request #14233 from mjlbach/disable_utf16_conversion
lsp: use utf-8 when utf-16 not requested
Diffstat (limited to 'runtime/lua/vim/lsp.lua')
-rw-r--r-- | runtime/lua/vim/lsp.lua | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/runtime/lua/vim/lsp.lua b/runtime/lua/vim/lsp.lua index 4c453df3f6..4110bd1910 100644 --- a/runtime/lua/vim/lsp.lua +++ b/runtime/lua/vim/lsp.lua @@ -850,20 +850,23 @@ do end util.buf_versions[bufnr] = changedtick - -- Lazy initialize these because clients may not even need them. - local incremental_changes = once(function(client) + + local incremental_changes = function(client) local lines = nvim_buf_get_lines(bufnr, 0, -1, true) local startline = math.min(firstline + 1, math.min(#client._cached_buffers[bufnr], #lines)) local endline = math.min(-(#lines - new_lastline), -1) - local incremental_change = vim.lsp.util.compute_diff(client._cached_buffers[bufnr], lines, startline, endline) + local incremental_change = vim.lsp.util.compute_diff( + client._cached_buffers[bufnr], lines, startline, endline, client.offset_encoding or "utf-16") client._cached_buffers[bufnr] = lines return incremental_change - end) + end + local full_changes = once(function() return { text = buf_get_full_text(bufnr); }; end) + local uri = vim.uri_from_bufnr(bufnr) for_each_buffer_client(bufnr, function(client) local allow_incremental_sync = if_nil(client.config.flags.allow_incremental_sync, true) |