Mercurial > vim
diff src/quickfix.c @ 20729:ada6f26e6eb1 v8.2.0917
patch 8.2.0917: quickfix entries do not suport a "note" type
Commit: https://github.com/vim/vim/commit/e928366de5deca359fad779a4f740db703296302
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jun 7 14:10:47 2020 +0200
patch 8.2.0917: quickfix entries do not suport a "note" type
Problem: Quickfix entries do not suport a "note" type.
Solution: Add support for "note". (partly by Yegappan Lakshmanan,
closes #5527, closes #6216)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 07 Jun 2020 14:15:04 +0200 |
parents | d6827bd31d1d |
children | 68170c89e355 |
line wrap: on
line diff
--- a/src/quickfix.c +++ b/src/quickfix.c @@ -133,6 +133,7 @@ struct efm_S // 'E' error message // 'W' warning message // 'I' informational message + // 'N' note message // 'C' continuation line // 'Z' end of multi-line message // 'G' general, unspecific message @@ -371,7 +372,7 @@ efm_analyze_prefix(char_u *efmp, efm_T * { if (vim_strchr((char_u *)"+-", *efmp) != NULL) efminfo->flags = *efmp++; - if (vim_strchr((char_u *)"DXAEWICZGOPQ", *efmp) != NULL) + if (vim_strchr((char_u *)"DXAEWINCZGOPQ", *efmp) != NULL) efminfo->prefix = *efmp; else { @@ -1166,7 +1167,7 @@ qf_parse_match( if ((idx == 'C' || idx == 'Z') && !qf_multiline) return QF_FAIL; - if (vim_strchr((char_u *)"EWI", idx) != NULL) + if (vim_strchr((char_u *)"EWIN", idx) != NULL) fields->type = idx; else fields->type = 0; @@ -1439,7 +1440,7 @@ restofline: if (fmt_ptr->conthere) fmt_start = fmt_ptr; - if (vim_strchr((char_u *)"AEWI", idx) != NULL) + if (vim_strchr((char_u *)"AEWIN", idx) != NULL) { qfl->qf_multiline = TRUE; // start of a multi-line message qfl->qf_multiignore = FALSE;// reset continuation @@ -3880,11 +3881,13 @@ qf_mark_adjust( * e or E 0 " error" * w or W 0 " warning" * i or I 0 " info" + * n or N 0 " note" * 0 0 "" * other 0 " c" * e or E n " error n" * w or W n " warning n" * i or I n " info n" + * n or N n " note n" * 0 n " error n" * other n " c n" * 1 x "" :helpgrep @@ -3900,6 +3903,8 @@ qf_types(int c, int nr) p = (char_u *)" warning"; else if (c == 'I' || c == 'i') p = (char_u *)" info"; + else if (c == 'N' || c == 'n') + p = (char_u *)" note"; else if (c == 'E' || c == 'e' || (c == 0 && nr > 0)) p = (char_u *)" error"; else if (c == 0 || c == 1)