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)