aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/quickfix.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/quickfix.c')
-rw-r--r--src/nvim/quickfix.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/nvim/quickfix.c b/src/nvim/quickfix.c
index 8f071390b3..a625c09f78 100644
--- a/src/nvim/quickfix.c
+++ b/src/nvim/quickfix.c
@@ -143,6 +143,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
@@ -457,7 +458,7 @@ static const char_u *efm_analyze_prefix(const char_u *efmp, efm_T *efminfo,
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 {
snprintf((char *)errmsg, errmsglen,
@@ -967,7 +968,7 @@ restofline:
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
} else if (vim_strchr((char_u *)"CZ", idx) != NULL) {
@@ -1499,7 +1500,7 @@ static int qf_parse_match(char_u *linebuf, size_t linelen, efm_T *fmt_ptr,
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;
@@ -3432,11 +3433,13 @@ bool qf_mark_adjust(win_T *wp, linenr_T line1, linenr_T line2, long amount,
// 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
@@ -3446,15 +3449,17 @@ static char_u *qf_types(int c, int nr)
static char_u cc[3];
char_u *p;
- if (c == 'W' || c == 'w')
+ if (c == 'W' || c == 'w') {
p = (char_u *)" warning";
- else if (c == 'I' || c == 'i')
+ } else if (c == 'I' || c == 'i') {
p = (char_u *)" info";
- else if (c == 'E' || c == 'e' || (c == 0 && nr > 0))
+ } 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)
+ } else if (c == 0 || c == 1) {
p = (char_u *)"";
- else {
+ } else {
cc[0] = ' ';
cc[1] = (char_u)c;
cc[2] = NUL;