runtime(vim): Improve keymap file highlighting (#13550)
- Match :loadkeymap to EOF as a region and contain only allowed items.
- Add highlighting for <Char- notation.
- add basic syntax highlighting tests
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/syntax/testdir/input/vim.vim b/runtime/syntax/testdir/input/vim.vim
new file mode 100644
index 0000000..983c822
--- /dev/null
+++ b/runtime/syntax/testdir/input/vim.vim
@@ -0,0 +1,26 @@
+" Vim Keymap file for syntax testing
+
+" Maintainer: Doug Kearns <dougkearns@gmail.com>
+" Last Changed: 2023 Nov 21
+
+scriptencoding utf-8
+
+let b:keymap_name = "syntax-test"
+
+loadkeymap
+
+" Line comment
+
+ " Another line comment
+
+a A Basic mapping
+'a á More than one char in first column
+
+" Special notation
+<char-62> B Special notation allowed in LHS - decimal
+c <char-0103> Special notation allowed in RHS - octal
+<char-0x0064> <char-0x0044> Special notation allowed in LHS and RHS - hexadecimal
+
+" Vim-script comment characters
+# <char-0x00a3> Line should not match as a Vim9-script comment
+\" “ Line should not match as a legacy-script comment