lsp: fix utf-16 ranges to use second return value for incremental sync

This commit is contained in:
Michael Lingelbach
2021-03-28 02:05:52 -07:00
parent b79596eb5e
commit 32cf278a19

View File

@@ -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,