mirror of
https://github.com/neovim/neovim.git
synced 2024-12-19 18:55:14 -07:00
Merge pull request #31150 from zeertzjq/vim-bbe5252
vim-patch: Vim syntax updates
This commit is contained in:
commit
0eae0bc804
@ -3493,7 +3493,7 @@ This option is disabled by default.
|
|||||||
Some folding is now supported with when 'foldmethod' is set to "syntax": >
|
Some folding is now supported with when 'foldmethod' is set to "syntax": >
|
||||||
|
|
||||||
g:vimsyn_folding == 0 or doesn't exist: no syntax-based folding
|
g:vimsyn_folding == 0 or doesn't exist: no syntax-based folding
|
||||||
g:vimsyn_folding =~ 'a' : augroups
|
g:vimsyn_folding =~ 'a' : fold augroups
|
||||||
g:vimsyn_folding =~ 'f' : fold functions
|
g:vimsyn_folding =~ 'f' : fold functions
|
||||||
g:vimsyn_folding =~ 'h' : fold heredocs
|
g:vimsyn_folding =~ 'h' : fold heredocs
|
||||||
g:vimsyn_folding =~ 'l' : fold Lua script
|
g:vimsyn_folding =~ 'l' : fold Lua script
|
||||||
|
@ -74,12 +74,22 @@ syn case match
|
|||||||
com! -nargs=* Vim9 execute <q-args> s:vim9script ? "" : "contained"
|
com! -nargs=* Vim9 execute <q-args> s:vim9script ? "" : "contained"
|
||||||
com! -nargs=* VimL execute <q-args> s:vim9script ? "contained" : ""
|
com! -nargs=* VimL execute <q-args> s:vim9script ? "contained" : ""
|
||||||
|
|
||||||
if exists("g:vimsyn_folding") && g:vimsyn_folding =~# '[afhHlmpPrt]'
|
if exists("g:vimsyn_folding") && g:vimsyn_folding =~# '[acefhiHlmpPrt]'
|
||||||
if g:vimsyn_folding =~# 'a'
|
if g:vimsyn_folding =~# 'a'
|
||||||
com! -nargs=* VimFolda <args> fold
|
com! -nargs=* VimFolda <args> fold
|
||||||
else
|
else
|
||||||
com! -nargs=* VimFolda <args>
|
com! -nargs=* VimFolda <args>
|
||||||
endif
|
endif
|
||||||
|
if g:vimsyn_folding =~# 'c'
|
||||||
|
com! -nargs=* VimFoldc <args> fold
|
||||||
|
else
|
||||||
|
com! -nargs=* VimFoldc <args>
|
||||||
|
endif
|
||||||
|
if g:vimsyn_folding =~# 'e'
|
||||||
|
com! -nargs=* VimFolde <args> fold
|
||||||
|
else
|
||||||
|
com! -nargs=* VimFolde <args>
|
||||||
|
endif
|
||||||
if g:vimsyn_folding =~# 'f'
|
if g:vimsyn_folding =~# 'f'
|
||||||
com! -nargs=* VimFoldf <args> fold
|
com! -nargs=* VimFoldf <args> fold
|
||||||
else
|
else
|
||||||
@ -95,6 +105,11 @@ if exists("g:vimsyn_folding") && g:vimsyn_folding =~# '[afhHlmpPrt]'
|
|||||||
else
|
else
|
||||||
com! -nargs=* VimFoldH <args>
|
com! -nargs=* VimFoldH <args>
|
||||||
endif
|
endif
|
||||||
|
if g:vimsyn_folding =~# 'i'
|
||||||
|
com! -nargs=* VimFoldi <args> fold
|
||||||
|
else
|
||||||
|
com! -nargs=* VimFoldi <args>
|
||||||
|
endif
|
||||||
if g:vimsyn_folding =~# 'l'
|
if g:vimsyn_folding =~# 'l'
|
||||||
com! -nargs=* VimFoldl <args> fold
|
com! -nargs=* VimFoldl <args> fold
|
||||||
else
|
else
|
||||||
@ -127,7 +142,10 @@ if exists("g:vimsyn_folding") && g:vimsyn_folding =~# '[afhHlmpPrt]'
|
|||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
com! -nargs=* VimFolda <args>
|
com! -nargs=* VimFolda <args>
|
||||||
|
com! -nargs=* VimFoldc <args>
|
||||||
|
com! -nargs=* VimFolde <args>
|
||||||
com! -nargs=* VimFoldf <args>
|
com! -nargs=* VimFoldf <args>
|
||||||
|
com! -nargs=* VimFoldi <args>
|
||||||
com! -nargs=* VimFoldh <args>
|
com! -nargs=* VimFoldh <args>
|
||||||
com! -nargs=* VimFoldH <args>
|
com! -nargs=* VimFoldH <args>
|
||||||
com! -nargs=* VimFoldl <args>
|
com! -nargs=* VimFoldl <args>
|
||||||
@ -177,8 +195,8 @@ 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,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=vim9Const,vim9Final,vim9For,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
|
||||||
syn match vimBang contained "!"
|
syn match vimBang contained "!"
|
||||||
@ -189,6 +207,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
|
||||||
@ -220,6 +239,12 @@ syn keyword vimThrow th[row] skipwhite nextgroup=@vimExprList
|
|||||||
syn keyword vimCatch cat[ch] skipwhite nextgroup=vimCatchPattern
|
syn keyword vimCatch cat[ch] skipwhite nextgroup=vimCatchPattern
|
||||||
syn region vimCatchPattern contained matchgroup=Delimiter start="\z([!#$%&'()*+,-./:;<=>?@[\]^_`{}~]\)" skip="\\\\\|\\\z1" end="\z1" contains=@vimSubstList oneline
|
syn region vimCatchPattern contained matchgroup=Delimiter start="\z([!#$%&'()*+,-./:;<=>?@[\]^_`{}~]\)" skip="\\\\\|\\\z1" end="\z1" contains=@vimSubstList oneline
|
||||||
|
|
||||||
|
" Export {{{2
|
||||||
|
" ======
|
||||||
|
if s:vim9script
|
||||||
|
syn keyword vim9Export export skipwhite nextgroup=vim9Abstract,vim9ClassBody,vim9Const,vim9Def,vim9EnumBody,vim9Final,vim9InterfaceBody,vim9Type,vim9Var
|
||||||
|
endif
|
||||||
|
|
||||||
" Filetypes {{{2
|
" Filetypes {{{2
|
||||||
" =========
|
" =========
|
||||||
syn match vimFiletype "\<filet\%[ype]\(\s\+\I\i*\)*" skipwhite contains=vimFTCmd,vimFTOption,vimFTError
|
syn match vimFiletype "\<filet\%[ype]\(\s\+\I\i*\)*" skipwhite contains=vimFTCmd,vimFTOption,vimFTError
|
||||||
@ -264,7 +289,7 @@ endif
|
|||||||
syn cluster vimFuncList contains=vimFuncBang,vimFunctionError,vimFuncKey,vimFuncSID,Tag
|
syn cluster vimFuncList contains=vimFuncBang,vimFunctionError,vimFuncKey,vimFuncSID,Tag
|
||||||
syn cluster vimDefList contains=vimFuncBang,vimFunctionError,vimDefKey,vimFuncSID,Tag
|
syn cluster vimDefList contains=vimFuncBang,vimFunctionError,vimDefKey,vimFuncSID,Tag
|
||||||
|
|
||||||
syn cluster vimFuncBodyCommon contains=@vimCmdList,vimCmplxRepeat,vimContinue,vimCtrlChar,vimDef,vimEnvvar,vimFBVar,vimFunc,vimFunction,vimLetHereDoc,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegister,vimSearch,vimSpecFile,vimString,vimSubst,vimFuncFold
|
syn cluster vimFuncBodyCommon contains=@vimCmdList,vimCmplxRepeat,vimContinue,vimCtrlChar,vimDef,vimEnvvar,vimFBVar,vimFunc,vimFunction,vimLetHereDoc,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegister,vimSearch,vimSpecFile,vimString,vimSubst,vimFuncFold,vimDefFold
|
||||||
syn cluster vimFuncBodyList contains=@vimFuncBodyCommon,vimComment,vimLineComment,vimFuncVar,vimInsert,vimConst,vimLet
|
syn cluster vimFuncBodyList contains=@vimFuncBodyCommon,vimComment,vimLineComment,vimFuncVar,vimInsert,vimConst,vimLet
|
||||||
syn cluster vimDefBodyList contains=@vimFuncBodyCommon,vim9Comment,vim9LineComment,vim9Const,vim9Final,vim9Var,vim9Null,vim9Boolean,vim9For
|
syn cluster vimDefBodyList contains=@vimFuncBodyCommon,vim9Comment,vim9LineComment,vim9Const,vim9Final,vim9Var,vim9Null,vim9Boolean,vim9For
|
||||||
|
|
||||||
@ -273,7 +298,6 @@ syn match vimFunction "\<fu\%[nction]\>" skipwhite nextgroup=vimCmdSep,vimCommen
|
|||||||
syn match vimDef "\<def\>" skipwhite nextgroup=vimCmdSep,vimComment,vimFuncPattern contains=vimDefKey
|
syn match vimDef "\<def\>" skipwhite nextgroup=vimCmdSep,vimComment,vimFuncPattern contains=vimDefKey
|
||||||
|
|
||||||
syn match vimFunction "\<fu\%[nction]\>!\=\s*\%(<[sS][iI][dD]>\|[sg]:\)\=\%(\i\|[#.]\|{.\{-1,}}\)\+" contains=@vimFuncList skipwhite nextgroup=vimFuncParams
|
syn match vimFunction "\<fu\%[nction]\>!\=\s*\%(<[sS][iI][dD]>\|[sg]:\)\=\%(\i\|[#.]\|{.\{-1,}}\)\+" contains=@vimFuncList skipwhite nextgroup=vimFuncParams
|
||||||
syn match vimDef "\<def\s\+new\%(\i\|{.\{-1,}}\)\+" contains=@vimDefList nextgroup=vimDefParams
|
|
||||||
syn match vimDef "\<def\>!\=\s*\%(<[sS][iI][dD]>\|[sg]:\)\=\%(\i\|[#.]\|{.\{-1,}}\)\+" contains=@vimDefList nextgroup=vimDefParams
|
syn match vimDef "\<def\>!\=\s*\%(<[sS][iI][dD]>\|[sg]:\)\=\%(\i\|[#.]\|{.\{-1,}}\)\+" contains=@vimDefList nextgroup=vimDefParams
|
||||||
|
|
||||||
syn match vimFuncComment contained +".*+ skipwhite skipempty nextgroup=vimFuncBody,vimEndfunction
|
syn match vimFuncComment contained +".*+ skipwhite skipempty nextgroup=vimFuncBody,vimEndfunction
|
||||||
@ -300,9 +324,8 @@ syn match vimEndfunction "\<endf\%[unction]\>" skipwhite nextgroup=vimCmdSep,vim
|
|||||||
syn match vimEnddef "\<enddef\>" skipwhite nextgroup=vimCmdSep,vim9Comment,vimCommentError
|
syn match vimEnddef "\<enddef\>" skipwhite nextgroup=vimCmdSep,vim9Comment,vimCommentError
|
||||||
|
|
||||||
if exists("g:vimsyn_folding") && g:vimsyn_folding =~# 'f'
|
if exists("g:vimsyn_folding") && g:vimsyn_folding =~# 'f'
|
||||||
syn region vimFuncFold start="\<fu\%[nction]\>!\=\s*\%(<[sS][iI][dD]>\|[sg]:\)\=\%(\i\|[#.]\|{.\{-1,}}\)\+\s*(" end="\<endf\%[unction]\>" contains=vimFunction fold keepend extend transparent
|
syn region vimFuncFold start="\<fu\%[nction]\>!\=\s*\%(<[sS][iI][dD]>\|[sg]:\)\=\%(\i\|[#.]\|{.\{-1,}}\)\+\s*(" end="\<endf\%[unction]\>" contains=vimFunction fold keepend extend transparent
|
||||||
syn region vimFuncFold start="\<def\>!\=\s*\%(<[sS][iI][dD]>\|[sg]:\)\=\%(\i\|[#.]\)\+(" end="\<enddef\>" contains=vimDef fold keepend extend transparent
|
syn region vimDefFold start="\<def\>!\=\s*\%(<[sS][iI][dD]>\|[sg]:\)\=\%(\i\|[#.]\)\+(" end="\<enddef\>" contains=vimDef fold keepend extend transparent
|
||||||
syn region vimFuncFold start="\<def\s\+new\i\+(" end="\<enddef\>" contains=vimDef fold keepend extend transparent
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
syn match vimFuncVar contained "a:\%(\K\k*\|\d\+\)\>"
|
syn match vimFuncVar contained "a:\%(\K\k*\|\d\+\)\>"
|
||||||
@ -323,6 +346,100 @@ syn match vimUserType contained "\<\u\w*\>"
|
|||||||
|
|
||||||
syn cluster vimType contains=vimType,vimCompoundType,vimUserType
|
syn cluster vimType contains=vimType,vimCompoundType,vimUserType
|
||||||
|
|
||||||
|
" Classes, Enums And Interfaces: {{{2
|
||||||
|
" =============================
|
||||||
|
|
||||||
|
if s:vim9script
|
||||||
|
" Methods {{{3
|
||||||
|
syn match vim9MethodDef contained "\<def\>" skipwhite nextgroup=vim9MethodDefName
|
||||||
|
syn match vim9MethodDefName contained "\<\h\w*\>" nextgroup=vim9MethodDefParams contains=@vim9MethodName
|
||||||
|
syn region vim9MethodDefParams contained
|
||||||
|
\ matchgroup=Delimiter start="(" end=")"
|
||||||
|
\ skipwhite skipnl nextgroup=vim9MethodDefBody,vimDefComment,vimEnddef,vim9MethodDefReturnType,vimCommentError
|
||||||
|
\ contains=vimDefParam,vim9Comment,vimFuncParamEquals
|
||||||
|
syn region vim9MethodDefReturnType contained
|
||||||
|
\ start=":\s" end="$" matchgroup=vim9Comment end="\ze[#"]"
|
||||||
|
\ skipwhite skipnl nextgroup=vim9MethodDefBody,vimDefComment,vimCommentError
|
||||||
|
\ contains=vimTypeSep
|
||||||
|
\ transparent
|
||||||
|
syn region vim9MethodDefBody contained
|
||||||
|
\ start="^.\=" matchgroup=vimCommand end="\<enddef\>"
|
||||||
|
\ skipwhite nextgroup=vimCmdSep,vim9Comment,vimCommentError
|
||||||
|
\ contains=@vim9MethodDefBodyList
|
||||||
|
|
||||||
|
syn cluster vim9MethodDefBodyList contains=@vimDefBodyList,vim9This,vim9Super
|
||||||
|
|
||||||
|
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimfunctionerror")
|
||||||
|
syn match vim9MethodNameError contained "\<[a-z0-9]\i\>"
|
||||||
|
endif
|
||||||
|
syn match vim9MethodName contained "\<new\i*\>"
|
||||||
|
syn keyword vim9MethodName contained empty len string
|
||||||
|
|
||||||
|
syn cluster vim9MethodName contains=vim9MethodName,vim9MethodNameError
|
||||||
|
|
||||||
|
if exists("g:vimsyn_folding") && g:vimsyn_folding =~# 'f'
|
||||||
|
syn region vim9MethodDefFold contained start="\%(^\s*\%(:\=static\s\+\)\=\)\@16<=:\=def\s\+\h\i*(" end="^\s*:\=enddef\>" contains=vim9MethodDef fold keepend extend transparent
|
||||||
|
syn region vim9MethodDefFold contained start="^\s*:\=def\s\+new\i*(" end="^\s*:\=enddef\>" contains=vim9MethodDef fold keepend extend transparent
|
||||||
|
endif
|
||||||
|
|
||||||
|
syn cluster vim9MethodDef contains=vim9MethodDef,vim9MethodDefFold
|
||||||
|
|
||||||
|
" Classes {{{3
|
||||||
|
syn cluster vim9ClassBodyList contains=vim9Abstract,vim9Class,vim9Comment,vim9LineComment,@vim9Continue,@vimExprList,vim9Extends,vim9Implements,@vim9MethodDef,vim9Public,vim9Static,vim9Const,vim9Final,vim9This,vim9Super,vim9Var
|
||||||
|
|
||||||
|
syn match vim9Class contained "\<class\>" skipwhite nextgroup=vim9ClassName
|
||||||
|
syn match vim9ClassName contained "\<\u\w*\>" skipwhite skipnl nextgroup=vim9Extends,vim9Implements
|
||||||
|
syn match vim9SuperClass contained "\<\u\w*\>" skipwhite skipnl nextgroup=vim9Implements
|
||||||
|
syn match vim9ImplementedInterface contained "\<\u\w*\>" skipwhite skipnl nextgroup=vim9InterfaceListComma,vim9Extends
|
||||||
|
syn match vim9InterfaceListComma contained "," skipwhite skipnl nextgroup=vim9ImplementedInterface
|
||||||
|
syn keyword vim9Abstract abstract skipwhite skipnl nextgroup=vim9ClassBody,vim9AbstractDef
|
||||||
|
syn keyword vim9Extends contained extends skipwhite skipnl nextgroup=vim9SuperClass
|
||||||
|
syn keyword vim9Implements contained implements skipwhite skipnl nextgroup=vim9ImplementedInterface
|
||||||
|
syn keyword vim9Public contained public
|
||||||
|
syn keyword vim9Static contained static
|
||||||
|
syn keyword vim9This contained this
|
||||||
|
syn keyword vim9Super contained super
|
||||||
|
|
||||||
|
VimFoldc syn region vim9ClassBody start="\<class\>" matchgroup=vimCommand end="\<endclass\>" contains=@vim9ClassBodyList transparent
|
||||||
|
|
||||||
|
" Enums {{{3
|
||||||
|
syn cluster vim9EnumBodyList contains=vim9Comment,vim9LineComment,@vim9Continue,vim9Enum,vim9Implements,@vim9MethodDef,vim9Const,vim9Final,vim9Var
|
||||||
|
|
||||||
|
syn match vim9Enum contained "\<enum\>" skipwhite nextgroup=vim9EnumName
|
||||||
|
syn match vim9EnumName contained "\<\u\w*\>" skipwhite skipnl nextgroup=vim9Implements
|
||||||
|
|
||||||
|
VimFolde syn region vim9EnumBody start="\<enum\>" matchgroup=vimCommand end="\<endenum\>" contains=@vim9EnumBodyList transparent
|
||||||
|
|
||||||
|
" Interfaces {{{3
|
||||||
|
" TODO: limit to decl only - no init values
|
||||||
|
syn cluster vim9InterfaceBodyList contains=vim9Comment,vim9LineComment,@vim9Continue,vim9Extends,vim9Interface,vim9AbstractDef,vim9Var
|
||||||
|
|
||||||
|
syn match vim9Interface contained "\<interface\>" skipwhite nextgroup=vim9InterfaceName
|
||||||
|
syn match vim9InterfaceName contained "\<\u\w*\>" skipwhite skipnl nextgroup=vim9Extends
|
||||||
|
|
||||||
|
syn keyword vim9AbstractDef contained def skipwhite nextgroup=vim9AbstractDefName
|
||||||
|
syn match vim9AbstractDefName contained "\<\h\w*\>" skipwhite nextgroup=vim9AbstractDefParams contains=@vim9MethodName
|
||||||
|
syn region vim9AbstractDefParams contained
|
||||||
|
\ matchgroup=Delimiter start="(" end=")"
|
||||||
|
\ skipwhite skipnl nextgroup=vimDefComment,vim9AbstractDefReturnType,vimCommentError
|
||||||
|
\ contains=vimDefParam,vim9Comment,vimFuncParamEquals
|
||||||
|
syn region vim9AbstractDefReturnType contained
|
||||||
|
\ start=":\s" end="$" matchgroup=vim9Comment end="\ze[#"]"
|
||||||
|
\ skipwhite skipnl nextgroup=vimDefComment,vimCommentError
|
||||||
|
\ contains=vimTypeSep
|
||||||
|
\ transparent
|
||||||
|
|
||||||
|
VimFoldi syn region vim9InterfaceBody start="\<interface\>" matchgroup=vimCommand end="\<endinterface\>" contains=@vim9InterfaceBodyList transparent
|
||||||
|
|
||||||
|
" type {{{3
|
||||||
|
syn match vim9Type "\<ty\%[pe]\>" skipwhite nextgroup=vim9TypeAlias,vim9TypeAliasError
|
||||||
|
syn match vim9TypeAlias contained "\<\u\w*\>" skipwhite nextgroup=vim9TypeEquals
|
||||||
|
syn match vim9TypeEquals contained "=" skipwhite nextgroup=@vimType
|
||||||
|
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_notypealiaserror")
|
||||||
|
syn match vim9TypeAliasError contained "\<\U\w*"
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
" Keymaps: {{{2
|
" Keymaps: {{{2
|
||||||
" =======
|
" =======
|
||||||
|
|
||||||
@ -541,7 +658,7 @@ Vim9 syn keyword vim9Const const skipwhite nextgroup=vim9Variable,vim9VariableLi
|
|||||||
Vim9 syn keyword vim9Final final skipwhite nextgroup=vim9Variable,vim9VariableList
|
Vim9 syn keyword vim9Final final skipwhite nextgroup=vim9Variable,vim9VariableList
|
||||||
Vim9 syn keyword vim9Var var skipwhite nextgroup=vim9Variable,vim9VariableList
|
Vim9 syn keyword vim9Var var skipwhite nextgroup=vim9Variable,vim9VariableList
|
||||||
|
|
||||||
syn match vim9Variable contained "\<\h\w*\>" skipwhite nextgroup=vimTypeSep,vimLetHereDoc
|
syn match vim9Variable contained "\<\h\w*\>" skipwhite nextgroup=vimTypeSep,vimLetHereDoc,vimOper
|
||||||
syn region vim9VariableList contained start="\[" end="]" contains=vim9Variable,@vimContinue
|
syn region vim9VariableList contained start="\[" end="]" contains=vim9Variable,@vimContinue
|
||||||
|
|
||||||
" For: {{{2
|
" For: {{{2
|
||||||
@ -668,7 +785,7 @@ syn case match
|
|||||||
" (following Gautam Iyer's suggestion)
|
" (following Gautam Iyer's suggestion)
|
||||||
" ==========================
|
" ==========================
|
||||||
syn match vimFunc "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\ze\s*(" contains=vimFuncEcho,vimFuncName,vimUserFunc,vimExecute
|
syn match vimFunc "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\ze\s*(" contains=vimFuncEcho,vimFuncName,vimUserFunc,vimExecute
|
||||||
syn match vimUserFunc contained "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\|\<\u[a-zA-Z0-9.]*\>\|\<if\>" contains=vimNotation
|
syn match vimUserFunc contained "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\|\<\u[a-zA-Z0-9.]*\>\|\<if\>" contains=vimNotation,vim9MethodName
|
||||||
syn keyword vimFuncEcho contained ec ech echo
|
syn keyword vimFuncEcho contained ec ech echo
|
||||||
|
|
||||||
syn match vimMap "\<map\%(\s\+(\)\@=" skipwhite nextgroup=vimMapBang,vimMapMod,vimMapLhs
|
syn match vimMap "\<map\%(\s\+(\)\@=" skipwhite nextgroup=vimMapBang,vimMapMod,vimMapLhs
|
||||||
@ -696,10 +813,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
|
||||||
" =====
|
" =====
|
||||||
@ -886,7 +1003,10 @@ syn match vimShebang "\%^#!.*" display
|
|||||||
|
|
||||||
syn match vimContinue "^\s*\zs\\"
|
syn match vimContinue "^\s*\zs\\"
|
||||||
syn match vimContinueComment '^\s*\zs["#]\\ .*'
|
syn match vimContinueComment '^\s*\zs["#]\\ .*'
|
||||||
syn cluster vimContinue contains=vimContinue,vimContinueComment
|
syn match vim9ContinueComment "^\s*\zs#\\ .*"
|
||||||
|
syn cluster vimContinue contains=vimContinue,vimContinueComment
|
||||||
|
syn cluster vim9Continue contains=vimContinue,vim9ContinueComment
|
||||||
|
|
||||||
syn region vimString start="^\s*\\\z(['"]\)" skip='\\\\\|\\\z1' end="\z1" oneline keepend contains=@vimStringGroup,vimContinue
|
syn region vimString start="^\s*\\\z(['"]\)" skip='\\\\\|\\\z1' end="\z1" oneline keepend contains=@vimStringGroup,vimContinue
|
||||||
syn match vimCommentTitleLeader '"\s\+'ms=s+1 contained
|
syn match vimCommentTitleLeader '"\s\+'ms=s+1 contained
|
||||||
syn match vim9CommentTitleLeader '#\s\+'ms=s+1 contained
|
syn match vim9CommentTitleLeader '#\s\+'ms=s+1 contained
|
||||||
@ -1145,6 +1265,8 @@ if !exists("skip_vim_syntax_inits")
|
|||||||
hi def link vimSynCaseError vimError
|
hi def link vimSynCaseError vimError
|
||||||
hi def link vimSynFoldMethodError vimError
|
hi def link vimSynFoldMethodError vimError
|
||||||
hi def link vimBufnrWarn vimWarn
|
hi def link vimBufnrWarn vimWarn
|
||||||
|
|
||||||
|
hi def link vim9TypeAliasError vimError
|
||||||
endif
|
endif
|
||||||
|
|
||||||
hi def link vimAbb vimCommand
|
hi def link vimAbb vimCommand
|
||||||
@ -1255,8 +1377,9 @@ if !exists("skip_vim_syntax_inits")
|
|||||||
hi def link vimMenuPriority Number
|
hi def link vimMenuPriority Number
|
||||||
hi def link vimMenuStatus Special
|
hi def link vimMenuStatus Special
|
||||||
hi def link vimMenutranslateComment vimComment
|
hi def link vimMenutranslateComment vimComment
|
||||||
|
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
|
||||||
@ -1348,19 +1471,36 @@ if !exists("skip_vim_syntax_inits")
|
|||||||
hi def link vimVar Identifier
|
hi def link vimVar Identifier
|
||||||
hi def link vimWarn WarningMsg
|
hi def link vimWarn WarningMsg
|
||||||
|
|
||||||
|
hi def link vim9Abstract vimCommand
|
||||||
hi def link vim9Boolean Boolean
|
hi def link vim9Boolean Boolean
|
||||||
|
hi def link vim9Class vimCommand
|
||||||
hi def link vim9Comment Comment
|
hi def link vim9Comment Comment
|
||||||
hi def link vim9CommentError vimError
|
hi def link vim9CommentError vimError
|
||||||
hi def link vim9CommentTitle PreProc
|
hi def link vim9CommentTitle PreProc
|
||||||
hi def link vim9Const vimCommand
|
hi def link vim9Const vimCommand
|
||||||
|
hi def link vim9ContinueComment vimContinueComment
|
||||||
|
hi def link vim9Enum vimCommand
|
||||||
|
hi def link vim9Export vimCommand
|
||||||
|
hi def link vim9Extends Keyword
|
||||||
hi def link vim9Final vimCommand
|
hi def link vim9Final vimCommand
|
||||||
hi def link vim9For vimCommand
|
hi def link vim9For vimCommand
|
||||||
|
hi def link vim9Implements Keyword
|
||||||
|
hi def link vim9AbstractDef vimCommand
|
||||||
|
hi def link vim9Interface vimCommand
|
||||||
hi def link vim9LineComment vimComment
|
hi def link vim9LineComment vimComment
|
||||||
|
hi def link vim9MethodDef vimCommand
|
||||||
|
hi def link vim9MethodNameError vimFunctionError
|
||||||
hi def link vim9Null Constant
|
hi def link vim9Null Constant
|
||||||
hi def link vim9Var vimCommand
|
hi def link vim9Public vimCommand
|
||||||
|
hi def link vim9Static vimCommand
|
||||||
|
hi def link vim9Super Identifier
|
||||||
|
hi def link vim9This Identifier
|
||||||
|
hi def link vim9Type vimCommand
|
||||||
|
hi def link vim9TypeEquals vimOper
|
||||||
hi def link vim9Variable vimVar
|
hi def link vim9Variable vimVar
|
||||||
hi def link vim9Vim9Script vimCommand
|
hi def link vim9Var vimCommand
|
||||||
hi def link vim9Vim9ScriptArg Special
|
hi def link vim9Vim9ScriptArg Special
|
||||||
|
hi def link vim9Vim9Script vimCommand
|
||||||
|
|
||||||
hi def link nvimAutoEvent vimAutoEvent
|
hi def link nvimAutoEvent vimAutoEvent
|
||||||
hi def link nvimHLGroup vimHLGroup
|
hi def link nvimHLGroup vimHLGroup
|
||||||
@ -1374,9 +1514,12 @@ let b:current_syntax = "vim"
|
|||||||
delc Vim9
|
delc Vim9
|
||||||
delc VimL
|
delc VimL
|
||||||
delc VimFolda
|
delc VimFolda
|
||||||
|
delc VimFoldc
|
||||||
|
delc VimFolde
|
||||||
delc VimFoldf
|
delc VimFoldf
|
||||||
delc VimFoldh
|
delc VimFoldh
|
||||||
delc VimFoldH
|
delc VimFoldH
|
||||||
|
delc VimFoldi
|
||||||
delc VimFoldl
|
delc VimFoldl
|
||||||
delc VimFoldm
|
delc VimFoldm
|
||||||
delc VimFoldp
|
delc VimFoldp
|
||||||
|
Loading…
Reference in New Issue
Block a user