forked from aniani/vim
patch 9.1.0631: wrong completion list displayed with non-existing dir + fuzzy completion
Problem: wrong completion list displayed with non-existing dir + fuzzy completion (kawarimidoll) Solution: clear list of matches, if leader did not use fuzzy match (glepnir) fixes: #15357 closes: #15365 Signed-off-by: glepnir <glephunter@gmail.com>
This commit is contained in:
committed by
Christian Brabandt
parent
f0ce176b5f
commit
6b6280c4a2
@@ -3581,6 +3581,7 @@ get_next_filename_completion(void)
|
|||||||
|
|
||||||
// Move leader to the file part
|
// Move leader to the file part
|
||||||
leader = last_sep + 1;
|
leader = last_sep + 1;
|
||||||
|
leader_len = STRLEN(leader);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3643,11 +3644,17 @@ get_next_filename_completion(void)
|
|||||||
matches = sorted_matches;
|
matches = sorted_matches;
|
||||||
num_matches = fuzzy_indices.ga_len;
|
num_matches = fuzzy_indices.ga_len;
|
||||||
}
|
}
|
||||||
|
else if (leader_len > 0)
|
||||||
|
{
|
||||||
|
FreeWild(num_matches, matches);
|
||||||
|
num_matches = 0;
|
||||||
|
}
|
||||||
|
|
||||||
vim_free(compl_fuzzy_scores);
|
vim_free(compl_fuzzy_scores);
|
||||||
ga_clear(&fuzzy_indices);
|
ga_clear(&fuzzy_indices);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (num_matches > 0)
|
||||||
ins_compl_add_matches(num_matches, matches, p_fic || p_wic);
|
ins_compl_add_matches(num_matches, matches, p_fic || p_wic);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
20
src/testdir/dumps/Test_pum_highlights_15.dump
Normal file
20
src/testdir/dumps/Test_pum_highlights_15.dump
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
|/+0&#ffffff0|n|o|n|_|e|x|i|t|_|f|o|l|d|e|r> @58
|
||||||
|
|~+0#4040ff13&| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|-+2#0000000&@1| |F|i|l|e| |n|a|m|e| |c|o|m|p|l|e|t|i|o|n| |(|^|F|^|N|^|P|)| |P+0#ffffff16#e000002|a|t@1|e|r|n| |n|o|t| |f|o|u|n|d| +0#0000000#ffffff0@24
|
@@ -1493,6 +1493,11 @@ func Test_pum_highlights_match()
|
|||||||
call TermWait(buf, 50)
|
call TermWait(buf, 50)
|
||||||
call VerifyScreenDump(buf, 'Test_pum_highlights_11', {})
|
call VerifyScreenDump(buf, 'Test_pum_highlights_11', {})
|
||||||
|
|
||||||
|
" issue #15357
|
||||||
|
call term_sendkeys(buf, "\<ESC>S/non_exit_folder\<C-X>\<C-F>")
|
||||||
|
call TermWait(buf, 50)
|
||||||
|
call VerifyScreenDump(buf, 'Test_pum_highlights_15', {})
|
||||||
|
|
||||||
call term_sendkeys(buf, "\<C-E>\<Esc>")
|
call term_sendkeys(buf, "\<C-E>\<Esc>")
|
||||||
call TermWait(buf)
|
call TermWait(buf)
|
||||||
|
|
||||||
|
@@ -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 */
|
||||||
|
/**/
|
||||||
|
631,
|
||||||
/**/
|
/**/
|
||||||
630,
|
630,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user