summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-06-13 17:21:04 +0200
committerBram Moolenaar <Bram@vim.org>2017-06-13 17:21:04 +0200
commit2102035488e80ef6fd5038ed15d21672712ba0f6 (patch)
tree5e434d7a33423cc7ce99c58872a6edf92a85261e
parent83064068eaabf75a7d235b0eec561dccbcb96b31 (diff)
patch 8.0.0641: cannot set a separate highlighting for the quickfix linev8.0.0641
Problem: Cannot set a separate highlighting for the current line in the quickfix window. Solution: Add QuickFixLine. (anishsane, closes #1755)
-rw-r--r--runtime/doc/options.txt9
-rw-r--r--runtime/doc/quickfix.txt8
-rw-r--r--src/option.c5
-rw-r--r--src/quickfix.c2
-rw-r--r--src/screen.c2
-rw-r--r--src/syntax.c4
-rw-r--r--src/version.c2
-rw-r--r--src/vim.h3
8 files changed, 26 insertions, 9 deletions
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 25b3f1835b..b310b9fd2c 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt* For Vim version 8.0. Last change: 2017 Jun 04
+*options.txt* For Vim version 8.0. Last change: 2017 Jun 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -3522,6 +3522,9 @@ A jump table for the options with a short description can be found at |Q_op|.
:s///gg subst. all subst. one
NOTE: This option is reset when 'compatible' is set.
+ DEPRECATED: Setting this option may break plugins that are not aware
+ of this option. Also, many users get confused that adding the /g flag
+ has the opposite effect of that it normally does.
*'grepformat'* *'gfm'*
'grepformat' 'gfm' string (default "%f:%l:%m,%f:%l%m,%f %l%m")
@@ -4037,7 +4040,9 @@ A jump table for the options with a short description can be found at |Q_op|.
D:DiffDelete,T:DiffText,>:SignColumn,
B:SpellBad,P:SpellCap,R:SpellRare,
L:SpellLocal,-:Conceal,+:Pmenu,=:PmenuSel,
- x:PmenuSbar,X:PmenuThumb")
+ x:PmenuSbar,X:PmenuThumb,*:TabLine,
+ #:TabLineSel,_:TabLineFill,!:CursorColumn,
+ .:CursorLine,o:ColorColumn,q:QuickFixLine")
global
{not in Vi}
This option can be used to set highlighting mode for various
diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt
index 0ee24666a6..0ca52aa063 100644
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -1,4 +1,4 @@
-*quickfix.txt* For Vim version 8.0. Last change: 2017 Mar 06
+*quickfix.txt* For Vim version 8.0. Last change: 2017 Jun 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -472,7 +472,11 @@ keep its height, ignoring 'winheight' and 'equalalways'. You can change the
height manually (e.g., by dragging the status line above it with the mouse).
In the quickfix window, each line is one error. The line number is equal to
-the error number. You can use ":.cc" to jump to the error under the cursor.
+the error number. The current entry is highlighted with the QuickFixLine
+highlighting. You can change it to your liking, e.g.: >
+ :hi QuickFixLine ctermbg=Yellow guibg=Yellow
+
+You can use ":.cc" to jump to the error under the cursor.
Hitting the <Enter> key or double-clicking the mouse on a line has the same
effect. The file containing the error is opened in the window above the
quickfix window. If there already is a window for that file, it is used
diff --git a/src/option.c b/src/option.c
index f9d2734793..2a92bc5ae8 100644
--- a/src/option.c
+++ b/src/option.c
@@ -476,8 +476,9 @@ struct vimoption
/* Make the string as short as possible when compiling with few features. */
#if defined(FEAT_DIFF) || defined(FEAT_FOLDING) || defined(FEAT_SPELL) \
|| defined(FEAT_WINDOWS) || defined(FEAT_CLIPBOARD) \
- || defined(FEAT_INS_EXPAND) || defined(FEAT_SYN_HL) || defined(FEAT_CONCEAL)
-# define HIGHLIGHT_INIT "8:SpecialKey,~:EndOfBuffer,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,N:CursorLineNr,r:Question,s:StatusLine,S:StatusLineNC,c:VertSplit,t:Title,v:Visual,V:VisualNOS,w:WarningMsg,W:WildMenu,f:Folded,F:FoldColumn,A:DiffAdd,C:DiffChange,D:DiffDelete,T:DiffText,>:SignColumn,-:Conceal,B:SpellBad,P:SpellCap,R:SpellRare,L:SpellLocal,+:Pmenu,=:PmenuSel,x:PmenuSbar,X:PmenuThumb,*:TabLine,#:TabLineSel,_:TabLineFill,!:CursorColumn,.:CursorLine,o:ColorColumn"
+ || defined(FEAT_INS_EXPAND) || defined(FEAT_SYN_HL) \
+ || defined(FEAT_CONCEAL) || defined(FEAT_QUICKFIX)
+# define HIGHLIGHT_INIT "8:SpecialKey,~:EndOfBuffer,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,N:CursorLineNr,r:Question,s:StatusLine,S:StatusLineNC,c:VertSplit,t:Title,v:Visual,V:VisualNOS,w:WarningMsg,W:WildMenu,f:Folded,F:FoldColumn,A:DiffAdd,C:DiffChange,D:DiffDelete,T:DiffText,>:SignColumn,-:Conceal,B:SpellBad,P:SpellCap,R:SpellRare,L:SpellLocal,+:Pmenu,=:PmenuSel,x:PmenuSbar,X:PmenuThumb,*:TabLine,#:TabLineSel,_:TabLineFill,!:CursorColumn,.:CursorLine,o:ColorColumn,q:QuickFixLine"
#else
# define HIGHLIGHT_INIT "8:SpecialKey,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,N:CursorLineNr,r:Question,s:StatusLine,S:StatusLineNC,t:Title,v:Visual,w:WarningMsg,W:WildMenu,>:SignColumn,*:TabLine,#:TabLineSel,_:TabLineFill"
#endif
diff --git a/src/quickfix.c b/src/quickfix.c
index 8b61e10bc6..61e96ddc42 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -2575,7 +2575,7 @@ qf_list(exarg_T *eap)
vim_snprintf((char *)IObuff, IOSIZE, "%2d %s",
i, (char *)fname);
msg_outtrans_attr(IObuff, i == qi->qf_lists[qi->qf_curlist].qf_index
- ? HL_ATTR(HLF_L) : HL_ATTR(HLF_D));
+ ? HL_ATTR(HLF_QFL) : HL_ATTR(HLF_D));
if (qfp->qf_lnum == 0)
IObuff[0] = NUL;
else if (qfp->qf_col == 0)
diff --git a/src/screen.c b/src/screen.c
index 325d9ae297..f10f70dc5e 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -3371,7 +3371,7 @@ win_line(
# if defined(FEAT_QUICKFIX) && defined(FEAT_WINDOWS)
/* Highlight the current line in the quickfix window. */
if (bt_quickfix(wp->w_buffer) && qf_current_entry(wp) == lnum)
- line_attr = HL_ATTR(HLF_L);
+ line_attr = HL_ATTR(HLF_QFL);
# endif
if (line_attr != 0)
area_highlighting = TRUE;
diff --git a/src/syntax.c b/src/syntax.c
index 225853e4ee..56d69c6df5 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -6970,6 +6970,8 @@ static char *(highlight_init_light[]) =
#ifdef FEAT_GUI
"Normal gui=NONE",
#endif
+ CENT("QuickFixLine term=reverse ctermbg=Cyan",
+ "QuickFixLine term=reverse ctermbg=Cyan guibg=Cyan"),
NULL
};
@@ -7055,6 +7057,8 @@ static char *(highlight_init_dark[]) =
CENT("Conceal ctermbg=DarkGrey ctermfg=LightGrey",
"Conceal ctermbg=DarkGrey ctermfg=LightGrey guibg=DarkGrey guifg=LightGrey"),
#endif
+ CENT("QuickFixLine term=reverse ctermbg=Cyan",
+ "QuickFixLine term=reverse ctermbg=Cyan guibg=Cyan"),
#ifdef FEAT_GUI
"Normal gui=NONE",
#endif
diff --git a/src/version.c b/src/version.c
index 5d935feb6f..365dbc5c0d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 641,
+/**/
640,
/**/
639,
diff --git a/src/vim.h b/src/vim.h
index caf89d4fd6..243f8a244b 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -1433,6 +1433,7 @@ typedef enum
, HLF_CUC /* 'cursurcolumn' */
, HLF_CUL /* 'cursurline' */
, HLF_MC /* 'colorcolumn' */
+ , HLF_QFL /* quickfix window line currently selected */
, HLF_COUNT /* MUST be the last one */
} hlf_T;
@@ -1442,7 +1443,7 @@ typedef enum
'n', 'N', 'r', 's', 'S', 'c', 't', 'v', 'V', 'w', 'W', \
'f', 'F', 'A', 'C', 'D', 'T', '-', '>', \
'B', 'P', 'R', 'L', \
- '+', '=', 'x', 'X', '*', '#', '_', '!', '.', 'o'}
+ '+', '=', 'x', 'X', '*', '#', '_', '!', '.', 'o', 'q'}
/*
* Boolean constants