# HG changeset patch # User Bram Moolenaar # Date 1568567703 -7200 # Node ID a6c74689fb975f5f7f343e2545c9bb098bfce7c7 # Parent 72312a8d592d193be5845a545f3bfe72f5ac5d5c patch 8.1.2040: no highlighting of current line in quickfix window Commit: https://github.com/vim/vim/commit/e00fdf35d069de4effe07125333bb9ff35b1915d Author: Bram Moolenaar Date: Sun Sep 15 19:09:42 2019 +0200 patch 8.1.2040: no highlighting of current line in quickfix window Problem: No highlighting of current line in quickfix window. Solution: Combine with line_attr. diff --git a/src/screen.c b/src/screen.c --- a/src/screen.c +++ b/src/screen.c @@ -4763,14 +4763,18 @@ win_line( comb_attr, cul_attr); else #endif + if (line_attr) + char_attr = hl_combine_attr( + comb_attr, line_attr); + else char_attr = comb_attr; } else char_attr = hl_combine_attr(comb_attr, char_attr); } # ifdef FEAT_CONCEAL - /* no concealing past the end of the line, it interferes - * with line highlighting */ + // no concealing past the end of the line, it interferes + // with line highlighting if (c == NUL) syntax_flags = 0; else diff --git a/src/testdir/dumps/Test_quickfix_cwindow_1.dump b/src/testdir/dumps/Test_quickfix_cwindow_1.dump new file mode 100644 --- /dev/null +++ b/src/testdir/dumps/Test_quickfix_cwindow_1.dump @@ -0,0 +1,12 @@ +|s+0&#ffffff0|o|m|e| @70 +|t|e|x|t| @70 +|w|i|t|h| @70 +|m|a|t|c|h|e|s| @67 +|~+0#4040ff13&| @73 +|X+1#0000000&|C|w|i|n|d|o|w| @48|1|,|4| @11|A|l@1 +>X+0#0000e05#ffff4012|C|w|i|n|d|o|w||+0#0000000&|1+0#af5f00255&| |c|o|l| |4||+0#0000000&| |s|o|m|e| @52 +|X+0#0000e05#ffffff0|C|w|i|n|d|o|w||+0#0000000&|2+0#af5f00255&| |c|o|l| |2||+0#0000000&| |t|e|x|t| @52 +|X+0#0000e05&|C|w|i|n|d|o|w||+0#0000000&|4+0#af5f00255&| |c|o|l| |6||+0#0000000&| |m|a|t|c|h|e|s| @49 +|~+0#4040ff13&| @73 +|[+3#0000000&|Q|u|i|c|k|f|i|x| |L|i|s|t|]| |:|v|i|m|g|r|e|p| |e| |X|C|w|i|n|d|o|w| @20|1|,|1| @12|A|l@1 +| +0&&@74 diff --git a/src/testdir/dumps/Test_quickfix_cwindow_2.dump b/src/testdir/dumps/Test_quickfix_cwindow_2.dump new file mode 100644 --- /dev/null +++ b/src/testdir/dumps/Test_quickfix_cwindow_2.dump @@ -0,0 +1,12 @@ +|s+0&#ffffff0|o|m|e| @70 +|t>e|x|t| @70 +|w|i|t|h| @70 +|m|a|t|c|h|e|s| @67 +|~+0#4040ff13&| @73 +|X+3#0000000&|C|w|i|n|d|o|w| @48|2|,|2| @11|A|l@1 +|X+0#0000e05&|C|w|i|n|d|o|w||+0#0000000&|1+0#af5f00255&| |c|o|l| |4||+0#0000000&| |s|o|m|e| @52 +|X+0#0000e05#ffff4012|C|w|i|n|d|o|w||+0#0000000&|2+0#af5f00255&| |c|o|l| |2||+0#0000000&| |t|e|x|t| @52 +|X+0#0000e05#ffffff0|C|w|i|n|d|o|w||+0#0000000&|4+0#af5f00255&| |c|o|l| |6||+0#0000000&| |m|a|t|c|h|e|s| @49 +|~+0#4040ff13&| @73 +|[+1#0000000&|Q|u|i|c|k|f|i|x| |L|i|s|t|]| |:|v|i|m|g|r|e|p| |e| |X|C|w|i|n|d|o|w| @20|2|,|1| @12|A|l@1 +|:+0&&|c|n|e|x|t| @68 diff --git a/src/testdir/test_quickfix.vim b/src/testdir/test_quickfix.vim --- a/src/testdir/test_quickfix.vim +++ b/src/testdir/test_quickfix.vim @@ -3,6 +3,8 @@ source check.vim CheckFeature quickfix +source screendump.vim + set encoding=utf-8 func s:setup_commands(cchar) @@ -2428,6 +2430,30 @@ func Test_cwindow_jump() set efm&vim endfunc +func Test_cwindow_highlight() + CheckScreendump + + let lines =<< trim END + set t_u7= + call setline(1, ['some', 'text', 'with', 'matches']) + write XCwindow + vimgrep e XCwindow + redraw + cwindow 4 + END + call writefile(lines, 'XtestCwindow') + let buf = RunVimInTerminal('-S XtestCwindow', #{rows: 12}) + call VerifyScreenDump(buf, 'Test_quickfix_cwindow_1', {}) + + call term_sendkeys(buf, ":cnext\") + call VerifyScreenDump(buf, 'Test_quickfix_cwindow_2', {}) + + " clean up + call StopVimInTerminal(buf) + call delete('XtestCwindow') + call delete('XCwindow') +endfunc + func XvimgrepTests(cchar) call s:setup_commands(a:cchar) diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -758,6 +758,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2040, +/**/ 2039, /**/ 2038,