mirror of
https://github.com/vim/vim.git
synced 2025-09-27 04:14:06 -04:00
patch 9.1.0098: CompletionChanged not triggered when new leader added without matches
Problem: CompletionChanged 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 CompletChanged event (glepnir) closes: #13982 Signed-off-by: glepnir <glephunter@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
efabd7c8d4
commit
0d3c0a66a3
@@ -1350,7 +1350,13 @@ ins_compl_show_pum(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (compl_match_array == NULL)
|
if (compl_match_array == NULL)
|
||||||
|
{
|
||||||
|
#ifdef FEAT_EVAL
|
||||||
|
if (compl_started && has_completechanged())
|
||||||
|
trigger_complete_changed_event(cur);
|
||||||
|
#endif
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// In Replace mode when a $ is displayed at the end of the line only
|
// In Replace mode when a $ is displayed at the end of the line only
|
||||||
// part of the screen would be updated. We do need to redraw here.
|
// part of the screen would be updated. We do need to redraw here.
|
||||||
|
@@ -1139,6 +1139,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!
|
||||||
@@ -1158,6 +1162,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
|
||||||
|
@@ -704,6 +704,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
98,
|
||||||
/**/
|
/**/
|
||||||
97,
|
97,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user