Skip to content

Commit a5e06b7

Browse files
authored
Make the CompleteDone backspace check more robust (#1426)
When checking for backspace in `CompleteDone` event, also look at the line number. If the line number changed, the user probably pressed something like `<CR>` and not backspace.
1 parent e0111e1 commit a5e06b7

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

autoload/lsp/ui/vim/completion.vim

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ function! s:on_complete_done() abort
4949
endif
5050

5151
let s:context['done_line'] = getline('.')
52+
let s:context['done_line_nr'] = line('.')
5253
let s:context['completed_item'] = copy(v:completed_item)
5354
let s:context['done_position'] = lsp#utils#position#vim_to_lsp('%', getpos('.')[1 : 2])
5455
let s:context['complete_position'] = l:managed_user_data['complete_position']
@@ -71,6 +72,7 @@ function! s:on_complete_done_after() abort
7172
endif
7273

7374
let l:done_line = s:context['done_line']
75+
let l:done_line_nr = s:context['done_line_nr']
7476
let l:completed_item = s:context['completed_item']
7577
let l:done_position = s:context['done_position']
7678
let l:complete_position = s:context['complete_position']
@@ -79,7 +81,7 @@ function! s:on_complete_done_after() abort
7981
let l:start_character = s:context['start_character']
8082

8183
" check the commit characters are <BS> or <C-w>.
82-
if strlen(getline('.')) < strlen(l:done_line)
84+
if line('.') ==# l:done_line_nr && strlen(getline('.')) < strlen(l:done_line)
8385
doautocmd <nomodeline> User lsp_complete_done
8486
return ''
8587
endif

0 commit comments

Comments
 (0)