aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2021-08-18 14:29:42 +0200
committerBjörn Linse <bjorn.linse@gmail.com>2021-08-19 15:08:50 +0200
commitfca52f5f32844d8820e6a1ef2678bc79c5e6d8d8 (patch)
tree8db37b73b1f5d2b7b176ab8deaf08d19f33f778b /src
parenta9f563ab62f6035729f79c3c701a5b219f1b982f (diff)
downloadrneovim-fca52f5f32844d8820e6a1ef2678bc79c5e6d8d8.tar.gz
rneovim-fca52f5f32844d8820e6a1ef2678bc79c5e6d8d8.tar.bz2
rneovim-fca52f5f32844d8820e6a1ef2678bc79c5e6d8d8.zip
feat(match): allow hl group to be defined after :match command
Diffstat (limited to 'src')
-rw-r--r--src/nvim/testdir/test_match.vim5
-rw-r--r--src/nvim/window.c3
2 files changed, 5 insertions, 3 deletions
diff --git a/src/nvim/testdir/test_match.vim b/src/nvim/testdir/test_match.vim
index 09448ca71b..0fd76a23ea 100644
--- a/src/nvim/testdir/test_match.vim
+++ b/src/nvim/testdir/test_match.vim
@@ -157,7 +157,10 @@ func Test_match_error()
endfunc
func Test_matchadd_error()
- call assert_fails("call matchadd('GroupDoesNotExist', 'X')", 'E28:')
+ call clearmatches()
+ " Nvim: not an error anymore:
+ call matchadd('GroupDoesNotExist', 'X')
+ call assert_equal([{'group': 'GroupDoesNotExist', 'pattern': 'X', 'priority': 10, 'id': 13}], getmatches())
call assert_fails("call matchadd('Search', '\\(')", 'E475:')
call assert_fails("call matchadd('Search', 'XXX', 1, 123, 1)", 'E715:')
call assert_fails("call matchadd('Error', 'XXX', 1, 3)", 'E798:')
diff --git a/src/nvim/window.c b/src/nvim/window.c
index 5677a4d39d..fefbab822e 100644
--- a/src/nvim/window.c
+++ b/src/nvim/window.c
@@ -6534,8 +6534,7 @@ int match_add(win_T *wp, const char *const grp, const char *const pat,
cur = cur->next;
}
}
- if ((hlg_id = syn_name2id((const char_u *)grp)) == 0) {
- EMSG2(_(e_nogroup), grp);
+ if ((hlg_id = syn_check_group((const char_u *)grp, strlen(grp))) == 0) {
return -1;
}
if (pat != NULL && (regprog = vim_regcomp((char_u *)pat, RE_MAGIC)) == NULL) {