0
0
mirror of https://github.com/vim/vim.git synced 2025-09-25 03:54:15 -04:00

runtime(vim): Update base-syntax, improve :command highlighting

- Match multiline :command definitions.
- Match custom completion funcref var names.

fixes: #17001
closes: #17067

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Doug Kearns
2025-04-08 20:50:00 +02:00
committed by Christian Brabandt
parent 0b540c6f38
commit 520a2c7852
13 changed files with 351 additions and 147 deletions

View File

@@ -1,4 +1,6 @@
" Vim :command, :delcommand and :comclear commands
" VIM_TEST_SETUP highlight link vimUserCmdName Todo
" VIM_TEST_SETUP highlight link vimDelcommandName Todo
" list
@@ -6,10 +8,12 @@
command
command F
" define
command Foo echo "Foo"
command! Foo echo "Foo"
command! Foo echo "Foo" | echo "Bar"
command! Foo {
@@ -18,11 +22,27 @@ command! Foo {
echo "Baz"
}
command! -addr=arguments -bang -bar -buffer -complete=arglist -count=1 -keepscript -nargs=* -range=% -register Foo echo "Foo"
command! -addr=arguments -bang -bar -buffer -complete=arglist -count=1 -keepscript -nargs=* -range=% -register Foo
\ echo "Foo"
command! -complete=custom,Completer1 Foo echo "Foo"
command! -complete=customlist,Completer2 Foo echo "Foo"
command! -addr=arguments -bang -bar -buffer -complete=arglist -count=1 -keepscript -nargs=* -range=% -register
\ Foo
\ echo "Foo"
command! -addr=arguments -bang -bar -buffer -complete=arglist -count=1 -keepscript -nargs=* -range=% -register Foo
"\ comment
\ echo "Foo"
command! -addr=arguments -bang -bar -buffer -complete=arglist -count=1 -keepscript -nargs=* -range=% -register
"\ comment
\ Foo
"\ comment
\ echo "Foo"
command! -complete=custom,s:Completer1 Foo echo "Foo"
command! -complete=customlist,s:Completer2 Foo echo "Foo"
function Foo()
command! Foo echo "Foo (defined in :function)"
@@ -32,43 +52,93 @@ def Foo2()
command! Foo echo "Foo (defined in :def)"
enddef
" multiline define
" command!
" \ -addr=lines
" \ -bang
" \ -bar
" \ -buffer
" \ -complete=buffer
" \ -count
" \ -nargs=*
" \ -range
" \ -register
" \ -keepscript
" \ Foo
" \ echo "FOO"
command! -addr=lines
\ -bang
\ -bar
\ -buffer
\ -complete=buffer
\ -count
\ -nargs=*
\ -range
\ -register
\ -keepscript
\ Foo
\ echo "Foo" |
\ echo "Bar"
command!
\ -addr=lines
\ -bang
\ -bar
\ -buffer
\ -complete=buffer
\ -count
\ -nargs=*
\ -range
\ -register
\ -keepscript
\ Foo
\ echo "Foo" |
\ echo "Bar"
command!
"\ comment
\ -addr=lines
\ -bang
"\ comment
"\ comment
\ -bar
\ -buffer
"\ comment
\ -complete=buffer
"\ comment
\ -count
"\ comment
\ -nargs=*
"\ comment
\ -range
"\ comment
\ -register
"\ comment
\ -keepscript
"\ comment
\ Foo
"\ comment
\ echo "Foo" |
"\ comment
\ echo "Bar"
" errors
command! -badattr=arguments -bang -badattr -nargs=* Foo echo "Foo"
" delete
delcommand Foo
delcommand -buffer Foo
delcommand Foo | echo "..."
delcommand -buffer Foo | echo "..."
delcommand Foo | echo "Foo"
delcommand -buffer Foo | echo "Foo"
delcommand Foo " comment
delcommand -buffer Foo " comment
comclear
comclear " comment
comclear | echo "..."
comclear | echo "Foo"
" Issue #14135
" Issue #14135 (vim.vim syntax highlighting broken wrt system())
com Foo call system('ls')
" Issue #17001 (Wrong vimUserCmdAttrError highlighting in vim.vim)
command! -bang -nargs=* -complete=file Make AsyncRun -program=make @ <args>