Skip to content

Commit 1aa287e

Browse files
dkearnschrisbra
authored andcommitted
runtime(vim): Update base-syntax, improve variable matching
- Match variables after operators, including line continuations. - Match option variables without leading whitespace. - Explicitly match expression subscripts. - Match Vim9 variables in LHS of assignments and method calls. - Match option variables (&option) with a dedicated syntax group like environment variables. - Match list literals, fixes: #5830 - Match :{un}lockvar arguments. - Match registers and environment variables in :let unpack lists. - Match lambda expressions - Match Vim9 scope blocks - Match variables in :for subject - Highlight user variables with Normal - Improve this/super keyword matching, fixes: #15970 closes: #16476 Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
1 parent 54d7f18 commit 1aa287e

221 files changed

Lines changed: 4370 additions & 472 deletions

File tree

Some content is hidden

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

runtime/syntax/generator/vim.vim.base

Lines changed: 180 additions & 67 deletions
Large diffs are not rendered by default.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
>v+0#af5f00255#ffffff0|i|m|9|s|c|r|i|p|t| +0#0000000&@64
2+
@75
3+
|#+0#0000e05&| |V|i|m|9| |b|l|o|c|k|s| +0#0000000&@61
4+
@75
5+
@75
6+
|{+0#e000e06&| +0#0000000&@73
7+
@2|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@60
8+
|}+0#e000e06&| +0#0000000&@73
9+
@75
10+
|{+0#e000e06&| +0#0000000&@73
11+
@2|{+0#e000e06&| +0#0000000&@71
12+
@4|{+0#e000e06&| +0#0000000&@69
13+
@6|{+0#e000e06&| +0#0000000&@67
14+
@8|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@54
15+
@6|}+0#e000e06&| +0#0000000&@67
16+
@6|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@56
17+
@4|}+0#e000e06&| +0#0000000&@69
18+
@4|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@58
19+
@2|}+0#e000e06&| +0#0000000&@71
20+
@57|1|,|1| @10|T|o|p|
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
| +0&#ffffff0@7|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@54
2+
@6|}+0#e000e06&| +0#0000000&@67
3+
@6|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@56
4+
@4|}+0#e000e06&| +0#0000000&@69
5+
@4|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@58
6+
@2>}+0#e000e06&| +0#0000000&@71
7+
@2|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@60
8+
|}+0#e000e06&| +0#0000000&@73
9+
@75
10+
|d+0#af5f00255&|e|f| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@65
11+
@2|{+0#e000e06&| +0#0000000&@71
12+
@4|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@58
13+
@4|e+0#af5f00255&|c|h|o| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&@62
14+
@2|}+0#e000e06&| +0#0000000&@71
15+
|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@68
16+
@75
17+
|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|f|o@1|"| +0#0000000&||| |{+0#e000e06&| +0#0000000&@60
18+
@2|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@60
19+
|}+0#e000e06&| +0#0000000&@73
20+
@57|1|9|,|3| @9|9|2|%|
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
|}+0#e000e06#ffffff0| +0#0000000&@73
2+
> @74
3+
|~+0#4040ff13&| @73
4+
|~| @73
5+
|~| @73
6+
|~| @73
7+
|~| @73
8+
|~| @73
9+
|~| @73
10+
|~| @73
11+
|~| @73
12+
|~| @73
13+
|~| @73
14+
|~| @73
15+
|~| @73
16+
|~| @73
17+
|~| @73
18+
|~| @73
19+
|~| @73
20+
| +0#0000000&@56|3@1|,|0|-|1| @7|B|o|t|

