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,7 +1,7 @@
" Vim syntax file generator
" Language: Vim script
" Maintainer: Hirohito Higashi (h_east)
" Last Change: 2025 Mar 09
" Last Change: 2025 Apr 06
let s:keepcpo= &cpo
set cpo&vim
@ -734,9 +734,9 @@ function s:update_syntax_vim_file(vim_info)
let lnum = s:search_and_check('vimVarName', base_fname, str_info)
let lnum = s:append_syn_any(lnum, str_info, li)
" vimUserAttrbCmplt
" vimUserAttrComplete
let li = a:vim_info.compl_name
let lnum = s:search_and_check('vimUserCmdAttrCmplt', base_fname, str_info)
let lnum = s:search_and_check('vimUserCmdAttrComplete', base_fname, str_info)
let lnum = s:append_syn_any(lnum, str_info, li)
" vimUserAttrbAddr

View File

@ -2,7 +2,7 @@
" Language: Vim script
" Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com>
" Doug Kearns <dougkearns@gmail.com>
" Last Change: 2025 Apr 05
" Last Change: 2025 Apr 06
" Former Maintainer: Charles E. Campbell
" DO NOT CHANGE DIRECTLY.
@ -614,22 +614,30 @@ syn match vimSpecFileMod "\(:[phtre]\)\+" contained
" User-Specified Commands: {{{2
" =======================
syn cluster vimUserCmdList contains=@vimCmdList,vimCmplxRepeat,@vimComment,vimCtrlChar,vimEscapeBrace,vimFunc,vimNotation,vimNumber,vimOper,vimRegister,vimSpecFile,vimString,vimSubst,vimSubstRep,vimSubstRange
syn keyword vimUserCmdKey contained com[mand]
syn match vimUserCmdName contained "\<\u[[:alnum:]]*\>" skipwhite nextgroup=vimUserCmdBlock
syn match vimUserCmd "\<com\%[mand]\>!\=.*$" contains=vimUserCmdKey,vimBang,vimUserCmdAttr,vimUserCmdAttrError,vimUserCmdName,@vimUserCmdList,vimComFilter
syn match vimUserCmdAttrError contained "-\a\+\ze\%(\s\|=\)"
syn match vimUserCmdAttr contained "-addr=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrAddr
syn match vimUserCmdAttr contained "-bang\>" contains=vimUserCmdAttrKey
syn match vimUserCmdAttr contained "-bar\>" contains=vimUserCmdAttrKey
syn match vimUserCmdAttr contained "-buffer\>" contains=vimUserCmdAttrKey
syn match vimUserCmdAttr contained "-complete=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrCmplt,vimUserCmdError
syn match vimUserCmdAttr contained "-count\>" contains=vimUserCmdAttrKey
syn match vimUserCmdAttr contained "-count=" contains=vimUserCmdAttrKey nextgroup=vimNumber
syn match vimUserCmdAttr contained "-keepscript\>" contains=vimUserCmdAttrKey
syn match vimUserCmdAttr contained "-nargs=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrNargs
syn match vimUserCmdAttr contained "-range\>" contains=vimUserCmdAttrKey
syn match vimUserCmdAttr contained "-range=" contains=vimUserCmdAttrKey nextgroup=vimNumber,vimUserCmdAttrRange
syn match vimUserCmdAttr contained "-register\>" contains=vimUserCmdAttrKey
syn match vimUserCmd "\<com\%[mand]\>!\=" skipwhite nextgroup=vimUserCmdAttrs,vimUserCmdName contains=vimBang
syn match vimUserCmd +\<com\%[mand]\>!\=\ze\s*\n\s*\%(\\\|["#]\\ \)+ skipwhite skipnl nextgroup=vimUserCmdAttrs,vimUserCmdName contains=vimBang
syn region vimUserCmdAttrs contained
\ start="-\l"
\ start=+^\s*\%(\\\|["#]\\ \)+
\ end="\ze\s\u"
\ skipwhite nextgroup=vimUserCmdName
\ contains=@vimContinue,vimUserCmdAttr,vimUserCmdAttrError
\ transparent
syn match vimUserCmdAttrError contained "-\a\+\ze\%(\s\|=\)"
syn match vimUserCmdAttr contained "-addr=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrAddr
syn match vimUserCmdAttr contained "-bang\>" contains=vimUserCmdAttrKey
syn match vimUserCmdAttr contained "-bar\>" contains=vimUserCmdAttrKey
syn match vimUserCmdAttr contained "-buffer\>" contains=vimUserCmdAttrKey
syn match vimUserCmdAttr contained "-complete=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrComplete,vimUserCmdError
syn match vimUserCmdAttr contained "-count\>" contains=vimUserCmdAttrKey
syn match vimUserCmdAttr contained "-count=" contains=vimUserCmdAttrKey nextgroup=vimNumber
syn match vimUserCmdAttr contained "-keepscript\>" contains=vimUserCmdAttrKey
syn match vimUserCmdAttr contained "-nargs=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrNargs
syn match vimUserCmdAttr contained "-range\>" contains=vimUserCmdAttrKey
syn match vimUserCmdAttr contained "-range=" contains=vimUserCmdAttrKey nextgroup=vimNumber,vimUserCmdAttrRange
syn match vimUserCmdAttr contained "-register\>" contains=vimUserCmdAttrKey
syn match vimUserCmdAttrNargs contained "[01*?+]"
syn match vimUserCmdAttrRange contained "%"
@ -640,17 +648,34 @@ endif
syn case ignore
syn keyword vimUserCmdAttrKey contained a[ddr] ban[g] bar bu[ffer] com[plete] cou[nt] k[eepscript] n[args] ra[nge] re[gister]
" GEN_SYN_VIM: vimUserCmdAttrCmplt, START_STR='syn keyword vimUserCmdAttrCmplt contained', END_STR=''
syn keyword vimUserCmdAttrCmplt contained custom customlist nextgroup=vimUserCmdAttrCmpltFunc,vimUserCmdError
syn match vimUserCmdAttrCmpltFunc contained ",\%([sS]:\|<[sS][iI][dD]>\)\=\%(\h\w*\%([.#]\h\w*\)\+\|\h\w*\)"hs=s+1 nextgroup=vimUserCmdError
" GEN_SYN_VIM: vimUserCmdAttrComplete, START_STR='syn keyword vimUserCmdAttrComplete contained', END_STR=''
syn keyword vimUserCmdAttrComplete contained arglist augroup behave breakpoint buffer color command compiler cscope diff_buffer dir dir_in_path environment event expression file file_in_path filetype function help highlight history keymap locale mapclear mapping menu messages option packadd runtime scriptnames shellcmd shellcmdline sign syntax syntime tag tag_listfiles user var
syn keyword vimUserCmdAttrComplete contained custom customlist nextgroup=vimUserCmdAttrCompleteFunc,vimUserCmdError
syn match vimUserCmdAttrCompleteFunc contained ",\%([bwglstav]:\|<[sS][iI][dD]>\)\=\h\w*\%([.#]\h\w*\)*"hs=s+1 nextgroup=vimUserCmdError contains=vimVarScope,vimFuncSID
" GEN_SYN_VIM: vimUserCmdAttrAddr, START_STR='syn keyword vimUserCmdAttrAddr contained', END_STR=''
syn match vimUserCmdAttrAddr contained "?"
syn keyword vimUserCmdAttrAddr contained arguments arg buffers buf lines line loaded_buffers load other quickfix qf tabs tab windows win
syn match vimUserCmdAttrAddr contained "?"
syn case match
syn region vimUserCmdBlock contained matchgroup=vimSep start="{" end="^\s*\zs}" contains=@vimDefBodyList
syn match vimUserCmdName contained "\<\u[[:alnum:]]*\>" skipwhite nextgroup=vimUserCmdBlock,vimUserCmdReplacement
syn match vimUserCmdName contained +\<\u[[:alnum:]]*\>\ze\s*\n\s*\%(\\\|["#]\\ \)+ skipwhite skipnl nextgroup=vimUserCmdBlock,vimUserCmdReplacement
syn region vimUserCmdReplacement contained
\ start="\S"
\ start=+^\s*\%(\\\|["#]\\ \)+
\ skip=+\n\s*\%(\\\|["#]\\ \)+
\ end="$"
\ contains=@vimContinue,@vimUserCmdList,vimComFilter
syn region vimUserCmdBlock contained
\ matchgroup=vimSep
\ start="{"
\ end="^\s*\zs}"
\ contains=@vimDefBodyList
syn match vimDelcommand "\<delc\%[ommand]\>" skipwhite nextgroup=vimDelcommandAttr
syn match vimDelcommandAttr contained "-buffer\>"
syn match vimDelcommand "\<delc\%[ommand]\>" skipwhite nextgroup=vimDelcommandAttr,vimDelcommandName
syn match vimDelcommandAttr contained "-buffer\>" skipwhite nextgroup=vimDelcommandName
syn match vimDelcommandName contained "\<\u[[:alnum:]]*\>"
" Lower Priority Comments: after some vim commands... {{{2
" =======================
@ -1729,8 +1754,10 @@ if !exists("skip_vim_syntax_inits")
hi def link vimUnlet vimCommand
hi def link vimUnletBang vimBang
hi def link vimUnmap vimMap
hi def link vimUserCmd vimCommand
hi def link vimUserCmdAttrAddr vimSpecial
hi def link vimUserCmdAttrCmplt vimSpecial
hi def link vimUserCmdAttrComplete vimSpecial
hi def link vimUserCmdAttrCompleteFunc vimVar
hi def link vimUserCmdAttrNargs vimSpecial
hi def link vimUserCmdAttrRange vimSpecial
hi def link vimUserCmdAttrKey vimUserCmdAttr

View File

@ -1,20 +1,20 @@
>"+0#0000e05#ffffff0| |V|i|m| |:|c|o|m@1|a|n|d|,| |:|d|e|l|c|o|m@1|a|n|d| |a|n|d| |:|c|o|m|c|l|e|a|r| |c|o|m@1|a|n|d|s| +0#0000000&@24
|"+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i|g|h|l|i|g|h|t| |l|i|n|k| |v|i|m|U|s|e|r|C|m|d|N|a|m|e| |T|o|d|o| +0#0000000&@23
|"+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i|g|h|l|i|g|h|t| |l|i|n|k| |v|i|m|D|e|l|c|o|m@1|a|n|d|N|a|m|e| |T|o|d|o| +0#0000000&@20
@75
@75
|"+0#0000e05&| |l|i|s|t| +0#0000000&@68
@75
|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&@67
|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&|F| @65
|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&|F+0#0000001#ffff4012| +0#0000000#ffffff0@65
@75
@75
|"+0#0000e05&| |d|e|f|i|n|e| +0#0000000&@66
@75
|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&@1|F|o@1| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@51
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|F|o@1| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@51
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|F|o@1| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@38
|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&@1|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@51
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@51
@75
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|F|o@1| |{+0#e000e06&| +0#0000000&@60
@2|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@62
@2|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@62
@2|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|z|"| +0#0000000&@62
|}+0#e000e06&| +0#0000000&@73
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@38
@75
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|{+0#e000e06&| +0#0000000&@60
@57|1|,|1| @10|T|o|p|

View File

@ -1,20 +1,20 @@
| +0&#ffffff0@74
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|F|o@1| |{+0#e000e06&| +0#0000000&@60
|c+0#af5f00255#ffffff0|o|m@1|a|n|d| +0#0000000&@1|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@51
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@51
@75
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@38
@75
>c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|{+0#e000e06&| +0#0000000&@60
@2|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@62
@2|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@62
@2|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|z|"| +0#0000000&@62
>}+0#e000e06&| +0#0000000&@73
|}+0#e000e06&| +0#0000000&@73
@75
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|-+0#e000e06&|a|d@1|r|=|a+0#00e0003&|r|g|u|m|e|n|t|s| +0#0000000&|-+0#e000e06&|b|a|n|g| +0#0000000&|-+0#e000e06&|b|a|r| +0#0000000&|-+0#e000e06&|b|u|f@1|e|r| +0#0000000&|-+0#e000e06&|c|o|m|p|l|e|t|e|=|a+0#00e0003&|r|g|l|i|s|t| +0#0000000&|-+0#e000e06&|c|o|u|n|t|=|1+0#e000002&| +0#0000000&|-+0#e000e06&|k|e@1
|p|s|c|r|i|p|t| +0#0000000&|-+0#e000e06&|n|a|r|g|s|=|*+0#00e0003&| +0#0000000&|-+0#e000e06&|r|a|n|g|e|=|%+0#00e0003&| +0#0000000&|-+0#e000e06&|r|e|g|i|s|t|e|r| +0#0000000&|F|o@1| @35
|p|s|c|r|i|p|t| +0#0000000&|-+0#e000e06&|n|a|r|g|s|=|*+0#00e0003&| +0#0000000&|-+0#e000e06&|r|a|n|g|e|=|%+0#00e0003&| +0#0000000&|-+0#e000e06&|r|e|g|i|s|t|e|r| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@24
@75
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|-+0#e000e06&|a|d@1|r|=|a+0#00e0003&|r|g|u|m|e|n|t|s| +0#0000000&|-+0#e000e06&|b|a|n|g| +0#0000000&|-+0#e000e06&|b|a|r| +0#0000000&|-+0#e000e06&|b|u|f@1|e|r| +0#0000000&|-+0#e000e06&|c|o|m|p|l|e|t|e|=|a+0#00e0003&|r|g|l|i|s|t| +0#0000000&|-+0#e000e06&|c|o|u|n|t|=|1+0#e000002&| +0#0000000&|-+0#e000e06&|k|e@1
|p|s|c|r|i|p|t| +0#0000000&|-+0#e000e06&|n|a|r|g|s|=|*+0#00e0003&| +0#0000000&|-+0#e000e06&|r|a|n|g|e|=|%+0#00e0003&| +0#0000000&|-+0#e000e06&|r|e|g|i|s|t|e|r| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0@35
@6|\+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@56
@75
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|-+0#e000e06&|c|o|m|p|l|e|t|e|=|c+0#00e0003&|u|s|t|o|m|,+0#0000000&|C|o|m|p|l|e|t|e|r|1| |F|o@1| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@23
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|-+0#e000e06&|c|o|m|p|l|e|t|e|=|c+0#00e0003&|u|s|t|o|m|l|i|s|t|,+0#0000000&|C|o|m|p|l|e|t|e|r|2| |F|o@1| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@19
@75
|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@60
@2|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|F|o@1| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1| |(|d|e|f|i|n|e|d| |i|n| |:|f|u|n|c|t|i|o|n|)|"| +0#0000000&@26
|e+0#af5f00255&|n|d|f|u|n|c|t|i|o|n| +0#0000000&@63
@75
|d+0#af5f00255&|e|f| +0#0000000&|F|o@1|2|(+0#e000e06&|)| +0#0000000&@64
@57|1|9|,|1| @9|2|3|%|
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|-+0#e000e06&|a|d@1|r|=|a+0#00e0003&|r|g|u|m|e|n|t|s| +0#0000000&|-+0#e000e06&|b|a|n|g| +0#0000000&|-+0#e000e06&|b|a|r| +0#0000000&|-+0#e000e06&|b|u|f@1|e|r| +0#0000000&|-+0#e000e06&|c|o|m|p|l|e|t|e|=|a+0#00e0003&|r|g|l|i|s|t| +0#0000000&|-+0#e000e06&|c|o|u|n|t|=|1+0#e000002&| +0#0000000&|-+0#e000e06&|@+0#4040ff13&@2
| +0#0000000&@56|1|9|,|1| @9|1|0|%|

View File

@ -1,20 +1,20 @@
|d+0#af5f00255#ffffff0|e|f| +0#0000000&|F|o@1|2|(+0#e000e06&|)| +0#0000000&@64
@2|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|F|o@1| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1| |(|d|e|f|i|n|e|d| |i|n| |:|d|e|f|)|"| +0#0000000&@31
|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@68
|c+0#af5f00255#ffffff0|o|m@1|a|n|d|!| +0#0000000&|-+0#e000e06&|a|d@1|r|=|a+0#00e0003&|r|g|u|m|e|n|t|s| +0#0000000&|-+0#e000e06&|b|a|n|g| +0#0000000&|-+0#e000e06&|b|a|r| +0#0000000&|-+0#e000e06&|b|u|f@1|e|r| +0#0000000&|-+0#e000e06&|c|o|m|p|l|e|t|e|=|a+0#00e0003&|r|g|l|i|s|t| +0#0000000&|-+0#e000e06&|c|o|u|n|t|=|1+0#e000002&| +0#0000000&|-+0#e000e06&|k|e@1
|p|s|c|r|i|p|t| +0#0000000&|-+0#e000e06&|n|a|r|g|s|=|*+0#00e0003&| +0#0000000&|-+0#e000e06&|r|a|n|g|e|=|%+0#00e0003&| +0#0000000&|-+0#e000e06&|r|e|g|i|s|t|e|r| +0#0000000&@39
@6|\+0#e000e06&| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0@63
@6|\+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@56
@75
|"+0#0000e05&| |m|u|l|t|i|l|i|n|e| |d|e|f|i|n|e| +0#0000000&@56
> @74
|"+0#0000e05&| |c|o|m@1|a|n|d|!| +0#0000000&@64
|"+0#0000e05&| @6|\| |-|a|d@1|r|=|l|i|n|e|s| +0#0000000&@53
|"+0#0000e05&| @6|\| |-|b|a|n|g| +0#0000000&@59
|"+0#0000e05&| @6|\| |-|b|a|r| +0#0000000&@60
|"+0#0000e05&| @6|\| |-|b|u|f@1|e|r| +0#0000000&@57
|"+0#0000e05&| @6|\| |-|c|o|m|p|l|e|t|e|=|b|u|f@1|e|r| +0#0000000&@48
|"+0#0000e05&| @6|\| |-|c|o|u|n|t| +0#0000000&@58
|"+0#0000e05&| @6|\| |-|n|a|r|g|s|=|*| +0#0000000&@56
|"+0#0000e05&| @6|\| |-|r|a|n|g|e| +0#0000000&@58
|"+0#0000e05&| @6|\| |-|r|e|g|i|s|t|e|r| +0#0000000&@55
|"+0#0000e05&| @6|\| |-|k|e@1|p|s|c|r|i|p|t| +0#0000000&@53
|"+0#0000e05&| @6|\| |F|o@1| | +0#0000000&@60
|"+0#0000e05&| @6|\| |e|c|h|o| |"+0#e000002&|F|O@1|"| +0#0000000&@54
@57|3|6|,|0|-|1| @7|5|4|%|
>c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|-+0#e000e06&|a|d@1|r|=|a+0#00e0003&|r|g|u|m|e|n|t|s| +0#0000000&|-+0#e000e06&|b|a|n|g| +0#0000000&|-+0#e000e06&|b|a|r| +0#0000000&|-+0#e000e06&|b|u|f@1|e|r| +0#0000000&|-+0#e000e06&|c|o|m|p|l|e|t|e|=|a+0#00e0003&|r|g|l|i|s|t| +0#0000000&|-+0#e000e06&|c|o|u|n|t|=|1+0#e000002&| +0#0000000&|-+0#e000e06&|k|e@1
|p|s|c|r|i|p|t| +0#0000000&|-+0#e000e06&|n|a|r|g|s|=|*+0#00e0003&| +0#0000000&|-+0#e000e06&|r|a|n|g|e|=|%+0#00e0003&| +0#0000000&|-+0#e000e06&|r|e|g|i|s|t|e|r| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0@35
@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@56
@75
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|-+0#e000e06&|a|d@1|r|=|a+0#00e0003&|r|g|u|m|e|n|t|s| +0#0000000&|-+0#e000e06&|b|a|n|g| +0#0000000&|-+0#e000e06&|b|a|r| +0#0000000&|-+0#e000e06&|b|u|f@1|e|r| +0#0000000&|-+0#e000e06&|c|o|m|p|l|e|t|e|=|a+0#00e0003&|r|g|l|i|s|t| +0#0000000&|-+0#e000e06&|c|o|u|n|t|=|1+0#e000002&| +0#0000000&|-+0#e000e06&|k|e@1
|p|s|c|r|i|p|t| +0#0000000&|-+0#e000e06&|n|a|r|g|s|=|*+0#00e0003&| +0#0000000&|-+0#e000e06&|r|a|n|g|e|=|%+0#00e0003&| +0#0000000&|-+0#e000e06&|r|e|g|i|s|t|e|r| +0#0000000&@39
@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0@63
@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@56
@75
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|-+0#e000e06&|c|o|m|p|l|e|t|e|=|c+0#00e0003&|u|s|t|o|m|,+0#0000000&|s+0#00e0e07&|:|C|o|m|p|l|e|t|e|r|1| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@21
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|-+0#e000e06&|c|o|m|p|l|e|t|e|=|c+0#00e0003&|u|s|t|o|m|l|i|s|t|,+0#0000000&|s+0#00e0e07&|:|C|o|m|p|l|e|t|e|r|2| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@17
@57|3|4|,|1| @9|2@1|%|

View File

@ -1,20 +1,20 @@
|"+0#0000e05#ffffff0| @6|\| |e|c|h|o| |"+0#e000002&|F|O@1|"| +0#0000000&@54
|c+0#af5f00255#ffffff0|o|m@1|a|n|d|!| +0#0000000&|-+0#e000e06&|c|o|m|p|l|e|t|e|=|c+0#00e0003&|u|s|t|o|m|l|i|s|t|,+0#0000000&|s+0#00e0e07&|:|C|o|m|p|l|e|t|e|r|2| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@17
@75
|"+0#0000e05&| |e|r@1|o|r|s| +0#0000000&@66
@75
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|-+0#ffffff16#ff404010|b|a|d|a|t@1|r|=+0#af5f00255#ffffff0|a+0#00e0e07&|r|g|u|m|e|n|t|s| +0#0000000&|-+0#e000e06&|b|a|n|g| +0#0000000&|-+0#ffffff16#ff404010|b|a|d|a|t@1|r| +0#0000000#ffffff0|-+0#e000e06&|n|a|r|g|s|=|*+0#00e0003&| +0#0000000&|F|o@1| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@8
|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@60
@2|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1| |(|d|e|f|i|n|e|d| |i|n| |:|f|u|n|c|t|i|o|n|)|"| +0#0000000&@26
|e+0#af5f00255&|n|d|f|u|n|c|t|i|o|n| +0#0000000&@63
> @74
|"+0#0000e05&| |d|e|l|e|t|e| +0#0000000&@66
|d+0#af5f00255&|e|f| +0#0000000&|F|o@1|2|(+0#e000e06&|)| +0#0000000&@64
@2|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1| |(|d|e|f|i|n|e|d| |i|n| |:|d|e|f|)|"| +0#0000000&@31
|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@68
@75
|d+0#af5f00255&|e|l|c|o|m@1|a|n|d| +0#0000000&|F|o@1| @60
|d+0#af5f00255&|e|l|c|o|m@1|a|n|d| +0#0000000&|-+0#e000e06&|b|u|f@1|e|r| +0#0000000&|F|o@1| @52
@75
|d+0#af5f00255&|e|l|c|o|m@1|a|n|d| +0#0000000&|F|o@1| ||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|.@2|"| +0#0000000&@47
|d+0#af5f00255&|e|l|c|o|m@1|a|n|d| +0#0000000&|-+0#e000e06&|b|u|f@1|e|r| +0#0000000&|F|o@1| ||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|.@2|"| +0#0000000&@39
|"+0#0000e05&| |m|u|l|t|i|l|i|n|e| |d|e|f|i|n|e| +0#0000000&@56
@75
|d+0#af5f00255&|e|l|c|o|m@1|a|n|d| +0#0000000&|F|o@1| |"+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@50
|d+0#af5f00255&|e|l|c|o|m@1|a|n|d| +0#0000000&|-+0#e000e06&|b|u|f@1|e|r| +0#0000000&|F|o@1| |"+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@42
@75
|c+0#af5f00255&|o|m|c|l|e|a|r| +0#0000000&@66
|c+0#af5f00255&|o|m|c|l|e|a|r| +0#0000000&|"+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@56
@57|5|4|,|0|-|1| @7|8|7|%|
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|-+0#e000e06&|a|d@1|r|=|l+0#00e0003&|i|n|e|s| +0#0000000&@54
@6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|b|a|n|g| +0#0000000&@61
@6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|b|a|r| +0#0000000&@62
@6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|b|u|f@1|e|r| +0#0000000&@59
@6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|c|o|m|p|l|e|t|e|=|b+0#00e0003&|u|f@1|e|r| +0#0000000&@50
@6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|c|o|u|n|t| +0#0000000&@60
@57|5|0|,|0|-|1| @7|3|5|%|

View File

@ -1,20 +1,20 @@
|c+0#af5f00255#ffffff0|o|m|c|l|e|a|r| +0#0000000&|"+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@56
|c+0#af5f00255&|o|m|c|l|e|a|r| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|.@2|"| +0#0000000&@53
| +0&#ffffff0@5|\+0#e000e06&| +0#0000000&|-+0#e000e06&|c|o|u|n|t| +0#0000000&@60
@6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|n|a|r|g|s|=|*+0#00e0003&| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|r|a|n|g|e| +0#0000000&@60
@6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|r|e|g|i|s|t|e|r| +0#0000000&@57
@6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|k|e@1|p|s|c|r|i|p|t| +0#0000000&@55
@6>\+0#e000e06&| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0@63
@6|\+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| @54
@6|\+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@56
@75
@75
|"+0#0000e05&| |I|s@1|u|e| |#|1|4|1|3|5| +0#0000000&@60
> @74
|c+0#af5f00255&|o|m| +0#0000000&|F|o@1| |c+0#af5f00255&|a|l@1| +0#0000000&|s+0#00e0e07&|y|s|t|e|m|(+0#e000e06&|'+0#e000002&|l|s|'|)+0#e000e06&| +0#0000000&@49
@75
|~+0#4040ff13&| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
| +0#0000000&@56|7|2|,|0|-|1| @7|B|o|t|
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&@66
@6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|a|d@1|r|=|l+0#00e0003&|i|n|e|s| +0#0000000&@55
@6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|b|a|n|g| +0#0000000&@61
@6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|b|a|r| +0#0000000&@62
@6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|b|u|f@1|e|r| +0#0000000&@59
@6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|c|o|m|p|l|e|t|e|=|b+0#00e0003&|u|f@1|e|r| +0#0000000&@50
@6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|c|o|u|n|t| +0#0000000&@60
@6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|n|a|r|g|s|=|*+0#00e0003&| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|r|a|n|g|e| +0#0000000&@60
@6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|r|e|g|i|s|t|e|r| +0#0000000&@57
@57|6|8|,|7| @9|4|9|%|

View File

@ -0,0 +1,20 @@
| +0&#ffffff0@5|\+0#e000e06&| +0#0000000&|-+0#e000e06&|r|e|g|i|s|t|e|r| +0#0000000&@57
@6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|k|e@1|p|s|c|r|i|p|t| +0#0000000&@55
@6|\+0#e000e06&| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0@63
@6|\+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| @54
@6|\+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@56
> @74
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&@66
@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|a|d@1|r|=|l+0#00e0003&|i|n|e|s| +0#0000000&@55
@6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|b|a|n|g| +0#0000000&@61
@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|b|a|r| +0#0000000&@62
@6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|b|u|f@1|e|r| +0#0000000&@59
@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|c|o|m|p|l|e|t|e|=|b+0#00e0003&|u|f@1|e|r| +0#0000000&@50
@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|c|o|u|n|t| +0#0000000&@60
@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
@57|8|6|,|0|-|1| @7|6|4|%|

View File

@ -0,0 +1,20 @@
| +0&#ffffff0@5|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|n|a|r|g|s|=|*+0#00e0003&| +0#0000000&@58
@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|r|a|n|g|e| +0#0000000&@60
@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
@6>\+0#e000e06&| +0#0000000&|-+0#e000e06&|r|e|g|i|s|t|e|r| +0#0000000&@57
@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|k|e@1|p|s|c|r|i|p|t| +0#0000000&@55
@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0@63
@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| @54
@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@56
@75
@75
|"+0#0000e05&| |e|r@1|o|r|s| +0#0000000&@66
@75
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|-+0#ffffff16#ff404010|b|a|d|a|t@1|r|=+0#0000000#ffffff0|a|r|g|u|m|e|n|t|s| |-+0#e000e06&|b|a|n|g| +0#0000000&|-+0#ffffff16#ff404010|b|a|d|a|t@1|r| +0#0000000#ffffff0|-+0#e000e06&|n|a|r|g|s|=|*+0#00e0003&| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@8
@57|1|0|4|,|7| @8|7|8|%|

View File

@ -0,0 +1,20 @@
|c+0#af5f00255#ffffff0|o|m@1|a|n|d|!| +0#0000000&|-+0#ffffff16#ff404010|b|a|d|a|t@1|r|=+0#0000000#ffffff0|a|r|g|u|m|e|n|t|s| |-+0#e000e06&|b|a|n|g| +0#0000000&|-+0#ffffff16#ff404010|b|a|d|a|t@1|r| +0#0000000#ffffff0|-+0#e000e06&|n|a|r|g|s|=|*+0#00e0003&| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@8
@75
@75
|"+0#0000e05&| |d|e|l|e|t|e| +0#0000000&@66
@75
>d+0#af5f00255&|e|l|c|o|m@1|a|n|d| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0@60
|d+0#af5f00255&|e|l|c|o|m@1|a|n|d| +0#0000000&|-+0#e000e06&|b|u|f@1|e|r| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0@52
@75
|d+0#af5f00255&|e|l|c|o|m@1|a|n|d| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@47
|d+0#af5f00255&|e|l|c|o|m@1|a|n|d| +0#0000000&|-+0#e000e06&|b|u|f@1|e|r| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@39
@75
|d+0#af5f00255&|e|l|c|o|m@1|a|n|d| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|"+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@50
|d+0#af5f00255&|e|l|c|o|m@1|a|n|d| +0#0000000&|-+0#e000e06&|b|u|f@1|e|r| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|"+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@42
@75
|c+0#af5f00255&|o|m|c|l|e|a|r| +0#0000000&@66
|c+0#af5f00255&|o|m|c|l|e|a|r| +0#0000000&|"+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@56
|c+0#af5f00255&|o|m|c|l|e|a|r| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@53
@75
@75
@57|1|2@1|,|1| @8|9|2|%|

View File

@ -0,0 +1,20 @@
| +0&#ffffff0@74
|"+0#0000e05&| |I|s@1|u|e| |#|1|4|1|3|5| |(|v|i|m|.|v|i|m| |s|y|n|t|a|x| |h|i|g|h|l|i|g|h|t|i|n|g| |b|r|o|k|e|n| |w|r|t| |s|y|s|t|e|m|(|)@1| +0#0000000&@10
@75
|c+0#af5f00255&|o|m| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|c+0#af5f00255&|a|l@1| +0#0000000&|s+0#00e0e07&|y|s|t|e|m|(+0#e000e06&|'+0#e000002&|l|s|'|)+0#e000e06&| +0#0000000&@49
@75
> @74
|"+0#0000e05&| |I|s@1|u|e| |#|1|7|0@1|1| |(|W|r|o|n|g| |v|i|m|U|s|e|r|C|m|d|A|t@1|r|E|r@1|o|r| |h|i|g|h|l|i|g|h|t|i|n|g| |i|n| |v|i|m|.|v|i|m|)| +0#0000000&@8
@75
|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|-+0#e000e06&|b|a|n|g| +0#0000000&|-+0#e000e06&|n|a|r|g|s|=|*+0#00e0003&| +0#0000000&|-+0#e000e06&|c|o|m|p|l|e|t|e|=|f+0#00e0003&|i|l|e| +0#0000000&|M+0#0000001#ffff4012|a|k|e| +0#0000000#ffffff0|A|s|y|n|c|R|u|n| |-+0#af5f00255&|p+0#00e0e07&|r|o|g|r|a|m|=+0#af5f00255&|m+0#00e0e07&|a|k|e| +0#0000000&|@| |<+0#e000e06&|a|r|g|s|>
| +0#0000000&@74
|~+0#4040ff13&| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
| +0#0000000&@56|1|4|0|,|0|-|1| @6|B|o|t|

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>

View File

@ -664,22 +664,30 @@ syn match vimSpecFileMod "\(:[phtre]\)\+" contained
" User-Specified Commands: {{{2
" =======================
syn cluster vimUserCmdList contains=@vimCmdList,vimCmplxRepeat,@vimComment,vimCtrlChar,vimEscapeBrace,vimFunc,vimNotation,vimNumber,vimOper,vimRegister,vimSpecFile,vimString,vimSubst,vimSubstRep,vimSubstRange
syn keyword vimUserCmdKey contained com[mand]
syn match vimUserCmdName contained "\<\u[[:alnum:]]*\>" skipwhite nextgroup=vimUserCmdBlock
syn match vimUserCmd "\<com\%[mand]\>!\=.*$" contains=vimUserCmdKey,vimBang,vimUserCmdAttr,vimUserCmdAttrError,vimUserCmdName,@vimUserCmdList,vimComFilter
syn match vimUserCmdAttrError contained "-\a\+\ze\%(\s\|=\)"
syn match vimUserCmdAttr contained "-addr=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrAddr
syn match vimUserCmdAttr contained "-bang\>" contains=vimUserCmdAttrKey
syn match vimUserCmdAttr contained "-bar\>" contains=vimUserCmdAttrKey
syn match vimUserCmdAttr contained "-buffer\>" contains=vimUserCmdAttrKey
syn match vimUserCmdAttr contained "-complete=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrCmplt,vimUserCmdError
syn match vimUserCmdAttr contained "-count\>" contains=vimUserCmdAttrKey
syn match vimUserCmdAttr contained "-count=" contains=vimUserCmdAttrKey nextgroup=vimNumber
syn match vimUserCmdAttr contained "-keepscript\>" contains=vimUserCmdAttrKey
syn match vimUserCmdAttr contained "-nargs=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrNargs
syn match vimUserCmdAttr contained "-range\>" contains=vimUserCmdAttrKey
syn match vimUserCmdAttr contained "-range=" contains=vimUserCmdAttrKey nextgroup=vimNumber,vimUserCmdAttrRange
syn match vimUserCmdAttr contained "-register\>" contains=vimUserCmdAttrKey
syn match vimUserCmd "\<com\%[mand]\>!\=" skipwhite nextgroup=vimUserCmdAttrs,vimUserCmdName contains=vimBang
syn match vimUserCmd +\<com\%[mand]\>!\=\ze\s*\n\s*\%(\\\|["#]\\ \)+ skipwhite skipnl nextgroup=vimUserCmdAttrs,vimUserCmdName contains=vimBang
syn region vimUserCmdAttrs contained
\ start="-\l"
\ start=+^\s*\%(\\\|["#]\\ \)+
\ end="\ze\s\u"
\ skipwhite nextgroup=vimUserCmdName
\ contains=@vimContinue,vimUserCmdAttr,vimUserCmdAttrError
\ transparent
syn match vimUserCmdAttrError contained "-\a\+\ze\%(\s\|=\)"
syn match vimUserCmdAttr contained "-addr=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrAddr
syn match vimUserCmdAttr contained "-bang\>" contains=vimUserCmdAttrKey
syn match vimUserCmdAttr contained "-bar\>" contains=vimUserCmdAttrKey
syn match vimUserCmdAttr contained "-buffer\>" contains=vimUserCmdAttrKey
syn match vimUserCmdAttr contained "-complete=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrComplete,vimUserCmdError
syn match vimUserCmdAttr contained "-count\>" contains=vimUserCmdAttrKey
syn match vimUserCmdAttr contained "-count=" contains=vimUserCmdAttrKey nextgroup=vimNumber
syn match vimUserCmdAttr contained "-keepscript\>" contains=vimUserCmdAttrKey
syn match vimUserCmdAttr contained "-nargs=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrNargs
syn match vimUserCmdAttr contained "-range\>" contains=vimUserCmdAttrKey
syn match vimUserCmdAttr contained "-range=" contains=vimUserCmdAttrKey nextgroup=vimNumber,vimUserCmdAttrRange
syn match vimUserCmdAttr contained "-register\>" contains=vimUserCmdAttrKey
syn match vimUserCmdAttrNargs contained "[01*?+]"
syn match vimUserCmdAttrRange contained "%"
@ -690,19 +698,36 @@ endif
syn case ignore
syn keyword vimUserCmdAttrKey contained a[ddr] ban[g] bar bu[ffer] com[plete] cou[nt] k[eepscript] n[args] ra[nge] re[gister]
" GEN_SYN_VIM: vimUserCmdAttrCmplt, START_STR='syn keyword vimUserCmdAttrCmplt contained', END_STR=''
syn keyword vimUserCmdAttrCmplt contained arglist augroup behave breakpoint buffer color command compiler cscope diff_buffer dir dir_in_path environment event expression file file_in_path filetype function help highlight history keymap locale mapclear mapping menu messages option packadd runtime scriptnames shellcmd shellcmdline sign syntax syntime tag tag_listfiles user var
syn keyword vimUserCmdAttrCmplt contained custom customlist nextgroup=vimUserCmdAttrCmpltFunc,vimUserCmdError
syn match vimUserCmdAttrCmpltFunc contained ",\%([sS]:\|<[sS][iI][dD]>\)\=\%(\h\w*\%([.#]\h\w*\)\+\|\h\w*\)"hs=s+1 nextgroup=vimUserCmdError
" GEN_SYN_VIM: vimUserCmdAttrComplete, START_STR='syn keyword vimUserCmdAttrComplete contained', END_STR=''
syn keyword vimUserCmdAttrComplete contained arglist augroup behave breakpoint buffer color command compiler cscope diff_buffer dir dir_in_path environment event expression file file_in_path filetype function help highlight history keymap locale mapclear mapping menu messages option packadd runtime scriptnames shellcmd shellcmdline sign syntax syntime tag tag_listfiles user var
syn keyword vimUserCmdAttrComplete contained arglist augroup behave breakpoint buffer color command compiler cscope diff_buffer dir dir_in_path environment event expression file file_in_path filetype function help highlight history keymap locale mapclear mapping menu messages option packadd runtime scriptnames shellcmd shellcmdline sign syntax syntime tag tag_listfiles user var
syn keyword vimUserCmdAttrComplete contained custom customlist nextgroup=vimUserCmdAttrCompleteFunc,vimUserCmdError
syn match vimUserCmdAttrCompleteFunc contained ",\%([bwglstav]:\|<[sS][iI][dD]>\)\=\h\w*\%([.#]\h\w*\)*"hs=s+1 nextgroup=vimUserCmdError contains=vimVarScope,vimFuncSID
" GEN_SYN_VIM: vimUserCmdAttrAddr, START_STR='syn keyword vimUserCmdAttrAddr contained', END_STR=''
syn keyword vimUserCmdAttrAddr contained arguments arg buffers buf lines line loaded_buffers load other quickfix qf tabs tab windows win
syn match vimUserCmdAttrAddr contained "?"
syn keyword vimUserCmdAttrAddr contained arguments arg buffers buf lines line loaded_buffers load other quickfix qf tabs tab windows win
syn match vimUserCmdAttrAddr contained "?"
syn case match
syn region vimUserCmdBlock contained matchgroup=vimSep start="{" end="^\s*\zs}" contains=@vimDefBodyList
syn match vimUserCmdName contained "\<\u[[:alnum:]]*\>" skipwhite nextgroup=vimUserCmdBlock,vimUserCmdReplacement
syn match vimUserCmdName contained +\<\u[[:alnum:]]*\>\ze\s*\n\s*\%(\\\|["#]\\ \)+ skipwhite skipnl nextgroup=vimUserCmdBlock,vimUserCmdReplacement
syn region vimUserCmdReplacement contained
\ start="\S"
\ start=+^\s*\%(\\\|["#]\\ \)+
\ skip=+\n\s*\%(\\\|["#]\\ \)+
\ end="$"
\ contains=@vimContinue,@vimUserCmdList,vimComFilter
syn region vimUserCmdBlock contained
\ matchgroup=vimSep
\ start="{"
\ end="^\s*\zs}"
\ contains=@vimDefBodyList
syn match vimDelcommand "\<delc\%[ommand]\>" skipwhite nextgroup=vimDelcommandAttr
syn match vimDelcommandAttr contained "-buffer\>"
syn match vimDelcommand "\<delc\%[ommand]\>" skipwhite nextgroup=vimDelcommandAttr,vimDelcommandName
syn match vimDelcommandAttr contained "-buffer\>" skipwhite nextgroup=vimDelcommandName
syn match vimDelcommandName contained "\<\u[[:alnum:]]*\>"
" Lower Priority Comments: after some vim commands... {{{2
" =======================
@ -1787,8 +1812,10 @@ if !exists("skip_vim_syntax_inits")
hi def link vimUnlet vimCommand
hi def link vimUnletBang vimBang
hi def link vimUnmap vimMap
hi def link vimUserCmd vimCommand
hi def link vimUserCmdAttrAddr vimSpecial
hi def link vimUserCmdAttrCmplt vimSpecial
hi def link vimUserCmdAttrComplete vimSpecial
hi def link vimUserCmdAttrCompleteFunc vimVar
hi def link vimUserCmdAttrNargs vimSpecial
hi def link vimUserCmdAttrRange vimSpecial
hi def link vimUserCmdAttrKey vimUserCmdAttr