diff options
author | Matthieu Coudron <teto@users.noreply.github.com> | 2021-01-03 10:10:10 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-03 10:10:10 +0100 |
commit | 7a81a0c073704505b420d02420f0c6b64f031983 (patch) | |
tree | 16bb875f081a6250a97c62c1f1de228e0cc21d0e /src/nvim/quickfix.c | |
parent | 84d08358b7c4af1d92c7d47edc2c7ae9594ffae4 (diff) | |
parent | 215aa83b2af85939900739a94f0d4d00902a2fed (diff) | |
download | rneovim-7a81a0c073704505b420d02420f0c6b64f031983.tar.gz rneovim-7a81a0c073704505b420d02420f0c6b64f031983.tar.bz2 rneovim-7a81a0c073704505b420d02420f0c6b64f031983.zip |
Merge pull request #13665 from janlazo/vim-8.2.0917
vim-patch:8.1.{1667,1672,1822},8.2.{407,917}
Diffstat (limited to 'src/nvim/quickfix.c')
-rw-r--r-- | src/nvim/quickfix.c | 21 |
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; |