runtime(vim): Update base syntax, match :wincmd

Match the full :wincmd command syntax.

Allow for oneline assignment to Vim9 variables named winc[md].

Fixes #18368.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Doug Kearns
2025-09-23 18:24:53 +00:00
committed by Christian Brabandt
parent 8b9e687ea1
commit b1446dfd23
10 changed files with 180 additions and 8 deletions

View File

@ -4,7 +4,7 @@
@75
|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
@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&
@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
@18|\+0#e000e06&| +0#0000000&||| |w+0#af5f00255&|i|n|c|m|d| +0#0000000&|p| ||| |d+0#af5f00255&|i|f@1|t|h|i|s| +0#0000000&@33
|e+0#af5f00255&|n|d|i|f| +0#0000000&@69
@75
@75

View File

@ -8,7 +8,7 @@
@75
|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
@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+0#e000002&|d+0#0000000&|_| ||| |d+0#af5f00255&|i|f@1|t|h|i|s| +0#0000000&@1
@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
@18|\+0#e000e06&| +0#0000000&||| |w+0#af5f00255&|i|n|c|m|d| +0#0000000&|p| ||| |d+0#af5f00255&|i|f@1|t|h|i|s| +0#0000000&@33
|e+0#af5f00255&|n|d|i|f| +0#0000000&@69
@75
@75

View File

@ -0,0 +1,20 @@
>"+0#0000e05#ffffff0| |V|i|m| |:|w|i|n|c|m|d| |c|o|m@1|a|n|d| +0#0000000&@53
|"+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i| |l|i|n|k| |v|i|m|W|i|n|c|m|d|A|r|g| |T|o|d|o| +0#0000000&@32
|"+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i| |l|i|n|k| |v|i|m|C|m|d|S|e|p| |S|p|e|c|i|a|l| +0#0000000&@32
@75
@75
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|s+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|S+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|v+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|n+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|^+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|:+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|q+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|o+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|j+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|k+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|h+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|l+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|w+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|W+0#0000001#ffff4012| +0#0000000#ffffff0@66
@57|1|,|1| @10|T|o|p|

View File

@ -0,0 +1,20 @@
|w+0#af5f00255#ffffff0|i|n|c|m|d| +0#0000000&|j+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|k+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|h+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|l+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|w+0#0000001#ffff4012| +0#0000000#ffffff0@66
>w+0#af5f00255&|i|n|c|m|d| +0#0000000&|W+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|t+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|b+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|p+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|P+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|r+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|R+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|x+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|K+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|J+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|H+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|L+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|T+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|=+0#0000001#ffff4012| +0#0000000#ffffff0@66
@57|1|9|,|1| @9|2|7|%|

View File

@ -0,0 +1,20 @@
|w+0#af5f00255#ffffff0|i|n|c|m|d| +0#0000000&|=+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|-+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|++0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|_+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|<+0#0000001#ffff4012| +0#0000000#ffffff0@66
>w+0#af5f00255&|i|n|c|m|d| +0#0000000&|>+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&||+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|]+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|g+0#0000001#ffff4012| |]| +0#0000000#ffffff0@64
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|f+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|F+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|g+0#0000001#ffff4012|f| +0#0000000#ffffff0@65
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|g+0#0000001#ffff4012|F| +0#0000000#ffffff0@65
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|g+0#0000001#ffff4012|t| +0#0000000#ffffff0@65
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|g+0#0000001#ffff4012|T| +0#0000000#ffffff0@65
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|z+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|}+0#0000001#ffff4012| +0#0000000#ffffff0@66
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|g+0#0000001#ffff4012| |}| +0#0000000#ffffff0@64
@75
@57|3|7|,|1| @9|6|4|%|

View File

@ -0,0 +1,20 @@
| +0&#ffffff0@74
@75
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&||+0#0000001#ffff4012| +0#0000000#ffffff0||+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@53
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&||+0#0000001#ffff4012| +0#0000000#ffffff0|"+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@56
|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|s+0#0000001#ffff4012| +0#0000000#ffffff0||+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@53
>w+0#af5f00255&|i|n|c|m|d| +0#0000000&|s+0#0000001#ffff4012| +0#0000000#ffffff0|"+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@56
@75
@75
|d+0#af5f00255&|e|f| +0#0000000&|V|i|m|9|C|o|n|t|e|x|t|(+0#e000e06&|)| +0#0000000&@57
@2|v+0#af5f00255&|a|r| +0#0000000&|w|i|n|c|m|d| |=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@57
@2|w|i|n|c|m|d| |=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@61
@2|:+0#e000e06&|w+0#af5f00255&|i|n|c|m|d| +0#0000000&|=+0#0000001#ffff4012| +0#0000000#ffffff0@63
@1| +0#af5f00255&|w|i|n|c|m|d| +0#0000000&|=+0#0000001#ffff4012| +0#0000000#ffffff0|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@54
@1| +0#af5f00255&|w|i|n|c|m|d| +0#0000000&|=+0#0000001#ffff4012| +0#0000000#ffffff0||+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@51
@2|#+0#0000e05&| +0#0000000&|K+0#e000e06&|N|O|W|N|:| +0#0000e05&|i|n|c|o|r@1|e|c|t|l|y| |m|a|t|c|h|e|s| |a|s| |t|h|e| |E|x| |c|o|m@1|a|n|d| |r|a|t|h|e|r| |t|h|a|n| |a| |v|a|r|i|a|b|l|e| +0#0000000&@3
@1| +0#af5f00255&|w|i|n|c|m|d| +0#0000000&|=+0#0000001#ffff4012| +0#0000000#ffffff0@64
|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@68
@75
|~+0#4040ff13&| @73
| +0#0000000&@56|5@1|,|1| @9|B|o|t|

View File

@ -0,0 +1,67 @@
" Vim :wincmd command
" VIM_TEST_SETUP hi link vimWincmdArg Todo
" VIM_TEST_SETUP hi link vimCmdSep Special
wincmd s
wincmd S
wincmd v
wincmd n
wincmd ^
wincmd :
wincmd q
wincmd o
wincmd j
wincmd k
wincmd h
wincmd l
wincmd w
wincmd W
wincmd t
wincmd b
wincmd p
wincmd P
wincmd r
wincmd R
wincmd x
wincmd K
wincmd J
wincmd H
wincmd L
wincmd T
wincmd =
wincmd -
wincmd +
wincmd _
wincmd <
wincmd >
wincmd |
wincmd ]
wincmd g ]
wincmd f
wincmd F
wincmd gf
wincmd gF
wincmd gt
wincmd gT
wincmd z
wincmd }
wincmd g }
wincmd | | echo "Foo"
wincmd | " comment
wincmd s | echo "Foo"
wincmd s " comment
def Vim9Context()
var wincmd = 42
wincmd = 42
:wincmd =
wincmd = # comment
wincmd = | echo "Foo"
# KNOWN: incorrectly matches as the Ex command rather than a variable
wincmd =
enddef