mirror of
https://github.com/neovim/neovim.git
synced 2025-09-14 15:28:17 +00:00
vim-patch:8.2.1673: complete_info() selected index has an invalid value
Problem: complete_info() selected index has an invalid value. (Ben Jackson)
Solution: Set the index when there is only one match. (closes vim/vim#6945)
Add test for complete_info().
b806aa5bd9
This commit is contained in:
@@ -5242,6 +5242,7 @@ static int ins_complete(int c, bool enable_pum)
|
||||
} else if (compl_curr_match->cp_next == compl_curr_match->cp_prev) {
|
||||
edit_submode_extra = (char_u *)_("The only match");
|
||||
edit_submode_highl = HLF_COUNT;
|
||||
compl_curr_match->cp_number = 0;
|
||||
} else {
|
||||
// Update completion sequence number when needed.
|
||||
if (compl_curr_match->cp_number == -1) {
|
||||
|
@@ -312,6 +312,24 @@ func Test_completefunc_args()
|
||||
delfunc CompleteFunc
|
||||
endfunc
|
||||
|
||||
func CompleteTest(findstart, query)
|
||||
if a:findstart
|
||||
return col('.')
|
||||
endif
|
||||
return ['matched']
|
||||
endfunc
|
||||
|
||||
func Test_completefunc_info()
|
||||
new
|
||||
set completeopt=menuone
|
||||
set completefunc=CompleteTest
|
||||
call feedkeys("i\<C-X>\<C-U>\<C-R>\<C-R>=string(complete_info())\<CR>\<ESC>", "tx")
|
||||
call assert_equal("matched{'pum_visible': 1, 'mode': 'function', 'selected': -1, 'items': [{'word': 'matched', 'menu': '', 'user_data': '', 'info': '', 'kind': '', 'abbr': ''}]}", getline(1))
|
||||
bwipe!
|
||||
set completeopt&
|
||||
set completefunc&
|
||||
endfunc
|
||||
|
||||
" Check that when using feedkeys() typeahead does not interrupt searching for
|
||||
" completions.
|
||||
func Test_compl_feedkeys()
|
||||
|
Reference in New Issue
Block a user