mirror of
https://github.com/vim/vim.git
synced 2025-07-04 23:07:33 -04:00
runtime(vim): Update base-syntax, improve :normal highlighting
Fix command name termination, match bang, and allow a line-continued argument. closes: #15358 Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
parent
8e6b5034f3
commit
bbe5252c2c
@ -2,7 +2,7 @@
|
|||||||
" Language: Vim script
|
" Language: Vim script
|
||||||
" Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com>
|
" Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com>
|
||||||
" Doug Kearns <dougkearns@gmail.com>
|
" Doug Kearns <dougkearns@gmail.com>
|
||||||
" Last Change: 2024 Oct 05
|
" Last Change: 2024 Oct 08
|
||||||
" Former Maintainer: Charles E. Campbell
|
" Former Maintainer: Charles E. Campbell
|
||||||
|
|
||||||
" DO NOT CHANGE DIRECTLY.
|
" DO NOT CHANGE DIRECTLY.
|
||||||
@ -202,7 +202,7 @@ syn match vimNumber '\%(^\|\A\)\zs#\x\{6}' skipwhite nextgroup=vimGlobal,vimSub
|
|||||||
syn case match
|
syn case match
|
||||||
|
|
||||||
" All vimCommands are contained by vimIsCommand. {{{2
|
" All vimCommands are contained by vimIsCommand. {{{2
|
||||||
syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutoCmd,vimAugroup,vimBehave,vimCall,vimCatch,vimConst,vimDef,vimDefFold,vimDelcommand,@vimEcho,vimEnddef,vimEndfunction,vimExecute,vimIsCommand,vimExtCmd,vimFor,vimFunction,vimFuncFold,vimGlobal,vimHighlight,vimLet,vimLoadkeymap,vimMap,vimMark,vimMatch,vimNotFunc,vimNorm,vimSet,vimSleep,vimSyntax,vimThrow,vimUnlet,vimUnmap,vimUserCmd,vimMenu,vimMenutranslate,@vim9CmdList
|
syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutoCmd,vimAugroup,vimBehave,vimCall,vimCatch,vimConst,vimDef,vimDefFold,vimDelcommand,@vimEcho,vimEnddef,vimEndfunction,vimExecute,vimIsCommand,vimExtCmd,vimFor,vimFunction,vimFuncFold,vimGlobal,vimHighlight,vimLet,vimLoadkeymap,vimMap,vimMark,vimMatch,vimNotFunc,vimNormal,vimSet,vimSleep,vimSyntax,vimThrow,vimUnlet,vimUnmap,vimUserCmd,vimMenu,vimMenutranslate,@vim9CmdList
|
||||||
syn cluster vim9CmdList contains=vim9Class,vim9Const,vim9Enum,vim9Export,vim9Final,vim9For,vim9Interface,vim9Type,vim9Var
|
syn cluster vim9CmdList contains=vim9Class,vim9Const,vim9Enum,vim9Export,vim9Final,vim9For,vim9Interface,vim9Type,vim9Var
|
||||||
syn match vimCmdSep "[:|]\+" skipwhite nextgroup=@vimCmdList,vimSubst1
|
syn match vimCmdSep "[:|]\+" skipwhite nextgroup=@vimCmdList,vimSubst1
|
||||||
syn match vimIsCommand "\<\%(\h\w*\|[23]mat\%[ch]\)\>" contains=vimCommand
|
syn match vimIsCommand "\<\%(\h\w*\|[23]mat\%[ch]\)\>" contains=vimCommand
|
||||||
@ -214,6 +214,7 @@ syn match vimVar "\s\zs&t_\S[a-zA-Z0-9]\>"
|
|||||||
syn match vimVar "\s\zs&t_k;"
|
syn match vimVar "\s\zs&t_k;"
|
||||||
syn match vimFBVar contained "\<[bwglstav]:\h[a-zA-Z0-9#_]*\>"
|
syn match vimFBVar contained "\<[bwglstav]:\h[a-zA-Z0-9#_]*\>"
|
||||||
syn keyword vimCommand contained in
|
syn keyword vimCommand contained in
|
||||||
|
syn match vimBang contained "!"
|
||||||
|
|
||||||
syn cluster vimExprList contains=vimEnvvar,vimFunc,vimNumber,vimOper,vimOperParen,vimLetRegister,vimString,vimVar,@vim9ExprList
|
syn cluster vimExprList contains=vimEnvvar,vimFunc,vimNumber,vimOper,vimOperParen,vimLetRegister,vimString,vimVar,@vim9ExprList
|
||||||
syn cluster vim9ExprList contains=vim9Boolean,vim9Null
|
syn cluster vim9ExprList contains=vim9Boolean,vim9Null
|
||||||
@ -811,10 +812,10 @@ syn keyword vimMatchNone contained none
|
|||||||
syn case match
|
syn case match
|
||||||
syn region vimMatchPattern contained matchgroup=Delimiter start="\z([!#$%&'()*+,-./:;<=>?@[\]^_`{}~]\)" skip="\\\\\|\\\z1" end="\z1" contains=@vimSubstList oneline
|
syn region vimMatchPattern contained matchgroup=Delimiter start="\z([!#$%&'()*+,-./:;<=>?@[\]^_`{}~]\)" skip="\\\\\|\\\z1" end="\z1" contains=@vimSubstList oneline
|
||||||
|
|
||||||
" Norm: {{{2
|
" Normal: {{{2
|
||||||
" ====
|
" ======
|
||||||
syn match vimNorm "\<norm\%[al]!\=" skipwhite nextgroup=vimNormCmds
|
syn match vimNormal "\<norm\%[al]\>!\=" skipwhite nextgroup=vimNormalArg contains=vimBang
|
||||||
syn match vimNormCmds contained ".*$"
|
syn region vimNormalArg contained start="\S" skip=+\n\s*\\\|\n\s*["#]\\ + end="$" contains=@vimContinue
|
||||||
|
|
||||||
" Sleep: {{{2
|
" Sleep: {{{2
|
||||||
" =====
|
" =====
|
||||||
@ -1371,7 +1372,7 @@ if !exists("skip_vim_syntax_inits")
|
|||||||
hi def link vimMenutranslateComment vimComment
|
hi def link vimMenutranslateComment vimComment
|
||||||
hi def link vim9MethodName vimFuncName
|
hi def link vim9MethodName vimFuncName
|
||||||
hi def link vimMtchComment vimComment
|
hi def link vimMtchComment vimComment
|
||||||
hi def link vimNorm vimCommand
|
hi def link vimNormal vimCommand
|
||||||
hi def link vimNotation Special
|
hi def link vimNotation Special
|
||||||
hi def link vimNotFunc vimCommand
|
hi def link vimNotFunc vimCommand
|
||||||
hi def link vimNotPatSep vimString
|
hi def link vimNotPatSep vimString
|
||||||
|
20
runtime/syntax/testdir/dumps/vim_ex_normal_00.dump
Normal file
20
runtime/syntax/testdir/dumps/vim_ex_normal_00.dump
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
>"+0#0000e05#ffffff0| |V|i|m| |:|n|o|r|m|a|l| |c|o|m@1|a|n|d| +0#0000000&@53
|
||||||
|
@75
|
||||||
|
|n+0#af5f00255&|o|r|m|a|l| +0#0000000&|j| @66
|
||||||
|
|n+0#af5f00255&|o|r|m|a|l|!| +0#0000000&|j| @65
|
||||||
|
|n+0#af5f00255&|o|r|m|a|l|!|j+0#0000000&| @66
|
||||||
|
@75
|
||||||
|
|"+0#0000e05&| |n|o| |t|r|a|i|l|i|n|g| |b|a|r| +0#0000000&@57
|
||||||
|
|n+0#af5f00255&|o|r|m|a|l| +0#0000000&|j| |4|2|||e|c|h|o| |"|n|o|t| |e|c|h|o| |c|o|m@1|a|n|d|"| @39
|
||||||
|
@75
|
||||||
|
|"+0#0000e05&| |n|o| |t|r|a|i|l|i|n|g| |c|o|m@1|e|n|t| +0#0000000&@53
|
||||||
|
|n+0#af5f00255&|o|r|m|a|l| +0#0000000&|j| |"|0|p| @62
|
||||||
|
@75
|
||||||
|
|"+0#0000e05&| |m|u|l|t|i|l|i|n|e| |a|r|g| +0#0000000&@59
|
||||||
|
|n+0#af5f00255&|o|r|m|a|l| +0#0000000&|j| @66
|
||||||
|
@6|\+0#e000e06&|k+0#0000000&| @66
|
||||||
|
@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
|
||||||
|
@6|\+0#e000e06&|j+0#0000000&| @66
|
||||||
|
@75
|
||||||
|
|"+0#0000e05&| |w|o|r|d|-|b|o|u|n|d|a|r|y| |r|e|q|u|i|r|e|d| |a|f|t|e|r| |n|a|m|e| |(|o|l|d| |b|u|g|)| +0#0000000&@29
|
||||||
|
@57|1|,|1| @10|T|o|p|
|
20
runtime/syntax/testdir/dumps/vim_ex_normal_01.dump
Normal file
20
runtime/syntax/testdir/dumps/vim_ex_normal_01.dump
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
|n+0#af5f00255#ffffff0|o|r|m|a|l| +0#0000000&|j| @66
|
||||||
|
@6|\+0#e000e06&|k+0#0000000&| @66
|
||||||
|
@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
|
||||||
|
@6|\+0#e000e06&|j+0#0000000&| @66
|
||||||
|
@75
|
||||||
|
>"+0#0000e05&| |w|o|r|d|-|b|o|u|n|d|a|r|y| |r|e|q|u|i|r|e|d| |a|f|t|e|r| |n|a|m|e| |(|o|l|d| |b|u|g|)| +0#0000000&@29
|
||||||
|
|n|o|r|m|a|l|j| @67
|
||||||
|
|~+0#4040ff13&| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
| +0#0000000&@56|1|9|,|1| @9|B|o|t|
|
20
runtime/syntax/testdir/input/vim_ex_normal.vim
Normal file
20
runtime/syntax/testdir/input/vim_ex_normal.vim
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
" Vim :normal command
|
||||||
|
|
||||||
|
normal j
|
||||||
|
normal! j
|
||||||
|
normal!j
|
||||||
|
|
||||||
|
" no trailing bar
|
||||||
|
normal j 42|echo "not echo command"
|
||||||
|
|
||||||
|
" no trailing comment
|
||||||
|
normal j "0p
|
||||||
|
|
||||||
|
" multiline arg
|
||||||
|
normal j
|
||||||
|
\k
|
||||||
|
"\ comment
|
||||||
|
\j
|
||||||
|
|
||||||
|
" word-boundary required after name (old bug)
|
||||||
|
normalj
|
@ -240,7 +240,7 @@ syn match vimNumber '\%(^\|\A\)\zs#\x\{6}' skipwhite nextgroup=vimGlobal,vimSub
|
|||||||
syn case match
|
syn case match
|
||||||
|
|
||||||
" All vimCommands are contained by vimIsCommand. {{{2
|
" All vimCommands are contained by vimIsCommand. {{{2
|
||||||
syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutoCmd,vimAugroup,vimBehave,vimCall,vimCatch,vimConst,vimDef,vimDefFold,vimDelcommand,@vimEcho,vimEnddef,vimEndfunction,vimExecute,vimIsCommand,vimExtCmd,vimFor,vimFunction,vimFuncFold,vimGlobal,vimHighlight,vimLet,vimLoadkeymap,vimMap,vimMark,vimMatch,vimNotFunc,vimNorm,vimSet,vimSleep,vimSyntax,vimThrow,vimUnlet,vimUnmap,vimUserCmd,vimMenu,vimMenutranslate,@vim9CmdList
|
syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutoCmd,vimAugroup,vimBehave,vimCall,vimCatch,vimConst,vimDef,vimDefFold,vimDelcommand,@vimEcho,vimEnddef,vimEndfunction,vimExecute,vimIsCommand,vimExtCmd,vimFor,vimFunction,vimFuncFold,vimGlobal,vimHighlight,vimLet,vimLoadkeymap,vimMap,vimMark,vimMatch,vimNotFunc,vimNormal,vimSet,vimSleep,vimSyntax,vimThrow,vimUnlet,vimUnmap,vimUserCmd,vimMenu,vimMenutranslate,@vim9CmdList
|
||||||
syn cluster vim9CmdList contains=vim9Class,vim9Const,vim9Enum,vim9Export,vim9Final,vim9For,vim9Interface,vim9Type,vim9Var
|
syn cluster vim9CmdList contains=vim9Class,vim9Const,vim9Enum,vim9Export,vim9Final,vim9For,vim9Interface,vim9Type,vim9Var
|
||||||
syn match vimCmdSep "[:|]\+" skipwhite nextgroup=@vimCmdList,vimSubst1
|
syn match vimCmdSep "[:|]\+" skipwhite nextgroup=@vimCmdList,vimSubst1
|
||||||
syn match vimIsCommand "\<\%(\h\w*\|[23]mat\%[ch]\)\>" contains=vimCommand
|
syn match vimIsCommand "\<\%(\h\w*\|[23]mat\%[ch]\)\>" contains=vimCommand
|
||||||
@ -252,6 +252,7 @@ syn match vimVar "\s\zs&t_\S[a-zA-Z0-9]\>"
|
|||||||
syn match vimVar "\s\zs&t_k;"
|
syn match vimVar "\s\zs&t_k;"
|
||||||
syn match vimFBVar contained "\<[bwglstav]:\h[a-zA-Z0-9#_]*\>"
|
syn match vimFBVar contained "\<[bwglstav]:\h[a-zA-Z0-9#_]*\>"
|
||||||
syn keyword vimCommand contained in
|
syn keyword vimCommand contained in
|
||||||
|
syn match vimBang contained "!"
|
||||||
|
|
||||||
syn cluster vimExprList contains=vimEnvvar,vimFunc,vimNumber,vimOper,vimOperParen,vimLetRegister,vimString,vimVar,@vim9ExprList
|
syn cluster vimExprList contains=vimEnvvar,vimFunc,vimNumber,vimOper,vimOperParen,vimLetRegister,vimString,vimVar,@vim9ExprList
|
||||||
syn cluster vim9ExprList contains=vim9Boolean,vim9Null
|
syn cluster vim9ExprList contains=vim9Boolean,vim9Null
|
||||||
@ -857,10 +858,10 @@ syn keyword vimMatchNone contained none
|
|||||||
syn case match
|
syn case match
|
||||||
syn region vimMatchPattern contained matchgroup=Delimiter start="\z([!#$%&'()*+,-./:;<=>?@[\]^_`{}~]\)" skip="\\\\\|\\\z1" end="\z1" contains=@vimSubstList oneline
|
syn region vimMatchPattern contained matchgroup=Delimiter start="\z([!#$%&'()*+,-./:;<=>?@[\]^_`{}~]\)" skip="\\\\\|\\\z1" end="\z1" contains=@vimSubstList oneline
|
||||||
|
|
||||||
" Norm: {{{2
|
" Normal: {{{2
|
||||||
" ====
|
" ======
|
||||||
syn match vimNorm "\<norm\%[al]!\=" skipwhite nextgroup=vimNormCmds
|
syn match vimNormal "\<norm\%[al]\>!\=" skipwhite nextgroup=vimNormalArg contains=vimBang
|
||||||
syn match vimNormCmds contained ".*$"
|
syn region vimNormalArg contained start="\S" skip=+\n\s*\\\|\n\s*["#]\\ + end="$" contains=@vimContinue
|
||||||
|
|
||||||
" Sleep: {{{2
|
" Sleep: {{{2
|
||||||
" =====
|
" =====
|
||||||
@ -1417,7 +1418,7 @@ if !exists("skip_vim_syntax_inits")
|
|||||||
hi def link vimMenutranslateComment vimComment
|
hi def link vimMenutranslateComment vimComment
|
||||||
hi def link vim9MethodName vimFuncName
|
hi def link vim9MethodName vimFuncName
|
||||||
hi def link vimMtchComment vimComment
|
hi def link vimMtchComment vimComment
|
||||||
hi def link vimNorm vimCommand
|
hi def link vimNormal vimCommand
|
||||||
hi def link vimNotation Special
|
hi def link vimNotation Special
|
||||||
hi def link vimNotFunc vimCommand
|
hi def link vimNotFunc vimCommand
|
||||||
hi def link vimNotPatSep vimString
|
hi def link vimNotPatSep vimString
|
||||||
|
Loading…
x
Reference in New Issue
Block a user