changeset 18090:a6c74689fb97 v8.1.2040

patch 8.1.2040: no highlighting of current line in quickfix window Commit: https://github.com/vim/vim/commit/e00fdf35d069de4effe07125333bb9ff35b1915d Author: Bram Moolenaar <Bram@vim.org> 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.
author Bram Moolenaar <Bram@vim.org>
date Sun, 15 Sep 2019 19:15:03 +0200
parents 72312a8d592d
children c1ae47339f5c
files src/screen.c src/testdir/dumps/Test_quickfix_cwindow_1.dump src/testdir/dumps/Test_quickfix_cwindow_2.dump src/testdir/test_quickfix.vim src/version.c
diffstat 5 files changed, 58 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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
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
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
--- 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\<CR>")
+  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)
 
--- 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,