runtime/syntax/testdir/dumps/vim9_comment_03.dump

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
|#+0#0000e05&| +0#0000000&|I+0#e000e06&|s@1|u|e|:| +0#0000e05&|#|1|3|0|4|7| +0#0000000&@59
66
> @74
77
|i+0#af5f00255&|f| +0#0000000&|!+0#af5f00255&|e+0#00e0e07&|x|i|s|t|s|(+0#e000e06&|"+0#e000002&|:|D|i|f@1|O|r|i|g|"|)+0#e000e06&| +0#0000000&@51
8-
@2|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&|D|i|f@1|O|r|i|g| |v+0#af5f00255&|e|r|t| +0#0000000&|n+0#af5f00255&|e|w| +0#0000000&||| |s+0#af5f00255&|e|t| +0#0000000&|b+0#e000e06&|t|=+0#af5f00255&|n+0#0000000&|o|f|i|l|e| ||| |r+0#af5f00255&| +0#0000000&|++0#af5f00255&@1|e|d|i|t| +0#0000000&|%+0#af5f00255&@1| +0#0000000&||| |0+0#e000002&|d+0#0000000&|_| ||| |d+0#af5f00255&|i|f@1|t|h|i|s| +0#0000000&
8+
@2|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&|D|i|f@1|O|r|i|g| |v+0#af5f00255&|e|r|t| +0#0000000&|n+0#af5f00255&|e|w| +0#0000000&||| |s+0#af5f00255&|e|t| +0#0000000&|b+0#e000e06&|t|=+0#af5f00255&|n+0#0000000&|o|f|i|l|e| ||| |r+0#af5f00255&| +0#0000000&|++0#af5f00255&@1|e+0#00e0e07&|d|i|t| +0#0000000&|%+0#af5f00255&@1| +0#0000000&||| |0+0#e000002&|d+0#0000000&|_| ||| |d+0#af5f00255&|i|f@1|t|h|i|s| +0#0000000&
99
@18|\+0#e000e06&| +0#0000000&||| |w+0#af5f00255&|i|n|c|m|d| +0#0000000&|p+0#af5f00255&| +0#0000000&||| |d+0#af5f00255&|i|f@1|t|h|i|s| +0#0000000&@33
1010
|e+0#af5f00255&|n|d|i|f| +0#0000000&@69
1111
@75
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
>v+0#af5f00255#ffffff0|i|m|9|s|c|r|i|p|t| +0#0000000&@64
2+
@75
3+
|#+0#0000e05&| |V|i|m|9| |f|u|n|c|t|i|o|n| |v|a|r|i|a|b|l|e| |h|i|g|h|l|i|g|h|t|i|n|g| +0#0000000&@37
4+
@75
5+
|d+0#af5f00255&|e|f| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@65
6+
| +0#0000e05&@1|#| |D|e|c|l|a|r|a|t|i|o|n|s| +0#0000000&@58
7+
@75
8+
@2|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@58
9+
@75
10+
@2|b+0#00e0e07&|:|f|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@60
11+
@2|g+0#00e0e07&|:|f|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@60
12+
@2|t+0#00e0e07&|:|f|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@60
13+
@2|w+0#00e0e07&|:|f|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@60
14+
@75
15+
@2|v+0#00e0e07&|:|f|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@60
16+
@75
17+
@2|$+0#e000e06&|F|O@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@61
18+
@75
19+
@2|v+0#af5f00255&|a|r| +0#0000000&|[|f+0#00e0e07&|o@1|,+0#0000000&| |b+0#00e0e07&|a|r|]+0#0000000&| |=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@51
20+
@57|1|,|1| @10|T|o|p|
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
| +0&#ffffff0@74
2+
@2|v+0#00e0e07&|:|f|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@60
3+
@75
4+
@2|$+0#e000e06&|F|O@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@61
5+
@75
6+
@2>v+0#af5f00255&|a|r| +0#0000000&|[|f+0#00e0e07&|o@1|,+0#0000000&| |b+0#00e0e07&|a|r|]+0#0000000&| |=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@51
7+
@2|v+0#af5f00255&|a|r| +0#0000000&|[|f+0#00e0e07&|o@1|,+0#0000000&| @63
8+
@8|\+0#e000e06&| +0#0000000&|b+0#00e0e07&|a|r|]+0#0000000&| |=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@53
9+
@2|v+0#af5f00255&|a|r| +0#0000000&|[|$+0#e000e06&|f|o@1|,+0#0000000&| |$+0#e000e06&|b|a|r|]+0#0000000&| |=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@49
10+
@2|v+0#af5f00255&|a|r| +0#0000000&|[|$+0#e000e06&|f|o@1|,+0#0000000&| @62
11+
@8|\+0#e000e06&| +0#0000000&|$+0#e000e06&|b|a|r|]+0#0000000&| |=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@52
12+
@75
13+
@2|v+0#af5f00255&|a|r| +0#0000000&|[|f+0#00e0e07&|o@1|,+0#0000000&| |b+0#00e0e07&|a|r|;+0#0000000&| |b+0#00e0e07&|a|z|]+0#0000000&| |=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@46
14+
@2|v+0#af5f00255&|a|r| +0#0000000&|[|f+0#00e0e07&|o@1|,+0#0000000&| @63
15+
@8|\+0#e000e06&| +0#0000000&|b+0#00e0e07&|a|r|;+0#0000000&| @60
16+
@8|\+0#e000e06&| +0#0000000&|b+0#00e0e07&|a|z|]+0#0000000&| |=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@53
17+
@2|v+0#af5f00255&|a|r| +0#0000000&|[|$+0#e000e06&|f|o@1|,+0#0000000&| |$+0#e000e06&|b|a|r|;+0#0000000&| |$+0#e000e06&|b|a|z|]+0#0000000&| |=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@43
18+
@2|v+0#af5f00255&|a|r| +0#0000000&|[|$+0#e000e06&|f|o@1|,+0#0000000&| @62
19+
@8|\+0#e000e06&| +0#0000000&|$+0#e000e06&|b|a|r|;+0#0000000&| @59
20+
@57|1|9|,|3| @10|7|%|
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
| +0&#ffffff0@7|\+0#e000e06&| +0#0000000&|$+0#e000e06&|b|a|r|;+0#0000000&| @59
2+
@8|\+0#e000e06&| +0#0000000&|$+0#e000e06&|b|a|z|]+0#0000000&| |=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@52
3+
@75
4+
@2|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|=+0#e000e06&|<@1| |E|N|D| +0#0000000&@57
5+
|.+0#e000002&@2| +0#0000000&@71
6+
>E+0#e000e06&|N|D| +0#0000000&@71
7+
@2|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|=+0#e000e06&|<@1| |t|r|i|m| |E|N|D| +0#0000000&@52
8+
| +0#e000002&@1|.@2| +0#0000000&@69
9+
| +0#e000e06&@1|E|N|D| +0#0000000&@69
10+
@2|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|=+0#e000e06&|<@1| |e|v|a|l| |E|N|D| +0#0000000&@52
11+
|.+0#e000002&@2| +0#0000000&@71
12+
|E+0#e000e06&|N|D| +0#0000000&@71
13+
@2|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|=+0#e000e06&|<@1| |t|r|i|m| |e|v|a|l| |E|N|D| +0#0000000&@47
14+
| +0#e000002&@1|.@2| +0#0000000&@69
15+
| +0#e000e06&@1|E|N|D| +0#0000000&@69
16+
@2|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|=+0#e000e06&|<@1| |e|v|a|l| |t|r|i|m| |E|N|D| +0#0000000&@47
17+
| +0#e000002&@3|.@2| +0#0000000&@67
18+
| +0#e000e06&@1|E|N|D| +0#0000000&@69
19+
@75
20+
@57|3|7|,|1| @9|1|7|%|
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
| +0&#ffffff0@74
2+
| +0#0000e05&@1|#| |A|s@1|i|g|n|m|e|n|t|s| +0#0000000&@59
3+
@75
4+
@1| +0#00e0e07&|f|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@62
5+
@75
6+
@1| +0#00e0e07&>f|o@1|[+0#0000000&|0+0#e000002&|]+0#0000000&| |=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@59
7+
@75
8+
@1| +0#00e0e07&|f|o@1|[+0#0000000&|1+0#e000002&|:+0#0000000&|2+0#e000002&|]+0#0000000&| |=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@57
9+
@1| +0#00e0e07&|f|o@1|[+0#0000000&|:|2+0#e000002&|]+0#0000000&| |=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@58
10+
@1| +0#00e0e07&|f|o@1|[+0#0000000&|1+0#e000002&|:+0#0000000&|]| |=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@58
11+
@1| +0#00e0e07&|f|o@1|[+0#0000000&|:|]| |=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@59
12+
@75
13+
@1| +0#00e0e07&|f|o@1| +0#0000000&|++0#af5f00255&|=| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@61
14+
@1| +0#00e0e07&|f|o@1| +0#0000000&|-+0#af5f00255&|=| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@61
15+
@1| +0#00e0e07&|f|o@1| +0#0000000&|*+0#af5f00255&|=| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@61
16+
@1| +0#00e0e07&|f|o@1| +0#0000000&|/+0#af5f00255&|=| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@61
17+
@1| +0#00e0e07&|f|o@1| +0#0000000&|%+0#af5f00255&|=| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@61
18+
@1| +0#00e0e07&|f|o@1| +0#0000000&|.+0#af5f00255&@1|=| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@60
19+
@75
20+
@57|5@1|,|3| @9|2|7|%|
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
| +0&#ffffff0@74
2+
@2|b+0#00e0e07&|:|f|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@60
3+
@2|g+0#00e0e07&|:|f|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@60
4+
@2|t+0#00e0e07&|:|f|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@60
5+
@2|w+0#00e0e07&|:|f|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@60
6+
> @74
7+
@2|b+0#00e0e07&|:|f|o@1| +0#0000000&|++0#af5f00255&|=| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@59
8+
@2|g+0#00e0e07&|:|f|o@1| +0#0000000&|++0#af5f00255&|=| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@59
9+
@2|t+0#00e0e07&|:|f|o@1| +0#0000000&|++0#af5f00255&|=| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@59
10+
@2|w+0#00e0e07&|:|f|o@1| +0#0000000&|++0#af5f00255&|=| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@59
11+
@75
12+
@2|b+0#00e0e07&|:|f|o@1| +0#0000000&|-+0#af5f00255&|=| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@59
13+
@2|g+0#00e0e07&|:|f|o@1| +0#0000000&|-+0#af5f00255&|=| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@59
14+
@2|t+0#00e0e07&|:|f|o@1| +0#0000000&|-+0#af5f00255&|=| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@59
15+
@2|w+0#00e0e07&|:|f|o@1| +0#0000000&|-+0#af5f00255&|=| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@59
16+
@75
17+
@2|b+0#00e0e07&|:|f|o@1| +0#0000000&|*+0#af5f00255&|=| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@59
18+
@2|g+0#00e0e07&|:|f|o@1| +0#0000000&|*+0#af5f00255&|=| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@59
19+
@2|t+0#00e0e07&|:|f|o@1| +0#0000000&|*+0#af5f00255&|=| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@59
20+
@57|7|3|,|0|-|1| @7|3|7|%|

0 commit comments

Comments
 (0)