forked from aniani/vim
patch 8.2.2045: highlighting a character too much with incsearch
Problem: Highlighting a character too much with incsearch. Solution: Check "search_match_endcol". (Christian Brabandt, closes #7360)
This commit is contained in:
parent
5ee0981fb5
commit
448465e687
@ -641,7 +641,7 @@ win_line(
|
||||
else
|
||||
tocol = MAXCOL;
|
||||
// do at least one character; happens when past end of line
|
||||
if (fromcol == tocol)
|
||||
if (fromcol == tocol && search_match_endcol)
|
||||
tocol = fromcol + 1;
|
||||
area_highlighting = TRUE;
|
||||
vi_attr = HL_ATTR(HLF_I);
|
||||
|
5
src/testdir/dumps/Test_incsearch_newline1.dump
Normal file
5
src/testdir/dumps/Test_incsearch_newline1.dump
Normal file
@ -0,0 +1,5 @@
|
||||
|t+1&#ffffff0|e|s|t| +0&&@5
|
||||
|x@2| @6
|
||||
|~+0#4040ff13&| @8
|
||||
|~| @8
|
||||
|/+0#0000000&|t|e|s|t> @4
|
5
src/testdir/dumps/Test_incsearch_newline2.dump
Normal file
5
src/testdir/dumps/Test_incsearch_newline2.dump
Normal file
@ -0,0 +1,5 @@
|
||||
|t+1&#ffffff0|e|s|t| | +0&&@4
|
||||
|x@2| @6
|
||||
|~+0#4040ff13&| @8
|
||||
|~| @8
|
||||
|/+0#0000000&|t|e|s|t|\|n> @2
|
5
src/testdir/dumps/Test_incsearch_newline3.dump
Normal file
5
src/testdir/dumps/Test_incsearch_newline3.dump
Normal file
@ -0,0 +1,5 @@
|
||||
|t+1&#ffffff0|e|s|t| | +0&&@4
|
||||
|x+1&&|x+0&&@1| @6
|
||||
|~+0#4040ff13&| @8
|
||||
|~| @8
|
||||
|/+0#0000000&|t|e|s|t|\|n|x> @1
|
5
src/testdir/dumps/Test_incsearch_newline4.dump
Normal file
5
src/testdir/dumps/Test_incsearch_newline4.dump
Normal file
@ -0,0 +1,5 @@
|
||||
|t+1&#ffffff0|e|s|t| | +0&&@4
|
||||
|x+1&&@1|x+0&&| @6
|
||||
|~+0#4040ff13&| @8
|
||||
|~| @8
|
||||
|/+0#0000000&|t|e|s|t|\|n|x@1>
|
5
src/testdir/dumps/Test_incsearch_newline5.dump
Normal file
5
src/testdir/dumps/Test_incsearch_newline5.dump
Normal file
@ -0,0 +1,5 @@
|
||||
|o+0#00e0003#ffffff0|r| |t|y|p|e| |c|o
|
||||
|m| @7|m
|
||||
|a|n|d| |t|o| |c|o|n
|
||||
|t| @7|i
|
||||
|n|u|e> +0#0000000&@6
|
@ -1776,4 +1776,40 @@ func Test_search_stopline()
|
||||
close!
|
||||
endfunc
|
||||
|
||||
func Test_zzzz_incsearch_highlighting_newline()
|
||||
CheckRunVimInTerminal
|
||||
CheckOption incsearch
|
||||
CheckScreendump
|
||||
new
|
||||
call test_override("char_avail", 1)
|
||||
|
||||
let commands =<< trim [CODE]
|
||||
set incsearch nohls
|
||||
call setline(1, ['test', 'xxx'])
|
||||
[CODE]
|
||||
call writefile(commands, 'Xincsearch_nl')
|
||||
let buf = RunVimInTerminal('-S Xincsearch_nl', {'rows': 5, 'cols': 10})
|
||||
" Need to send one key at a time to force a redraw
|
||||
call term_sendkeys(buf, '/test')
|
||||
sleep 100m
|
||||
call VerifyScreenDump(buf, 'Test_incsearch_newline1', {})
|
||||
call term_sendkeys(buf, '\n')
|
||||
sleep 100m
|
||||
call VerifyScreenDump(buf, 'Test_incsearch_newline2', {})
|
||||
call term_sendkeys(buf, 'x')
|
||||
sleep 100m
|
||||
call VerifyScreenDump(buf, 'Test_incsearch_newline3', {})
|
||||
call term_sendkeys(buf, 'x')
|
||||
call VerifyScreenDump(buf, 'Test_incsearch_newline4', {})
|
||||
call term_sendkeys(buf, "\<CR>")
|
||||
sleep 100m
|
||||
call VerifyScreenDump(buf, 'Test_incsearch_newline5', {})
|
||||
call StopVimInTerminal(buf)
|
||||
|
||||
" clean up
|
||||
call delete('Xincsearch_nl')
|
||||
call test_override("char_avail", 0)
|
||||
bw
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
@ -750,6 +750,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
2045,
|
||||
/**/
|
||||
2044,
|
||||
/**/
|
||||
|
Loading…
x
Reference in New Issue
Block a user