mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
patch 9.1.0996: ComplMatchIns may highlight wrong text
Problem: ComplMatchIns may highlight wrong text Solution: don't highlight in case of fuzzy match, skip-highlight when not inserting anything (glepnir) closes: #16404 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
1718e7d07e
commit
e890887b80
@@ -262,7 +262,8 @@ static char *(highlight_init_both[]) = {
|
|||||||
"default link PmenuMatchSel PmenuSel",
|
"default link PmenuMatchSel PmenuSel",
|
||||||
"default link PmenuExtra Pmenu",
|
"default link PmenuExtra Pmenu",
|
||||||
"default link PmenuExtraSel PmenuSel",
|
"default link PmenuExtraSel PmenuSel",
|
||||||
CENT("ComplMatchIns cterm=NONE", "ComplMatchIns gui=NONE"),
|
CENT("ComplMatchIns ctermfg=DarkGrey cterm=NONE",
|
||||||
|
"ComplMatchIns guifg=DarkGrey gui=NONE"),
|
||||||
CENT("Normal cterm=NONE", "Normal gui=NONE"),
|
CENT("Normal cterm=NONE", "Normal gui=NONE"),
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
@@ -924,7 +924,10 @@ ins_compl_insert_bytes(char_u *p, int len)
|
|||||||
int
|
int
|
||||||
ins_compl_col_range_attr(int col)
|
ins_compl_col_range_attr(int col)
|
||||||
{
|
{
|
||||||
if (col >= compl_col && col < compl_ins_end_col)
|
if ((get_cot_flags() & COT_FUZZY))
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
if (col >= (compl_col + (int)compl_leader.length) && col < compl_ins_end_col)
|
||||||
return syn_name2attr((char_u *)"ComplMatchIns");
|
return syn_name2attr((char_u *)"ComplMatchIns");
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
|
20
src/testdir/dumps/Test_pum_matchins_combine_07.dump
Normal file
20
src/testdir/dumps/Test_pum_matchins_combine_07.dump
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
|f+8(ff4011@1|o+8#ffff4012#ff404010@1> +8#0000000#40ff4011@70
|
||||||
|
| +0#0000001#e0e0e08|f|o@1| @11| +0#4040ff13#4040ff13@58
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|-+2#0000000&@1| |O|m|n|i| |c|o|m|p|l|e|t|i|o|n| |(|^|O|^|N|^|P|)| |m+0#00e0003&|a|t|c|h| |1| |o|f| |3| +0#0000000&@34
|
20
src/testdir/dumps/Test_pum_matchins_combine_08.dump
Normal file
20
src/testdir/dumps/Test_pum_matchins_combine_08.dump
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
|f+8(ff4011@1|o@1> @70
|
||||||
|
| +0#0000001#e0e0e08|f|o@1| @11| +0#4040ff13#4040ff13@58
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|-+2#0000000&@1| |O|m|n|i| |c|o|m|p|l|e|t|i|o|n| |(|^|O|^|N|^|P|)| |m+0#00e0003&|a|t|c|h| |1| |o|f| |3| +0#0000000&@34
|
@@ -1816,6 +1816,20 @@ func Test_pum_matchins_highlight_combine()
|
|||||||
call VerifyScreenDump(buf, 'Test_pum_matchins_combine_06', {})
|
call VerifyScreenDump(buf, 'Test_pum_matchins_combine_06', {})
|
||||||
call term_sendkeys(buf, "\<Esc>")
|
call term_sendkeys(buf, "\<Esc>")
|
||||||
|
|
||||||
|
" Does not highlight the compl leader
|
||||||
|
call TermWait(buf)
|
||||||
|
call term_sendkeys(buf, ":set cot+=menuone,noselect\<CR>")
|
||||||
|
call TermWait(buf)
|
||||||
|
call term_sendkeys(buf, "S\<C-X>\<C-O>f\<C-N>")
|
||||||
|
call VerifyScreenDump(buf, 'Test_pum_matchins_combine_07', {})
|
||||||
|
call term_sendkeys(buf, "\<C-E>\<Esc>")
|
||||||
|
|
||||||
|
call term_sendkeys(buf, ":set cot+=fuzzy\<CR>")
|
||||||
|
call TermWait(buf)
|
||||||
|
call term_sendkeys(buf, "S\<C-X>\<C-O>f\<C-N>")
|
||||||
|
call VerifyScreenDump(buf, 'Test_pum_matchins_combine_08', {})
|
||||||
|
call term_sendkeys(buf, "\<C-E>\<Esc>")
|
||||||
|
|
||||||
call StopVimInTerminal(buf)
|
call StopVimInTerminal(buf)
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
@@ -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 */
|
||||||
|
/**/
|
||||||
|
996,
|
||||||
/**/
|
/**/
|
||||||
995,
|
995,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user