mirror of
https://github.com/neovim/neovim.git
synced 2025-12-07 07:02:46 +00:00
fix(lsp): fix cursor row after textEdits (#16038)
This commit is contained in:
@@ -335,10 +335,12 @@ function M.apply_text_edits(text_edits, bufnr)
|
||||
end
|
||||
|
||||
if is_cursor_fixed then
|
||||
vim.api.nvim_win_set_cursor(0, {
|
||||
cursor.row + 1,
|
||||
math.min(cursor.col, #(vim.api.nvim_buf_get_lines(bufnr, cursor.row, cursor.row + 1, false)[1] or ''))
|
||||
})
|
||||
local is_valid_cursor = true
|
||||
is_valid_cursor = is_valid_cursor and cursor.row < vim.api.nvim_buf_line_count(bufnr)
|
||||
is_valid_cursor = is_valid_cursor and cursor.col <= #(vim.api.nvim_buf_get_lines(bufnr, cursor.row, cursor.row + 1, false)[1] or '')
|
||||
if is_valid_cursor then
|
||||
vim.api.nvim_win_set_cursor(0, { cursor.row + 1, cursor.col })
|
||||
end
|
||||
end
|
||||
|
||||
-- Remove final line if needed
|
||||
|
||||
Reference in New Issue
Block a user