Hi,
On Wed, Nov 22, 2017 at 1:34 AM, Axel Bender <[email protected]> wrote:
> Two "issues":
>
> a) :cl uses hard-coded values for the various syntax items (cmp. the
> default qf.vim - which btw. is not used (verify by renaming it)), and
> completely ignores any user-defined qf.vim syntax file.
>
Can you try using the attached patch?
Thanks,
Yegappan
>
> b) When using e.g. helpgrep to produce a quickfix list, the pattern
> searched for is not highlighted; this would be a nice feat. Can
> probably be fixed with an autocmd though.
>
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.
diff --git a/src/quickfix.c b/src/quickfix.c
index 8e76cbfcd..15be1f496 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -2654,6 +2654,7 @@ qf_list(exarg_T *eap)
int idx2 = -1;
char_u *arg = eap->arg;
int plus = FALSE;
+ int attr;
int all = eap->forceit; /* if not :cl!, only show
recognised errors */
qf_info_T *qi = &ql_info;
@@ -2723,8 +2724,15 @@ qf_list(exarg_T *eap)
else
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_QFL) : HL_ATTR(HLF_D));
+ if (i == qi->qf_lists[qi->qf_curlist].qf_index)
+ attr = HL_ATTR(HLF_QFL);
+ else
+ {
+ attr = syn_name2attr((char_u *)"qfFileName");
+ if (attr == 0)
+ attr = HL_ATTR(HLF_D);
+ }
+ msg_outtrans_attr(IObuff, attr);
if (qfp->qf_lnum == 0)
IObuff[0] = NUL;
else if (qfp->qf_col == 0)
@@ -2734,7 +2742,10 @@ qf_list(exarg_T *eap)
qfp->qf_lnum, qfp->qf_col);
sprintf((char *)IObuff + STRLEN(IObuff), "%s:",
(char *)qf_types(qfp->qf_type, qfp->qf_nr));
- msg_puts_attr(IObuff, HL_ATTR(HLF_N));
+ attr = syn_name2attr((char_u *)"qfLineNr");
+ if (attr == 0)
+ attr = HL_ATTR(HLF_N);
+ msg_puts_attr(IObuff, attr);
if (qfp->qf_pattern != NULL)
{
qf_fmt_text(qfp->qf_pattern, IObuff, IOSIZE);