Mercurial > vim
changeset 24514:e3efa11b6a1e v8.2.2797
patch 8.2.2797: Search highlight disappears in the Visual area
Commit: https://github.com/vim/vim/commit/2d5f385cee3668c44089edcb9d60b0b5d751ee5d
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Apr 21 15:11:42 2021 +0200
patch 8.2.2797: Search highlight disappears in the Visual area
Problem: Search highlight disappears in the Visual area.
Solution: Combine the search attributes. (closes https://github.com/vim/vim/issues/8134)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 21 Apr 2021 15:15:04 +0200 |
parents | e9bced689811 |
children | f34b18f235e6 |
files | src/drawline.c src/testdir/dumps/Test_hlsearch_visual_1.dump src/testdir/test_search.vim src/version.c |
diffstat | 4 files changed, 31 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/drawline.c +++ b/src/drawline.c @@ -1538,6 +1538,9 @@ win_line( if (area_attr != 0) { char_attr = hl_combine_attr(line_attr, area_attr); + if (!highlight_match) + // let search highlight show in Visual area if possible + char_attr = hl_combine_attr(search_attr, char_attr); # ifdef FEAT_SYN_HL char_attr = hl_combine_attr(syntax_attr, char_attr); # endif
new file mode 100644 --- /dev/null +++ b/src/testdir/dumps/Test_hlsearch_visual_1.dump @@ -0,0 +1,6 @@ +|x+0&#ffffff0@2| |y+2&#ffff4012|y+2&#e0e0e08@1| +0&&|z@2| | +0&#ffffff0@27 +|x+0&#e0e0e08@2| |y+2&&@2| +0&&|z@2| | +0&#ffffff0@27 +|x+0&#e0e0e08@2| |y+2&&>y+2&#ffff4012@1| +0&#ffffff0|z@2| @28 +|~+0#4040ff13&| @38 +|~| @38 +|-+2#0000000&@1| |V|I|S|U|A|L| |-@1|3+0&&| @8|3|,|6| @10|A|l@1|
--- a/src/testdir/test_search.vim +++ b/src/testdir/test_search.vim @@ -964,6 +964,26 @@ func Test_hlsearch_dump() call delete('Xhlsearch_script') endfunc +func Test_hlsearch_and_visual() + CheckOption hlsearch + CheckScreendump + + call writefile([ + \ 'set hlsearch', + \ 'call setline(1, repeat(["xxx yyy zzz"], 3))', + \ 'hi Search cterm=bold', + \ '/yyy', + \ 'call cursor(1, 6)', + \ ], 'Xhlvisual_script') + let buf = RunVimInTerminal('-S Xhlvisual_script', {'rows': 6, 'cols': 40}) + call term_sendkeys(buf, "vjj") + call VerifyScreenDump(buf, 'Test_hlsearch_visual_1', {}) + call term_sendkeys(buf, "\<Esc>") + + call StopVimInTerminal(buf) + call delete('Xhlvisual_script') +endfunc + func Test_incsearch_substitute() CheckOption incsearch