mirror of
https://github.com/neovim/neovim.git
synced 2024-12-24 13:15:09 -07:00
vim-patch:9.1.0098: CompleteChanged not triggered when new leader added without matches (#27436)
Problem: CompleteChanged not triggered when new leader added causing
no matching item in the completion menu
Solution: When completion is active but no items matched still trigger
CompleteChanged event
(glepnir)
closes: vim/vim#13982
0d3c0a66a3
Fix #15077
This commit is contained in:
parent
929e1b7f1c
commit
4682f158a0
@ -1279,6 +1279,9 @@ void ins_compl_show_pum(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (compl_match_array == NULL) {
|
if (compl_match_array == NULL) {
|
||||||
|
if (compl_started && has_event(EVENT_COMPLETECHANGED)) {
|
||||||
|
trigger_complete_changed_event(cur);
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1142,6 +1142,10 @@ func Test_CompleteChanged()
|
|||||||
let g:event = copy(v:event)
|
let g:event = copy(v:event)
|
||||||
let g:item = get(v:event, 'completed_item', {})
|
let g:item = get(v:event, 'completed_item', {})
|
||||||
let g:word = get(g:item, 'word', v:null)
|
let g:word = get(g:item, 'word', v:null)
|
||||||
|
let l:line = getline('.')
|
||||||
|
if g:word == v:null && l:line == "bc"
|
||||||
|
let g:word = l:line
|
||||||
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
augroup AAAAA_Group
|
augroup AAAAA_Group
|
||||||
au!
|
au!
|
||||||
@ -1161,6 +1165,8 @@ func Test_CompleteChanged()
|
|||||||
call assert_equal(v:null, g:word)
|
call assert_equal(v:null, g:word)
|
||||||
call feedkeys("a\<C-N>\<C-N>\<C-N>\<C-N>\<C-P>", 'tx')
|
call feedkeys("a\<C-N>\<C-N>\<C-N>\<C-N>\<C-P>", 'tx')
|
||||||
call assert_equal('foobar', g:word)
|
call assert_equal('foobar', g:word)
|
||||||
|
call feedkeys("S\<C-N>bc", 'tx')
|
||||||
|
call assert_equal("bc", g:word)
|
||||||
|
|
||||||
func Omni_test(findstart, base)
|
func Omni_test(findstart, base)
|
||||||
if a:findstart
|
if a:findstart
|
||||||
|
Loading…
Reference in New Issue
Block a user