runtime(vim): Update base-syntax, match types in Vim9 variable declarations

Match types in Vim9 variable declarations.

Match Vim9 boolean and null literals. These are not matched in all
contexts yet.

related: #15277

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/syntax/testdir/input/vim9_ex_commands.vim b/runtime/syntax/testdir/input/vim9_ex_commands.vim
new file mode 100644
index 0000000..e914cfd
--- /dev/null
+++ b/runtime/syntax/testdir/input/vim9_ex_commands.vim
@@ -0,0 +1,1227 @@
+vim9script
+
+# Vim9 Ex commands
+
+# START NOT MATCHED
+:@
+:@@
+:Next
+:X
+# END NOT MATCHED
+
+:help
+ :help
+: help
+ : help
+
+:2match
+:3match
+:abbreviate
+:abclear
+:aboveleft
+:abstract
+:all
+:amenu
+:anoremenu
+:argadd
+:argdedupe
+:argdelete
+:argdo
+:argedit
+:argglobal
+:arglocal
+:args
+:argument
+:ascii
+:augroup Foo
+:augroup END
+:aunmenu
+:autocmd
+:badd
+:ball
+:balt
+:bdelete
+:behave mswin
+:behave xterm
+:belowright
+:bfirst
+:blast
+:bmodified
+:bnext
+:bNext
+:botright
+:bprevious
+:break
+:breakadd
+:breakdel
+:breaklist
+:brewind
+:browse
+:bufdo
+:buffer
+:buffers
+:bunload
+:bwipeout
+:cabbrev
+:cabclear
+:cabove
+:caddbuffer
+:caddexpr
+:caddfile
+:cafter
+:call
+:catch
+:cbefore
+:cbelow
+:cbottom
+:cbuffer
+:cc
+:cclose
+:cd
+:cdo
+:center
+:cexpr
+:cfdo
+:cfile
+:cfirst
+:cgetbuffer
+:cgetexpr
+:cgetfile
+:changes
+:chdir
+:checkpath
+:checktime
+:chistory
+:class
+:class
+:clast
+:clearjumps
+:clist
+:close
+:cmap
+:cmapclear
+:cmenu
+:cnewer
+:cnext
+:cNext
+:cnfile
+:cNfile
+:cnoreabbrev
+:cnoremap
+:cnoremenu
+:colder
+:colorscheme
+:comclear
+:command
+:compiler
+:confirm
+:const
+:continue
+:copen
+:copy
+:cpfile
+:cprevious
+:cquit
+:crewind
+:cscope
+:cstag
+:cunabbrev
+:cunmap
+:cunmenu
+:cwindow
+:debug
+:debuggreedy
+:def
+:defcompile
+:defcompile
+:defer
+:delcommand
+:delete
+:delfunction
+:delmarks
+:diffget
+:diffoff
+:diffpatch
+:diffput
+:diffsplit
+:diffthis
+:diffupdate
+:digraphs
+:disassemble
+:disassemble
+:display
+:djump
+:dl
+:dlist
+:doautoall
+:doautocmd
+:dp
+:drop
+:dsearch
+:dsplit
+:earlier
+:echo
+:echoconsole
+:echoerr
+:echohl
+:echomsg
+:echon
+:echowindow
+:edit
+:else
+:elseif
+:emenu
+:endclass
+:endclass
+:enddef
+:endenum
+:endfor
+:endfunction
+:endif
+:endinterface
+:endtry
+:endwhile
+:enew
+:enum
+:eval
+:ex
+:execute
+:exit
+:export
+:export
+:exusage
+:file
+:files
+:filetype
+:filter
+:final
+:finally
+:find
+:finish
+:first
+:fixdel
+:fold
+:foldclose
+:folddoclosed
+:folddoopen
+:foldopen
+:for
+:function
+:global/.../
+:goto
+:grep
+:grepadd
+:gui
+:gvim
+:hardcopy
+:help
+:helpclose
+:helpfind
+:helpgrep
+:helptags
+:hide
+:highlight
+:history
+:horizontal
+:iabbrev
+:iabclear
+:if
+:ijump
+:ilist
+:imap
+:imapclear
+:imenu
+:import
+:inoreabbrev
+:inoremap
+:inoremenu
+:interface
+:intro
+:isearch
+:isplit
+:iunabbrev
+:iunmap
+:iunmenu
+:join
+:jumps
+:k
+:keepalt
+:keepjumps
+:keepmarks
+:keeppatterns
+:labove
+:laddbuffer
+:laddexpr
+:laddfile
+:lafter
+:language
+:last
+:later
+:lbefore
+:lbelow
+:lbottom
+:lbuffer
+:lcd
+:lchdir
+:lclose
+:lcscope
+:ldo
+:left
+:leftabove
+:legacy
+:lexpr
+:lfdo
+:lfile
+:lfirst
+:lgetbuffer
+:lgetexpr
+:lgetfile
+:lgrep
+:lgrepadd
+:lhelpgrep
+:lhistory
+:list
+:ll
+:llast
+:llist
+:lmake
+:lmap
+:lmapclear
+:lnewer
+:lnext
+:lNext
+:lnfile
+:lNfile
+:lnoremap
+:loadkeymap
+:loadview
+:lockmarks
+:lockvar
+:lolder
+:lopen
+:lpfile
+:lprevious
+:lrewind
+:ls
+:ltag
+:lua
+:luado
+:luafile
+:lunmap
+:lvimgrep
+:lvimgrepadd
+:lwindow
+:make
+:mapclear
+# requires trailing whitespace to distinguish from map()
+:map
+:mark
+:marks
+:match
+:menu
+:menutranslate
+:messages
+:mkexrc
+:mksession
+:mkspell
+:mkview
+:mkvimrc
+:move
+:mzfile
+:mzscheme
+:nbclose
+:nbkey
+:nbstart
+:new
+:next
+:nmap
+:nmapclear
+:nmenu
+:nnoremap
+:nnoremenu
+:noautocmd
+:nohlsearch
+:noreabbrev
+:noremap
+:noremenu
+:normal
+:noswapfile
+:number
+:nunmap
+:nunmenu
+:oldfiles
+:omap
+:omapclear
+:omenu
+:only
+:onoremap
+:onoremenu
+:options
+:ounmap
+:ounmenu
+:ownsyntax
+:packadd
+:packloadall
+:pclose
+:pedit
+:perl
+:perldo
+:pop
+:popup
+:ppop
+:preserve
+:previous
+:print
+:profdel
+:profile
+:promptfind
+:promptrepl
+:psearch
+:ptag
+:ptfirst
+:ptjump
+:ptlast
+:ptnext
+:ptNext
+:ptprevious
+:ptrewind
+:ptselect
+:public
+:public
+:put
+:pwd
+:py3
+:py3do
+:py3file
+:pydo
+:pyfile
+:python
+:python3
+:pythonx
+:pyx
+:pyxdo
+:pyxfile
+:qall
+:quit
+:quitall
+:read
+:recover
+:redir
+:redo
+:redraw
+:redrawstatus
+:redrawtabline
+:registers
+:resize
+:retab
+:return
+:rewind
+:right
+:rightbelow
+:ruby
+:rubydo
+:rubyfile
+:rundo
+:runtime
+:rviminfo
+:sall
+:sandbox
+:sargument
+:saveas
+:sball
+:sbfirst
+:sblast
+:sbmodified
+:sbnext
+:sbNext
+:sbprevious
+:sbrewind
+:sbuffer
+:scriptencoding
+:scriptnames
+:scriptversion
+:scscope
+:set
+:setfiletype
+:setglobal
+:setlocal
+:sfind
+:sfirst
+:shell
+:sign
+:silent
+:simalt
+:slast
+:sleep
+:sleep!
+:smagic
+:smap
+:smapclear
+:smenu
+:smile
+:snext
+:sNext
+:snomagic
+:snoremap
+:snoremenu
+:sort
+:source
+:spelldump
+:spellgood
+:spellinfo
+:spellrare
+:spellrepall
+:spellundo
+:spellwrong
+:split
+:sprevious
+:srewind
+:stag
+:startgreplace
+:startinsert
+:startreplace
+:static
+:static
+:stjump
+:stop
+:stopinsert
+:stselect
+:substitute
+:sunhide
+:sunmap
+:sunmenu
+:suspend
+:sview
+:swapname
+:syncbind
+:syntax
+:syntime
+:tab
+:tabclose
+:tabdo
+:tabedit
+:tabfind
+:tabfirst
+:tablast
+:tabmove
+:tabnew
+:tabnext
+:tabNext
+:tabonly
+:tabprevious
+:tabrewind
+:tabs
+:tag
+:tags
+:tcd
+:tchdir
+:tcl
+:tcldo
+:tclfile
+:tearoff
+:terminal
+:tfirst
+:throw
+:tjump
+:tlast
+:tlmenu
+:tlnoremenu
+:tlunmenu
+:tmap
+:tmapclear
+:tmenu
+:tnext
+:tNext
+:tnoremap
+:topleft
+:tprevious
+:trewind
+:try
+:tselect
+:tunmap
+:tunmenu
+:type
+:unabbreviate
+:unabbreviate
+:undo
+:undojoin
+:undolist
+:unhide
+:unlockvar
+:unmap
+:unmenu
+:unsilent
+:update
+:var
+:verbose
+:version
+:vertical
+:vglobal/.../
+:view
+:vim9cmd
+# :vim9script
+:vimgrep
+:vimgrepadd
+:visual
+:viusage
+:vmap
+:vmapclear
+:vmenu
+:vnew
+:vnoremap
+:vnoremenu
+:vsplit
+:vunmap
+:vunmenu
+:wall
+:while
+:wincmd
+:windo
+:winpos
+:winsize
+:wnext
+:wNext
+:wprevious
+:wq
+:wqall
+:write
+:wundo
+:wviminfo
+:xall
+:xmap
+:xmapclear
+:xmenu
+:xnoremap
+:xnoremenu
+:xrestore
+:xunmap
+:xunmenu
+:yank
+:z
+
+Foo()|help
+Foo() | help
+Foo() |help
+Foo()| help
+
+Foo() | 2match
+Foo() | 3match
+Foo() | abbreviate
+Foo() | abclear
+Foo() | aboveleft
+Foo() | abstract
+Foo() | all
+Foo() | amenu
+Foo() | anoremenu
+Foo() | argadd
+Foo() | argdedupe
+Foo() | argdelete
+Foo() | argdo
+Foo() | argedit
+Foo() | argglobal
+Foo() | arglocal
+Foo() | args
+Foo() | argument
+Foo() | ascii
+Foo() | augroup Foo | augroup END
+Foo() | aunmenu
+Foo() | autocmd
+Foo() | badd
+Foo() | ball
+Foo() | balt
+Foo() | bdelete
+Foo() | behave mswin
+Foo() | behave xterm
+Foo() | belowright
+Foo() | bfirst
+Foo() | blast
+Foo() | bmodified
+Foo() | bnext
+Foo() | bNext
+Foo() | botright
+Foo() | bprevious
+Foo() | break
+Foo() | breakadd
+Foo() | breakdel
+Foo() | breaklist
+Foo() | brewind
+Foo() | browse
+Foo() | bufdo
+Foo() | buffer
+Foo() | buffers
+Foo() | bunload
+Foo() | bwipeout
+Foo() | cabbrev
+Foo() | cabclear
+Foo() | cabove
+Foo() | caddbuffer
+Foo() | caddexpr
+Foo() | caddfile
+Foo() | cafter
+Foo() | call
+Foo() | catch
+Foo() | cbefore
+Foo() | cbelow
+Foo() | cbottom
+Foo() | cbuffer
+Foo() | cc
+Foo() | cclose
+Foo() | cd
+Foo() | cdo
+Foo() | center
+Foo() | cexpr
+Foo() | cfdo
+Foo() | cfile
+Foo() | cfirst
+Foo() | cgetbuffer
+Foo() | cgetexpr
+Foo() | cgetfile
+Foo() | changes
+Foo() | chdir
+Foo() | checkpath
+Foo() | checktime
+Foo() | chistory
+Foo() | class
+Foo() | class
+Foo() | clast
+Foo() | clearjumps
+Foo() | clist
+Foo() | close
+Foo() | cmap
+Foo() | cmapclear
+Foo() | cmenu
+Foo() | cnewer
+Foo() | cnext
+Foo() | cNext
+Foo() | cnfile
+Foo() | cNfile
+Foo() | cnoreabbrev
+Foo() | cnoremap
+Foo() | cnoremenu
+Foo() | colder
+Foo() | colorscheme
+Foo() | comclear
+Foo() | command
+Foo() | compiler
+Foo() | confirm
+Foo() | const
+Foo() | continue
+Foo() | copen
+Foo() | copy
+Foo() | cpfile
+Foo() | cprevious
+Foo() | cquit
+Foo() | crewind
+Foo() | cscope
+Foo() | cstag
+Foo() | cunabbrev
+Foo() | cunmap
+Foo() | cunmenu
+Foo() | cwindow
+Foo() | debug
+Foo() | debuggreedy
+Foo() | def
+Foo() | defcompile
+Foo() | defcompile
+Foo() | defer
+Foo() | delcommand
+Foo() | delete
+Foo() | delfunction
+Foo() | delmarks
+Foo() | diffget
+Foo() | diffoff
+Foo() | diffpatch
+Foo() | diffput
+Foo() | diffsplit
+Foo() | diffthis
+Foo() | diffupdate
+Foo() | digraphs
+Foo() | disassemble
+Foo() | disassemble
+Foo() | display
+Foo() | djump
+Foo() | dl
+Foo() | dlist
+Foo() | doautoall
+Foo() | doautocmd
+Foo() | dp
+Foo() | drop
+Foo() | dsearch
+Foo() | dsplit
+Foo() | earlier
+Foo() | echo
+Foo() | echoconsole
+Foo() | echoerr
+Foo() | echohl
+Foo() | echomsg
+Foo() | echon
+Foo() | echowindow
+Foo() | edit
+Foo() | else
+Foo() | elseif
+Foo() | emenu
+Foo() | endclass
+Foo() | endclass
+Foo() | enddef
+Foo() | endenum
+Foo() | endfor
+Foo() | endfunction
+Foo() | endif
+Foo() | endinterface
+Foo() | endtry
+Foo() | endwhile
+Foo() | enew
+Foo() | enum
+Foo() | eval
+Foo() | ex
+Foo() | execute
+Foo() | exit
+Foo() | export
+Foo() | export
+Foo() | exusage
+Foo() | file
+Foo() | files
+Foo() | filetype
+Foo() | filter
+Foo() | final
+Foo() | finally
+Foo() | find
+Foo() | finish
+Foo() | first
+Foo() | fixdel
+Foo() | fold
+Foo() | foldclose
+Foo() | folddoclosed
+Foo() | folddoopen
+Foo() | foldopen
+Foo() | for
+Foo() | function
+Foo() | global/.../
+Foo() | goto
+Foo() | grep
+Foo() | grepadd
+Foo() | gui
+Foo() | gvim
+Foo() | hardcopy
+Foo() | help
+Foo() | helpclose
+Foo() | helpfind
+Foo() | helpgrep
+Foo() | helptags
+Foo() | hide
+Foo() | highlight
+Foo() | history
+Foo() | horizontal
+Foo() | iabbrev
+Foo() | iabclear
+Foo() | if
+Foo() | ijump
+Foo() | ilist
+Foo() | imap
+Foo() | imapclear
+Foo() | imenu
+Foo() | import
+Foo() | inoreabbrev
+Foo() | inoremap
+Foo() | inoremenu
+Foo() | interface
+Foo() | intro
+Foo() | isearch
+Foo() | isplit
+Foo() | iunabbrev
+Foo() | iunmap
+Foo() | iunmenu
+Foo() | join
+Foo() | jumps
+Foo() | keepalt
+Foo() | keepjumps
+Foo() | keepmarks
+Foo() | keeppatterns
+Foo() | labove
+Foo() | laddbuffer
+Foo() | laddexpr
+Foo() | laddfile
+Foo() | lafter
+Foo() | language
+Foo() | last
+Foo() | later
+Foo() | lbefore
+Foo() | lbelow
+Foo() | lbottom
+Foo() | lbuffer
+Foo() | lcd
+Foo() | lchdir
+Foo() | lclose
+Foo() | lcscope
+Foo() | ldo
+Foo() | left
+Foo() | leftabove
+Foo() | legacy
+Foo() | lexpr
+Foo() | lfdo
+Foo() | lfile
+Foo() | lfirst
+Foo() | lgetbuffer
+Foo() | lgetexpr
+Foo() | lgetfile
+Foo() | lgrep
+Foo() | lgrepadd
+Foo() | lhelpgrep
+Foo() | lhistory
+Foo() | list
+Foo() | ll
+Foo() | llast
+Foo() | llist
+Foo() | lmake
+Foo() | lmap
+Foo() | lmapclear
+Foo() | lnewer
+Foo() | lnext
+Foo() | lNext
+Foo() | lnfile
+Foo() | lNfile
+Foo() | lnoremap
+Foo() | loadkeymap
+Foo() | loadview
+Foo() | lockmarks
+Foo() | lockvar
+Foo() | lolder
+Foo() | lopen
+Foo() | lpfile
+Foo() | lprevious
+Foo() | lrewind
+Foo() | ls
+Foo() | ltag
+Foo() | lua
+Foo() | luado
+Foo() | luafile
+Foo() | lunmap
+Foo() | lvimgrep
+Foo() | lvimgrepadd
+Foo() | lwindow
+Foo() | make
+Foo() | mark
+Foo() | move
+# requires trailing whitespace to distinguish from map()
+Foo() | map 
+Foo() | mapclear
+Foo() | marks
+Foo() | match
+Foo() | menu
+Foo() | menutranslate
+Foo() | messages
+Foo() | mkexrc
+Foo() | mksession
+Foo() | mkspell
+Foo() | mkview
+Foo() | mkvimrc
+Foo() | mzfile
+Foo() | mzscheme
+Foo() | nbclose
+Foo() | nbkey
+Foo() | nbstart
+Foo() | new
+Foo() | next
+Foo() | nmap
+Foo() | nmapclear
+Foo() | nmenu
+Foo() | nnoremap
+Foo() | nnoremenu
+Foo() | noautocmd
+Foo() | nohlsearch
+Foo() | noreabbrev
+Foo() | noremap
+Foo() | noremenu
+Foo() | normal
+Foo() | noswapfile
+Foo() | number
+Foo() | nunmap
+Foo() | nunmenu
+Foo() | oldfiles
+Foo() | omap
+Foo() | omapclear
+Foo() | omenu
+Foo() | only
+Foo() | onoremap
+Foo() | onoremenu
+Foo() | options
+Foo() | ounmap
+Foo() | ounmenu
+Foo() | ownsyntax
+Foo() | packadd
+Foo() | packloadall
+Foo() | pclose
+Foo() | pedit
+Foo() | perl
+Foo() | perldo
+Foo() | pop
+Foo() | popup
+Foo() | ppop
+Foo() | preserve
+Foo() | previous
+Foo() | print
+Foo() | profdel
+Foo() | profile
+Foo() | promptfind
+Foo() | promptrepl
+Foo() | psearch
+Foo() | ptag
+Foo() | ptfirst
+Foo() | ptjump
+Foo() | ptlast
+Foo() | ptnext
+Foo() | ptNext
+Foo() | ptprevious
+Foo() | ptrewind
+Foo() | ptselect
+Foo() | public
+Foo() | public
+Foo() | put
+Foo() | pwd
+Foo() | py3
+Foo() | py3do
+Foo() | py3file
+Foo() | pydo
+Foo() | pyfile
+Foo() | python
+Foo() | python3
+Foo() | pythonx
+Foo() | pyx
+Foo() | pyxdo
+Foo() | pyxfile
+Foo() | qall
+Foo() | quit
+Foo() | quitall
+Foo() | read
+Foo() | recover
+Foo() | redir
+Foo() | redo
+Foo() | redraw
+Foo() | redrawstatus
+Foo() | redrawtabline
+Foo() | registers
+Foo() | resize
+Foo() | retab
+Foo() | return
+Foo() | rewind
+Foo() | right
+Foo() | rightbelow
+Foo() | ruby
+Foo() | rubydo
+Foo() | rubyfile
+Foo() | rundo
+Foo() | runtime
+Foo() | rviminfo
+Foo() | sall
+Foo() | sandbox
+Foo() | sargument
+Foo() | saveas
+Foo() | sball
+Foo() | sbfirst
+Foo() | sblast
+Foo() | sbmodified
+Foo() | sbnext
+Foo() | sbNext
+Foo() | sbprevious
+Foo() | sbrewind
+Foo() | sbuffer
+Foo() | scriptencoding
+Foo() | scriptnames
+Foo() | scriptversion
+Foo() | scscope
+Foo() | set
+Foo() | setfiletype
+Foo() | setglobal
+Foo() | setlocal
+Foo() | sfind
+Foo() | sfirst
+Foo() | shell
+Foo() | sign
+Foo() | silent
+Foo() | simalt
+Foo() | slast
+Foo() | sleep
+Foo() | sleep!
+Foo() | smagic
+Foo() | smap
+Foo() | smapclear
+Foo() | smenu
+Foo() | smile
+Foo() | snext
+Foo() | sNext
+Foo() | snomagic
+Foo() | snoremap
+Foo() | snoremenu
+Foo() | sort
+Foo() | source
+Foo() | spelldump
+Foo() | spellgood
+Foo() | spellinfo
+Foo() | spellrare
+Foo() | spellrepall
+Foo() | spellundo
+Foo() | spellwrong
+Foo() | split
+Foo() | sprevious
+Foo() | srewind
+Foo() | stag
+Foo() | startgreplace
+Foo() | startinsert
+Foo() | startreplace
+Foo() | static
+Foo() | static
+Foo() | stjump
+Foo() | stop
+Foo() | stopinsert
+Foo() | stselect
+Foo() | substitute
+Foo() | sunhide
+Foo() | sunmap
+Foo() | sunmenu
+Foo() | suspend
+Foo() | sview
+Foo() | swapname
+Foo() | syncbind
+Foo() | syntax
+Foo() | syntime
+Foo() | tab
+Foo() | tabclose
+Foo() | tabdo
+Foo() | tabedit
+Foo() | tabfind
+Foo() | tabfirst
+Foo() | tablast
+Foo() | tabmove
+Foo() | tabnew
+Foo() | tabnext
+Foo() | tabNext
+Foo() | tabonly
+Foo() | tabprevious
+Foo() | tabrewind
+Foo() | tabs
+Foo() | tag
+Foo() | tags
+Foo() | tcd
+Foo() | tchdir
+Foo() | tcl
+Foo() | tcldo
+Foo() | tclfile
+Foo() | tearoff
+Foo() | terminal
+Foo() | tfirst
+Foo() | throw
+Foo() | tjump
+Foo() | tlast
+Foo() | tlmenu
+Foo() | tlnoremenu
+Foo() | tlunmenu
+Foo() | tmap
+Foo() | tmapclear
+Foo() | tmenu
+Foo() | tnext
+Foo() | tNext
+Foo() | tnoremap
+Foo() | topleft
+Foo() | tprevious
+Foo() | trewind
+Foo() | try
+Foo() | tselect
+Foo() | tunmap
+Foo() | tunmenu
+Foo() | type
+Foo() | unabbreviate
+Foo() | unabbreviate
+Foo() | undo
+Foo() | undojoin
+Foo() | undolist
+Foo() | unhide
+Foo() | unlockvar
+Foo() | unmap
+Foo() | unmenu
+Foo() | unsilent
+Foo() | update
+Foo() | var
+Foo() | verbose
+Foo() | version
+Foo() | vertical
+Foo() | vglobal/.../
+Foo() | vim9cmd
+# call Foo() | vim9script
+Foo() | vimgrep
+Foo() | vimgrepadd
+Foo() | visual
+Foo() | viusage
+Foo() | view
+Foo() | vmap
+Foo() | vmapclear
+Foo() | vmenu
+Foo() | vnew
+Foo() | vnoremap
+Foo() | vnoremenu
+Foo() | vsplit
+Foo() | vunmap
+Foo() | vunmenu
+Foo() | windo
+Foo() | write
+Foo() | wNext
+Foo() | wall
+Foo() | while
+Foo() | winsize
+Foo() | wincmd
+Foo() | winpos
+Foo() | wnext
+Foo() | wprevious
+Foo() | wq
+Foo() | wqall
+Foo() | wundo
+Foo() | wviminfo
+Foo() | xall
+Foo() | xmapclear
+Foo() | xmap
+Foo() | xmenu
+Foo() | xrestore
+Foo() | xnoremap
+Foo() | xnoremenu
+Foo() | xunmap
+Foo() | xunmenu
+Foo() | yank
+Foo() | z
+
+
+# Legacy-script only
+
+:Print
+:append
+    text
+.
+:change
+    text
+.
+:insert
+    text
+.
+:k
+:let
+:mode
+:open
+:t
+:unlet
+:xit
+
+Foo() | append
+    text
+.
+Foo() | change
+    text
+.
+Foo() | insert
+    text
+.
+Foo() | k
+Foo() | let
+Foo() | mode
+Foo() | open
+Foo() | t
+Foo() | unlet
+Foo() | xit
+
diff --git a/runtime/syntax/testdir/input/vim9_keymap.vim b/runtime/syntax/testdir/input/vim9_keymap.vim
index a69b723..1c59e56 100644
--- a/runtime/syntax/testdir/input/vim9_keymap.vim
+++ b/runtime/syntax/testdir/input/vim9_keymap.vim
@@ -4,7 +4,7 @@
 
 scriptencoding utf-8
 
