]> granicus.if.org Git - vim/commitdiff
patch 8.1.2040: no highlighting of current line in quickfix window v8.1.2040
authorBram Moolenaar <Bram@vim.org>
Sun, 15 Sep 2019 17:09:42 +0000 (19:09 +0200)
committerBram Moolenaar <Bram@vim.org>
Sun, 15 Sep 2019 17:09:42 +0000 (19:09 +0200)
Problem:    No highlighting of current line in quickfix window.
Solution:   Combine with line_attr.

src/screen.c
src/testdir/dumps/Test_quickfix_cwindow_1.dump [new file with mode: 0644]
src/testdir/dumps/Test_quickfix_cwindow_2.dump [new file with mode: 0644]
src/testdir/test_quickfix.vim
src/version.c

index 22b26b472ee67425fcdb1cd1ee030b1c07c13f0c..4d976fd6863e8babfc8c25ad54f01a4bd3331a0a 100644 (file)
@@ -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 (file)
index 0000000..ef153f9
--- /dev/null
@@ -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 (file)
index 0000000..4c87ca0
--- /dev/null
@@ -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
index f2403986bf56a2cdf357c4805b69de488920d5cb..e0ab2b3aa2a3691e599c26d5f29b2b35e9de934a 100644 (file)
@@ -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)
 
index a2f64177adb9d3c9e38770f5e7bff10e7428553c..bf0d350d7c68534960728cbafecfa343d6742cfe 100644 (file)
@@ -757,6 +757,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    2040,
 /**/
     2039,
 /**/