Skip to content

Commit ce1d196

Browse files
dkearnschrisbra
authored andcommitted
runtime(vim): Update base syntax, improve :match highlighting
- Match the range prefix separately as a count. - Match an explicit count of 1, rarely used but seen in the wild. - Allow whitespace between the count and command. closes: vim#17717 Signed-off-by: Doug Kearns <[email protected]> Signed-off-by: Christian Brabandt <[email protected]>
1 parent 2ab4f90 commit ce1d196

File tree

145 files changed

+950
-898
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

145 files changed

+950
-898
lines changed

runtime/syntax/generator/vim.vim.base

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
" Language: Vim script
33
" Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com>
44
" Doug Kearns <[email protected]>
5-
" Last Change: 2025 Jul 10
5+
" Last Change: 2025 Jul 11
66
" Former Maintainer: Charles E. Campbell
77

88
" DO NOT CHANGE DIRECTLY.
@@ -235,7 +235,7 @@ syn cluster vim9CmdList contains=vim9Abstract,vim9Class,vim9Const,vim9Enum,vim9E
235235
syn match vimCmdSep "\\\@1<!|" skipwhite nextgroup=@vimCmdList,vimSubst1,@vimFunc
236236
syn match vimCmdSep ":\+" skipwhite nextgroup=@vimCmdList,vimSubst1
237237
syn match vimCount contained "\d\+"
238-
syn match vimIsCommand "\<\%(\h\w*\|[23]mat\%[ch]\)\>" nextgroup=vimBang contains=vimCommand
238+
syn match vimIsCommand "\<\h\w*\>" nextgroup=vimBang contains=vimCommand
239239
syn match vimBang contained "!"
240240
syn match vimWhitespace contained "\s\+"
241241

@@ -1439,12 +1439,18 @@ endif
14391439

14401440
" Match: {{{2
14411441
" =====
1442-
syn match vimMatch "\<[23]\=mat\%[ch]\>" skipwhite nextgroup=vimMatchGroup,vimMatchNone
1443-
syn match vimMatchGroup contained "[[:alnum:]._-]\+" skipwhite nextgroup=vimMatchPattern
1442+
syn match vimMatch "\<\%([1-3]\s*\)\=mat\%[ch]\>" skipwhite nextgroup=vimMatchGroup,vimMatchNone contains=vimCount
1443+
syn match vimMatchGroup contained "[[:alnum:]._-]\+" skipwhite nextgroup=vimMatchPattern
14441444
syn case ignore
14451445
syn keyword vimMatchNone contained none
14461446
syn case match
1447-
syn region vimMatchPattern contained matchgroup=Delimiter start="\z([!#$%&'()*+,-./:;<=>?@[\]^_`{}~]\)" skip="\\\\\|\\\z1" end="\z1" contains=@vimSubstList oneline
1447+
syn region vimMatchPattern contained
1448+
\ matchgroup=Delimiter
1449+
\ start="\z([!#$%&'()*+,-./:;<=>?@[\]^_`{}~]\)"
1450+
\ skip="\\\\\|\\\z1"
1451+
\ end="\z1"
1452+
\ contains=@vimSubstList
1453+
\ oneline
14481454

14491455
" Normal: {{{2
14501456
" ======