-let b:keymap_name = "syntax-test"
+b:keymap_name = "syntax-test"
 
 loadkeymap
 
diff --git a/runtime/syntax/testdir/input/vim_ex_commands.vim b/runtime/syntax/testdir/input/vim_ex_commands.vim
index aaa351b..7248453 100644
--- a/runtime/syntax/testdir/input/vim_ex_commands.vim
+++ b/runtime/syntax/testdir/input/vim_ex_commands.vim
@@ -98,7 +98,6 @@
 :checkpath
 :checktime
 :chistory
-:class
 :clast
 :clearjumps
 :clist
@@ -172,7 +171,6 @@
 :else
 :elseif
 :emenu
-:endclass
 :enddef
 :endif
 :endfor
@@ -184,7 +182,6 @@
 :ex
 :execute
 :exit
-:export
 :exusage
 :file
 :files
@@ -553,12 +550,10 @@
 :unsilent
 :update
 :vglobal/.../
-:var
 :version
 :verbose
 :vertical
 :vim9cmd
-" :vim9script
 :vimgrep
 :vimgrepadd
 :visual
@@ -691,7 +686,6 @@
 call Foo() | checkpath
 call Foo() | checktime
 call Foo() | chistory
-call Foo() | class
 call Foo() | clast
 call Foo() | clearjumps
 call Foo() | clist
