Skip to content
This repository was archived by the owner on Aug 24, 2020. It is now read-only.

Commit 415f6e6

Browse files
authored
Fix cursor pos after text edit (prabirshrestha#724)
1 parent 6e78f35 commit 415f6e6

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

autoload/lsp/utils/text_edit.vim

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ function! lsp#utils#text_edit#apply_text_edits(uri, text_edits) abort
1111
endfor
1212
call s:_switch(l:current_bufname)
1313

14-
if l:current_bufname == l:target_bufname
14+
if bufnr(l:current_bufname) == bufnr(l:target_bufname)
1515
let l:length = strlen(getline(l:cursor_pos[0]))
1616
let l:cursor_pos[2] = max([0, l:cursor_pos[1] + l:cursor_pos[2] - l:length])
1717
let l:cursor_pos[1] = min([l:length, l:cursor_pos[1] + l:cursor_pos[2]])
@@ -58,10 +58,9 @@ function! s:_apply(bufnr, text_edit, cursor_pos) abort
5858
call append(a:text_edit.range.start.line, l:new_lines)
5959

6060
" remove old lines
61-
let l:buffer_length = len(getbufline(a:bufnr, '^', '$'))
6261
execute printf('%s,%sdelete _',
6362
\ l:new_lines_len + a:text_edit.range.start.line + 1,
64-
\ min([l:buffer_length, l:new_lines_len + a:text_edit.range.end.line + 1])
63+
\ min([l:new_lines_len + a:text_edit.range.end.line + 1, line('$')])
6564
\ )
6665

6766
return l:cursor_offset

0 commit comments

Comments
 (0)