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) {
|
} else if (compl_curr_match->cp_next == compl_curr_match->cp_prev) {
|
||||||
edit_submode_extra = (char_u *)_("The only match");
|
edit_submode_extra = (char_u *)_("The only match");
|
||||||
edit_submode_highl = HLF_COUNT;
|
edit_submode_highl = HLF_COUNT;
|
||||||
|
compl_curr_match->cp_number = 0;
|
||||||
} else {
|
} else {
|
||||||
// Update completion sequence number when needed.
|
// Update completion sequence number when needed.
|
||||||
if (compl_curr_match->cp_number == -1) {
|
if (compl_curr_match->cp_number == -1) {
|
||||||
|
@@ -312,6 +312,24 @@ func Test_completefunc_args()
|
|||||||
delfunc CompleteFunc
|
delfunc CompleteFunc
|
||||||
endfunc
|
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
|
" Check that when using feedkeys() typeahead does not interrupt searching for
|
||||||
" completions.
|
" completions.
|
||||||
func Test_compl_feedkeys()
|
func Test_compl_feedkeys()
|
||||||
|
Reference in New Issue
Block a user