aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/lsp/util.lua
diff options
context:
space:
mode:
authorMichael Lingelbach <m.j.lbach@gmail.com>2021-03-28 02:05:52 -0700
committerMichael Lingelbach <m.j.lbach@gmail.com>2021-03-28 02:22:13 -0700
commit32cf278a19c84c46a63224978d482cd14e04fdc4 (patch)
tree4e23abfdc26d669cde0452f8b944ee32760a511b /runtime/lua/vim/lsp/util.lua
parentb79596eb5e942a299aa021a0f9a3f2db909294da (diff)
downloadrneovim-32cf278a19c84c46a63224978d482cd14e04fdc4.tar.gz
rneovim-32cf278a19c84c46a63224978d482cd14e04fdc4.tar.bz2
rneovim-32cf278a19c84c46a63224978d482cd14e04fdc4.zip
lsp: fix utf-16 ranges to use second return value for incremental sync
Diffstat (limited to 'runtime/lua/vim/lsp/util.lua')
-rw-r--r--runtime/lua/vim/lsp/util.lua8
1 files changed, 4 insertions, 4 deletions
diff --git a/runtime/lua/vim/lsp/util.lua b/runtime/lua/vim/lsp/util.lua
index 942c6761c4..412be68396 100644
--- a/runtime/lua/vim/lsp/util.lua
+++ b/runtime/lua/vim/lsp/util.lua
@@ -373,13 +373,13 @@ function M.compute_diff(old_lines, new_lines, start_line_idx, end_line_idx)
adj_end_char = #old_lines[#old_lines + end_line + 1] + end_char + 1
end
- start_char = vim.str_utfindex(old_lines[start_line], start_char - 1)
- adj_end_char = vim.str_utfindex(old_lines[#old_lines + end_line + 1], adj_end_char)
+ local _, utf16_start_char = vim.str_utfindex(old_lines[start_line], start_char - 1)
+ local _, utf16_end_char = vim.str_utfindex(old_lines[#old_lines + end_line + 1], adj_end_char)
local result = {
range = {
- start = { line = start_line - 1, character = start_char},
- ["end"] = { line = adj_end_line, character = adj_end_char}
+ start = { line = start_line - 1, character = utf16_start_char},
+ ["end"] = { line = adj_end_line, character = utf16_end_char}
},
text = text,
rangeLength = length + 1,