@@ -765,7 +759,6 @@
 call Foo() | else
 call Foo() | elseif
 call Foo() | emenu
-call Foo() | endclass
 call Foo() | enddef
 call Foo() | endif
 call Foo() | endfor
@@ -777,7 +770,6 @@
 call Foo() | ex
 call Foo() | execute
 call Foo() | exit
-call Foo() | export
 call Foo() | exusage
 call Foo() | file
 call Foo() | files
@@ -1147,12 +1139,10 @@
 call Foo() | unsilent
 call Foo() | update
 call Foo() | vglobal/.../
-call Foo() | var
 call Foo() | version
 call Foo() | verbose
 call Foo() | vertical
 call Foo() | vim9cmd
-" call Foo() | vim9script
 call Foo() | vimgrep
 call Foo() | vimgrepadd
 call Foo() | visual
@@ -1193,3 +1183,39 @@
 call Foo() | xunmenu
 call Foo() | yank
 call Foo() | z
+
+
+" Vim9-script only
+
+:abstract
+:class
+:defcompile
+:disassemble
+:endclass
+:endinterface
+:endenum
+:enum
+:export
+:final
+:interface
+:public
+:static
+:type
+:var
+
+Foo() | abstract
+Foo() | class
+Foo() | defcompile
+Foo() | disassemble
+Foo() | endclass
+Foo() | endenum
+Foo() | endinterface
+Foo() | enum
+Foo() | export
+Foo() | final
+Foo() | interface
+Foo() | public
+Foo() | static
+Foo() | type
+Foo() | var
+