runtime/syntax/testdir/dumps/vim9_ex_commands_00.dump

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
|:| |h+0#af5f00255&|e|l|p| +0#0000000&@68
1515
@1|:+0#af5f00255&| +0#0000000&|h+0#00e0e07&|e|l|p| +0#0000000&|#+0#0000e05&| |F+0#0000001#ffff4012|I|X|M|E| +0#0000000#ffffff0@59
1616
@75
17-
|:|2+0#af5f00255&|m|a|t|c|h| +0#0000000&@67
18-
|:|3+0#af5f00255&|m|a|t|c|h| +0#0000000&@67
1917
|:|a+0#af5f00255&|b@1|r|e|v|i|a|t|e| +0#0000000&@63
18+
|:|a+0#af5f00255&|b|c|l|e|a|r| +0#0000000&@66
19+
|:|a+0#af5f00255&|b|o|v|e|l|e|f|t| +0#0000000&@64
2020
@57|1|,|1| @10|T|o|p|
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
|:+0&#ffffff0| |h+0#af5f00255&|e|l|p| +0#0000000&@68
22
@1|:+0#af5f00255&| +0#0000000&|h+0#00e0e07&|e|l|p| +0#0000000&|#+0#0000e05&| |F+0#0000001#ffff4012|I|X|M|E| +0#0000000#ffffff0@59
33
@75
4-
|:|2+0#af5f00255&|m|a|t|c|h| +0#0000000&@67
5-
|:|3+0#af5f00255&|m|a|t|c|h| +0#0000000&@67
6-
>:|a+0#af5f00255&|b@1|r|e|v|i|a|t|e| +0#0000000&@63
4+
|:|a+0#af5f00255&|b@1|r|e|v|i|a|t|e| +0#0000000&@63
75
|:|a+0#af5f00255&|b|c|l|e|a|r| +0#0000000&@66
8-
|:|a+0#af5f00255&|b|o|v|e|l|e|f|t| +0#0000000&@64
6+
>:|a+0#af5f00255&|b|o|v|e|l|e|f|t| +0#0000000&@64
97
|:|a+0#af5f00255&|b|s|t|r|a|c|t| +0#0000000&@65
108
|:|a+0#af5f00255&|l@1| +0#0000000&@70
119
|:|a+0#af5f00255&|m|e|n|u| +0#0000000&@68
@@ -17,4 +15,6 @@
1715
|:|a+0#af5f00255&|r|g|e|d|i|t| +0#0000000&@66
1816
|:|a+0#af5f00255&|r|g@1|l|o|b|a|l| +0#0000000&@64
1917
|:|a+0#af5f00255&|r|g|l|o|c|a|l| +0#0000000&@65
18+
|:|a+0#af5f00255&|r|g|s| +0#0000000&@69
19+
|:|a+0#af5f00255&|r|g|u|m|e|n|t| +0#0000000&@65
2020
@57|1|9|,|1| @10|1|%|
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
1-
|:+0&#ffffff0|a+0#af5f00255&|r|g|l|o|c|a|l| +0#0000000&@65
2-
|:|a+0#af5f00255&|r|g|s| +0#0000000&@69
3-
|:|a+0#af5f00255&|r|g|u|m|e|n|t| +0#0000000&@65
1+
|:+0&#ffffff0|a+0#af5f00255&|r|g|u|m|e|n|t| +0#0000000&@65
42
|:|a+0#af5f00255&|s|c|i@1| +0#0000000&@68
53
|:|a+0#af5f00255&|u|g|r|o|u|p| +0#0000000&|F|o@1| @62
6-
>:|a+0#af5f00255&|u|g|r|o|u|p| +0#0000000&|E|N|D| @62
4+
|:|a+0#af5f00255&|u|g|r|o|u|p| +0#0000000&|E|N|D| @62
75
|:|a+0#af5f00255&|u|n|m|e|n|u| +0#0000000&@66
8-
|:|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@66
6+
>:|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@66
97
|:|b+0#af5f00255&|a|d@1| +0#0000000&@69
108
|:|b+0#af5f00255&|a|l@1| +0#0000000&@69
119
|:|b+0#af5f00255&|a|l|t| +0#0000000&@69
@@ -17,4 +15,6 @@
1715
|:|b+0#af5f00255&|l|a|s|t| +0#0000000&@68
1816
|:|b+0#af5f00255&|m|o|d|i|f|i|e|d| +0#0000000&@64
1917
|:|b+0#af5f00255&|n|e|x|t| +0#0000000&@68
18+
|:|b+0#af5f00255&|N|e|x|t| +0#0000000&@68
19+
|:|b+0#af5f00255&|o|t|r|i|g|h|t| +0#0000000&@65
2020
@57|3|7|,|1| @10|2|%|
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
1-
|:+0&#ffffff0|b+0#af5f00255&|n|e|x|t| +0#0000000&@68
2-
|:|b+0#af5f00255&|N|e|x|t| +0#0000000&@68
3-
|:|b+0#af5f00255&|o|t|r|i|g|h|t| +0#0000000&@65
1+
|:+0&#ffffff0|b+0#af5f00255&|o|t|r|i|g|h|t| +0#0000000&@65
42
|:|b+0#af5f00255&|p|r|e|v|i|o|u|s| +0#0000000&@64
53
|:|b+0#af5f00255&|r|e|a|k| +0#0000000&@68
6-
>:|b+0#af5f00255&|r|e|a|k|a|d@1| +0#0000000&@65
4+
|:|b+0#af5f00255&|r|e|a|k|a|d@1| +0#0000000&@65
75
|:|b+0#af5f00255&|r|e|a|k|d|e|l| +0#0000000&@65
8-
|:|b+0#af5f00255&|r|e|a|k|l|i|s|t| +0#0000000&@64
6+
>:|b+0#af5f00255&|r|e|a|k|l|i|s|t| +0#0000000&@64
97
|:|b+0#af5f00255&|r|e|w|i|n|d| +0#0000000&@66
108
|:|b+0#af5f00255&|r|o|w|s|e| +0#0000000&@67
119
|:|b+0#af5f00255&|u|f|d|o| +0#0000000&@68
@@ -17,4 +15,6 @@
1715
|:|c+0#af5f00255&|a|b|c|l|e|a|r| +0#0000000&@65
1816
|:|c+0#af5f00255&|a|b|o|v|e| +0#0000000&@67
1917
|:|c+0#af5f00255&|a|d@1|b|u|f@1|e|r| +0#0000000&@63
18+
|:|c+0#af5f00255&|a|d@1|e|x|p|r| +0#0000000&@65
19+
|:|c+0#af5f00255&|a|d@1|f|i|l|e| +0#0000000&@65
2020
@57|5@1|,|1| @10|4|%|
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
1-
|:+0&#ffffff0|c+0#af5f00255&|a|d@1|b|u|f@1|e|r| +0#0000000&@63
2-
|:|c+0#af5f00255&|a|d@1|e|x|p|r| +0#0000000&@65
3-
|:|c+0#af5f00255&|a|d@1|f|i|l|e| +0#0000000&@65
1+
|:+0&#ffffff0|c+0#af5f00255&|a|d@1|f|i|l|e| +0#0000000&@65
42
|:|c+0#af5f00255&|a|f|t|e|r| +0#0000000&@67
53
|:|c+0#af5f00255&|a|l@1| +0#0000000&@69
6-
>:|c+0#af5f00255&|a|t|c|h| +0#0000000&@68
4+
|:|c+0#af5f00255&|a|t|c|h| +0#0000000&@68
75
|:|c+0#af5f00255&|b|e|f|o|r|e| +0#0000000&@66
8-
|:|c+0#af5f00255&|b|e|l|o|w| +0#0000000&@67
6+
>:|c+0#af5f00255&|b|e|l|o|w| +0#0000000&@67
97
|:|c+0#af5f00255&|b|o|t@1|o|m| +0#0000000&@66
108
|:|c+0#af5f00255&|b|u|f@1|e|r| +0#0000000&@66
119
|:|c+0#af5f00255&@1| +0#0000000&@71
@@ -17,4 +15,6 @@
1715
|:|c+0#af5f00255&|f|d|o| +0#0000000&@69
1816
|:|c+0#af5f00255&|f|i|l|e| +0#0000000&@68
1917
|:|c+0#af5f00255&|f|i|r|s|t| +0#0000000&@67
18+
|:|c+0#af5f00255&|g|e|t|b|u|f@1|e|r| +0#0000000&@63
19+
|:|c+0#af5f00255&|g|e|t|e|x|p|r| +0#0000000&@65
2020
@57|7|3|,|1| @10|5|%|
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
1-
|:+0&#ffffff0|c+0#af5f00255&|f|i|r|s|t| +0#0000000&@67
2-
|:|c+0#af5f00255&|g|e|t|b|u|f@1|e|r| +0#0000000&@63
3-
|:|c+0#af5f00255&|g|e|t|e|x|p|r| +0#0000000&@65
1+
|:+0&#ffffff0|c+0#af5f00255&|g|e|t|e|x|p|r| +0#0000000&@65
42
|:|c+0#af5f00255&|g|e|t|f|i|l|e| +0#0000000&@65
53
|:|c+0#af5f00255&|h|a|n|g|e|s| +0#0000000&@66
6-
>:|c+0#af5f00255&|h|d|i|r| +0#0000000&@68
4+
|:|c+0#af5f00255&|h|d|i|r| +0#0000000&@68
75
|:|c+0#af5f00255&|h|e|c|k|p|a|t|h| +0#0000000&@64
8-
|:|c+0#af5f00255&|h|e|c|k|t|i|m|e| +0#0000000&@64
6+
>:|c+0#af5f00255&|h|e|c|k|t|i|m|e| +0#0000000&@64
97
|:|c+0#af5f00255&|h|i|s|t|o|r|y| +0#0000000&@65
108
|:|c+0#af5f00255&|l|a|s@1| +0#0000000&@68
119
|:|c+0#af5f00255&|l|a|s|t| +0#0000000&@68
@@ -17,4 +15,6 @@
1715
|:|c+0#af5f00255&|m|e|n|u| +0#0000000&@68
1816
|:|c+0#af5f00255&|n|e|w|e|r| +0#0000000&@67
1917
|:|c+0#af5f00255&|n|e|x|t| +0#0000000&@68
18+
|:|c+0#af5f00255&|N|e|x|t| +0#0000000&@68
19+
|:|c+0#af5f00255&|n|f|i|l|e| +0#0000000&@67
2020
@57|9|1|,|1| @10|7|%|
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
1-
|:+0&#ffffff0|c+0#af5f00255&|n|e|x|t| +0#0000000&@68
2-
|:|c+0#af5f00255&|N|e|x|t| +0#0000000&@68
3-
|:|c+0#af5f00255&|n|f|i|l|e| +0#0000000&@67
1+
|:+0&#ffffff0|c+0#af5f00255&|n|f|i|l|e| +0#0000000&@67
42
|:|c+0#af5f00255&|N|f|i|l|e| +0#0000000&@67
53
|:|c+0#af5f00255&|n|o|r|e|a|b@1|r|e|v| +0#0000000&@62
6-
>:|c+0#af5f00255&|n|o|r|e|m|a|p| +0#0000000&@65
4+
|:|c+0#af5f00255&|n|o|r|e|m|a|p| +0#0000000&@65
75
|:|c+0#af5f00255&|n|o|r|e|m|e|n|u| +0#0000000&@64
8-
|:|c+0#af5f00255&|o|l|d|e|r| +0#0000000&@67
6+
>:|c+0#af5f00255&|o|l|d|e|r| +0#0000000&@67
97
|:|c+0#af5f00255&|o|l|o|r|s|c|h|e|m|e| +0#0000000&@62
108
|:|c+0#af5f00255&|o|m|c|l|e|a|r| +0#0000000&@65
119
|:|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&@66
@@ -17,4 +15,6 @@
1715
|:|c+0#af5f00255&|o|p|y| +0#0000000&@69
1816
|:|c+0#af5f00255&|p|f|i|l|e| +0#0000000&@67
1917
|:|c+0#af5f00255&|p|r|e|v|i|o|u|s| +0#0000000&@64
18+
|:|c+0#af5f00255&|q|u|i|t| +0#0000000&@68
19+
|:|c+0#af5f00255&|r|e|w|i|n|d| +0#0000000&@66
2020
@57|1|0|9|,|1| @9|8|%|
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
1-
|:+0&#ffffff0|c+0#af5f00255&|p|r|e|v|i|o|u|s| +0#0000000&@64
2-
|:|c+0#af5f00255&|q|u|i|t| +0#0000000&@68
3-
|:|c+0#af5f00255&|r|e|w|i|n|d| +0#0000000&@66
1+
|:+0&#ffffff0|c+0#af5f00255&|r|e|w|i|n|d| +0#0000000&@66
42
|:|c+0#af5f00255&|s|c|o|p|e| +0#0000000&@67
53
|:|c+0#af5f00255&|s|t|a|g| +0#0000000&@68
6-
>:|c+0#af5f00255&|u|n|a|b@1|r|e|v| +0#0000000&@64
4+
|:|c+0#af5f00255&|u|n|a|b@1|r|e|v| +0#0000000&@64
75
|:|c+0#af5f00255&|u|n|m|a|p| +0#0000000&@67
8-
|:|c+0#af5f00255&|u|n|m|e|n|u| +0#0000000&@66
6+
>:|c+0#af5f00255&|u|n|m|e|n|u| +0#0000000&@66
97
|:|c+0#af5f00255&|w|i|n|d|o|w| +0#0000000&@66
108
|:|d+0#af5f00255&|e|b|u|g| +0#0000000&@68
119
|:|d+0#af5f00255&|e|b|u|g@1|r|e@1|d|y| +0#0000000&@62
@@ -17,4 +15,6 @@
1715
|:|d+0#af5f00255&|e|l|e|t|e| +0#0000000&@67
1816
|:|d+0#af5f00255&|e|l|f|u|n|c|t|i|o|n| +0#0000000&@62
1917
|:|d+0#af5f00255&|e|l|m|a|r|k|s| +0#0000000&@65
18+
|:|d+0#af5f00255&|i|f@1|g|e|t| +0#0000000&@66
19+
|:|d+0#af5f00255&|i|f@1|o|f@1| +0#0000000&@66
2020
@57|1|2|7|,|1| @8|1|0|%|
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
1-
|:+0&#ffffff0|d+0#af5f00255&|e|l|m|a|r|k|s| +0#0000000&@65
2-
|:|d+0#af5f00255&|i|f@1|g|e|t| +0#0000000&@66
3-
|:|d+0#af5f00255&|i|f@1|o|f@1| +0#0000000&@66
1+
|:+0&#ffffff0|d+0#af5f00255&|i|f@1|o|f@1| +0#0000000&@66
42
|:|d+0#af5f00255&|i|f@1|p|a|t|c|h| +0#0000000&@64
53
|:|d+0#af5f00255&|i|f@1|p|u|t| +0#0000000&@66
6-
>:|d+0#af5f00255&|i|f@1|s|p|l|i|t| +0#0000000&@64
4+
|:|d+0#af5f00255&|i|f@1|s|p|l|i|t| +0#0000000&@64
75
|:|d+0#af5f00255&|i|f@1|t|h|i|s| +0#0000000&@65
8-
|:|d+0#af5f00255&|i|f@1|u|p|d|a|t|e| +0#0000000&@63
6+
>:|d+0#af5f00255&|i|f@1|u|p|d|a|t|e| +0#0000000&@63
97
|:|d+0#af5f00255&|i|g|r|a|p|h|s| +0#0000000&@65
108
|:|d+0#af5f00255&|i|s|a|s@1|e|m|b|l|e| +0#0000000&@62
119
|:|d+0#af5f00255&|i|s|a|s@1|e|m|b|l|e| +0#0000000&@62
@@ -17,4 +15,6 @@
1715
|:|d+0#af5f00255&|o|a|u|t|o|c|m|d| +0#0000000&@64
1816
|:|d+0#af5f00255&|p| +0#0000000&@71
1917
|:|d+0#af5f00255&|r|o|p| +0#0000000&@69
18+
|:|d+0#af5f00255&|s|e|a|r|c|h| +0#0000000&@66
19+
|:|d+0#af5f00255&|s|p|l|i|t| +0#0000000&@67
2020
@57|1|4|5|,|1| @8|1@1|%|

0 commit comments

Comments
 (0)