mirror of
https://github.com/neovim/neovim
synced 2025-07-16 09:11:51 +00:00
fix(lsp): handle insertion of previous line (#17618)
This commit is contained in:
committed by
GitHub
parent
24d56116f7
commit
3800615da9
@ -138,10 +138,18 @@ local function compute_start_range(prev_lines, curr_lines, firstline, lastline,
|
||||
-- new lines(O), the new newline is inserted at the line indicated by
|
||||
-- new_lastline.
|
||||
if firstline == lastline then
|
||||
local line_idx
|
||||
local line = prev_lines[firstline - 1]
|
||||
byte_idx = #line + 1
|
||||
char_idx = compute_line_length(line, offset_encoding) + 1
|
||||
return { line_idx = firstline - 1, byte_idx = byte_idx, char_idx = char_idx }
|
||||
if line then
|
||||
line_idx = firstline - 1
|
||||
byte_idx = #line + 1
|
||||
char_idx = compute_line_length(line, offset_encoding) + 1
|
||||
else
|
||||
line_idx = firstline
|
||||
byte_idx = 1
|
||||
char_idx = 1
|
||||
end
|
||||
return { line_idx = line_idx, byte_idx = byte_idx, char_idx = char_idx }
|
||||
end
|
||||
|
||||
-- If firstline == new_lastline, the first change occurred on a line that was deleted.
|
||||
|
Reference in New Issue
Block a user