mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 01:34:25 +00:00 
			
		
		
		
	vim-patch:c79646dfb101
runtime(vim): Update syntax file (vim/vim#13671)
Support multiline :syntax commands.
Match :syn-cchar option in :syn-{keyword,region}.
c79646dfb1
Co-authored-by: dkearns <dougkearns@gmail.com>
			
			
This commit is contained in:
		@@ -476,16 +476,22 @@ syn match	vimNormCmds contained	".*$"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
" Syntax: {{{2
 | 
					" Syntax: {{{2
 | 
				
			||||||
"=======
 | 
					"=======
 | 
				
			||||||
syn match	vimGroupList	contained	"@\=[^ \t,]*"	contains=vimGroupSpecial,vimPatSep
 | 
					syn match	vimGroupList		contained	"@\=[^[:space:],]\+"	nextgroup=vimGroupListComma                 skipwhite skipnl
 | 
				
			||||||
syn match	vimGroupList	contained	"@\=[^ \t,]*,"	nextgroup=vimGroupList contains=vimGroupSpecial,vimPatSep
 | 
					syn match	vimGroupListContinue	contained	"\\"		nextgroup=vimGroupList	        skipwhite
 | 
				
			||||||
 | 
					syn match	vimGroupListComma		contained	","		nextgroup=vimGroupList,vimGroupListContinue skipwhite skipnl
 | 
				
			||||||
syn keyword	vimGroupSpecial		contained	ALL	ALLBUT	CONTAINED	TOP
 | 
					syn keyword	vimGroupSpecial		contained	ALL	ALLBUT	CONTAINED	TOP
 | 
				
			||||||
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimsynerror")
 | 
					if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimsynerror")
 | 
				
			||||||
 syn match	vimSynError	contained	"\i\+"
 | 
					 syn match	vimSynError	contained	"\i\+"
 | 
				
			||||||
 syn match	vimSynError	contained	"\i\+="	nextgroup=vimGroupList
 | 
					 syn match	vimSynError	contained	"\i\+="	nextgroup=vimGroupList
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
syn match	vimSynContains	contained	"\<contain\(s\|edin\)="	nextgroup=vimGroupList
 | 
					syn match	vimSynContains	contained	"\<contain\(s\|edin\)="	nextgroup=vimGroupList,vimGroupListContinue skipwhite skipnl
 | 
				
			||||||
syn match	vimSynKeyContainedin	contained	"\<containedin="	nextgroup=vimGroupList
 | 
					syn match	vimSynKeyContainedin	contained	"\<containedin="	nextgroup=vimGroupList
 | 
				
			||||||
syn match	vimSynNextgroup	contained	"nextgroup="	nextgroup=vimGroupList
 | 
					syn match	vimSynNextgroup	contained	"nextgroup="	nextgroup=vimGroupList,vimGroupListContinue skipwhite skipnl
 | 
				
			||||||
 | 
					if has("conceal")
 | 
				
			||||||
 | 
					 syn match	vimSynCchar	contained	"\<cchar="	nextgroup=vimSynCcharValue
 | 
				
			||||||
 | 
					 syn match	vimSynCcharValue	contained	"\S"
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
syn match	vimSyntax	"\<sy\%[ntax]\>"	contains=vimCommand skipwhite nextgroup=vimSynType,vimComment,vim9Comment
 | 
					syn match	vimSyntax	"\<sy\%[ntax]\>"	contains=vimCommand skipwhite nextgroup=vimSynType,vimComment,vim9Comment
 | 
				
			||||||
syn match	vimAuSyntax	contained	"\s+sy\%[ntax]"	contains=vimCommand skipwhite nextgroup=vimSynType,vimComment,vim9Comment
 | 
					syn match	vimAuSyntax	contained	"\s+sy\%[ntax]"	contains=vimCommand skipwhite nextgroup=vimSynType,vimComment,vim9Comment
 | 
				
			||||||
@@ -503,7 +509,7 @@ syn keyword	vimSynType	contained	clear	skipwhite nextgroup=vimGroupList
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
" Syntax: cluster {{{2
 | 
					" Syntax: cluster {{{2
 | 
				
			||||||
syn keyword	vimSynType	contained	cluster	skipwhite nextgroup=vimClusterName
 | 
					syn keyword	vimSynType	contained	cluster	skipwhite nextgroup=vimClusterName
 | 
				
			||||||
syn region	vimClusterName	contained	matchgroup=vimGroupName start="\h\w*" skip="\\\\\|\\|" matchgroup=vimSep end="$\||" contains=vimGroupAdd,vimGroupRem,vimSynContains,vimSynError
 | 
					syn region	vimClusterName	contained	matchgroup=vimGroupName start="\h\w*" skip="\\\\\|\\\|\n\s*\\" matchgroup=vimSep end="$\||" contains=vimContinue,vimGroupAdd,vimGroupRem,vimSynContains,vimSynError
 | 
				
			||||||
syn match	vimGroupAdd	contained	"add="	nextgroup=vimGroupList
 | 
					syn match	vimGroupAdd	contained	"add="	nextgroup=vimGroupList
 | 
				
			||||||
syn match	vimGroupRem	contained	"remove="	nextgroup=vimGroupList
 | 
					syn match	vimGroupRem	contained	"remove="	nextgroup=vimGroupList
 | 
				
			||||||
syn cluster vimFuncBodyList add=vimSynType,vimGroupAdd,vimGroupRem
 | 
					syn cluster vimFuncBodyList add=vimSynType,vimGroupAdd,vimGroupRem
 | 
				
			||||||
@@ -525,21 +531,17 @@ syn keyword	vimSynType	contained	include	skipwhite nextgroup=vimGroupList
 | 
				
			|||||||
syn cluster vimFuncBodyList add=vimSynType
 | 
					syn cluster vimFuncBodyList add=vimSynType
 | 
				
			||||||
 | 
					
 | 
				
			||||||
" Syntax: keyword {{{2
 | 
					" Syntax: keyword {{{2
 | 
				
			||||||
syn cluster	vimSynKeyGroup	contains=vimSynNextgroup,vimSynKeyOpt,vimSynKeyContainedin
 | 
					syn cluster	vimSynKeyGroup	contains=vimContinue,vimSynCchar,vimSynNextgroup,vimSynKeyOpt,vimSynKeyContainedin
 | 
				
			||||||
syn keyword	vimSynType	contained	keyword	skipwhite nextgroup=vimSynKeyRegion
 | 
					syn keyword	vimSynType	contained	keyword	skipwhite nextgroup=vimSynKeyRegion
 | 
				
			||||||
syn region	vimSynKeyRegion	contained oneline keepend	matchgroup=vimGroupName start="\h\w*" skip="\\\\\|\\|" matchgroup=vimSep end="|\|$" contains=@vimSynKeyGroup
 | 
					syn region	vimSynKeyRegion	contained         keepend	matchgroup=vimGroupName start="\h\w*" skip="\\\\\|\\|\|\n\s*\\" matchgroup=vimSep end="|\|$" contains=@vimSynKeyGroup
 | 
				
			||||||
syn match	vimSynKeyOpt	contained	"\%#=1\<\(conceal\|contained\|transparent\|skipempty\|skipwhite\|skipnl\)\>"
 | 
					syn match	vimSynKeyOpt	contained	"\%#=1\<\(conceal\|contained\|transparent\|skipempty\|skipwhite\|skipnl\)\>"
 | 
				
			||||||
syn cluster vimFuncBodyList add=vimSynType
 | 
					syn cluster vimFuncBodyList add=vimSynType
 | 
				
			||||||
 | 
					
 | 
				
			||||||
" Syntax: match {{{2
 | 
					" Syntax: match {{{2
 | 
				
			||||||
syn cluster	vimSynMtchGroup	contains=vimMtchComment,vimSynContains,vimSynError,vimSynMtchOpt,vimSynNextgroup,vimSynRegPat,vimNotation,vim9Comment
 | 
					syn cluster	vimSynMtchGroup	contains=vimContinue,vimMtchComment,vimSynCchar,vimSynContains,vimSynError,vimSynMtchOpt,vimSynNextgroup,vimSynRegPat,vimNotation,vim9Comment
 | 
				
			||||||
syn keyword	vimSynType	contained	match	skipwhite nextgroup=vimSynMatchRegion
 | 
					syn keyword	vimSynType	contained	match	skipwhite nextgroup=vimSynMatchRegion
 | 
				
			||||||
syn region	vimSynMatchRegion	contained keepend	matchgroup=vimGroupName start="\h\w*" matchgroup=vimSep end="|\|$" contains=@vimSynMtchGroup
 | 
					syn region	vimSynMatchRegion	contained keepend	matchgroup=vimGroupName start="\h\w*" skip="\n\s*\\" matchgroup=vimSep end="|\|$" contains=@vimSynMtchGroup
 | 
				
			||||||
syn match	vimSynMtchOpt	contained	"\%#=1\<\(conceal\|transparent\|contained\|excludenl\|keepend\|skipempty\|skipwhite\|display\|extend\|skipnl\|fold\)\>"
 | 
					syn match	vimSynMtchOpt	contained	"\%#=1\<\(conceal\|transparent\|contained\|excludenl\|keepend\|skipempty\|skipwhite\|display\|extend\|skipnl\|fold\)\>"
 | 
				
			||||||
if has("conceal")
 | 
					 | 
				
			||||||
 syn match	vimSynMtchOpt	contained	"\<cchar="	nextgroup=vimSynMtchCchar
 | 
					 | 
				
			||||||
 syn match	vimSynMtchCchar	contained	"\S"
 | 
					 | 
				
			||||||
endif
 | 
					 | 
				
			||||||
syn cluster vimFuncBodyList add=vimSynMtchGroup
 | 
					syn cluster vimFuncBodyList add=vimSynMtchGroup
 | 
				
			||||||
 | 
					
 | 
				
			||||||
" Syntax: off and on {{{2
 | 
					" Syntax: off and on {{{2
 | 
				
			||||||
@@ -547,13 +549,13 @@ syn keyword	vimSynType	contained	enable	list	manual	off	on	reset
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
" Syntax: region {{{2
 | 
					" Syntax: region {{{2
 | 
				
			||||||
syn cluster	vimSynRegPatGroup	contains=vimPatSep,vimNotPatSep,vimSynPatRange,vimSynNotPatRange,vimSubstSubstr,vimPatRegion,vimPatSepErr,vimNotation
 | 
					syn cluster	vimSynRegPatGroup	contains=vimPatSep,vimNotPatSep,vimSynPatRange,vimSynNotPatRange,vimSubstSubstr,vimPatRegion,vimPatSepErr,vimNotation
 | 
				
			||||||
syn cluster	vimSynRegGroup	contains=vimSynContains,vimSynNextgroup,vimSynRegOpt,vimSynReg,vimSynMtchGrp
 | 
					syn cluster	vimSynRegGroup	contains=vimContinue,vimSynCchar,vimSynContains,vimSynNextgroup,vimSynRegOpt,vimSynReg,vimSynMtchGrp
 | 
				
			||||||
syn keyword	vimSynType	contained	region	skipwhite nextgroup=vimSynRegion
 | 
					syn keyword	vimSynType	contained	region	skipwhite nextgroup=vimSynRegion
 | 
				
			||||||
syn region	vimSynRegion	contained keepend	matchgroup=vimGroupName start="\h\w*" skip="\\\\\|\\|" end="|\|$" contains=@vimSynRegGroup
 | 
					syn region	vimSynRegion	contained keepend	matchgroup=vimGroupName start="\h\w*" skip="\\\\\|\\\|\n\s*\\" end="|\|$" contains=@vimSynRegGroup
 | 
				
			||||||
syn match	vimSynRegOpt	contained	"\%#=1\<\(conceal\(ends\)\=\|transparent\|contained\|excludenl\|skipempty\|skipwhite\|display\|keepend\|oneline\|extend\|skipnl\|fold\)\>"
 | 
					syn match	vimSynRegOpt	contained	"\%#=1\<\(conceal\(ends\)\=\|transparent\|contained\|excludenl\|skipempty\|skipwhite\|display\|keepend\|oneline\|extend\|skipnl\|fold\)\>"
 | 
				
			||||||
syn match	vimSynReg	contained	"\(start\|skip\|end\)="he=e-1	nextgroup=vimSynRegPat
 | 
					syn match	vimSynReg	contained	"\(start\|skip\|end\)="he=e-1	nextgroup=vimSynRegPat
 | 
				
			||||||
syn match	vimSynMtchGrp	contained	"matchgroup="	nextgroup=vimGroup,vimHLGroup,vimOnlyHLGroup,nvimHLGroup
 | 
					syn match	vimSynMtchGrp	contained	"matchgroup="	nextgroup=vimGroup,vimHLGroup,vimOnlyHLGroup,nvimHLGroup
 | 
				
			||||||
syn region	vimSynRegPat	contained extend	start="\z([-`~!@#$%^&*_=+;:'",./?]\)"  skip="\\\\\|\\\z1"  end="\z1"  contains=@vimSynRegPatGroup skipwhite nextgroup=vimSynPatMod,vimSynReg
 | 
					syn region	vimSynRegPat	contained extend	start="\z([-`~!@#$%^&*_=+;:'",./?]\)"  skip="\\\\\|\\\z1\|\n\s*\\"  end="\z1"  contains=@vimSynRegPatGroup skipwhite nextgroup=vimSynPatMod,vimSynReg
 | 
				
			||||||
syn match	vimSynPatMod	contained	"\%#=1\(hs\|ms\|me\|hs\|he\|rs\|re\)=[se]\([-+]\d\+\)\="
 | 
					syn match	vimSynPatMod	contained	"\%#=1\(hs\|ms\|me\|hs\|he\|rs\|re\)=[se]\([-+]\d\+\)\="
 | 
				
			||||||
syn match	vimSynPatMod	contained	"\%#=1\(hs\|ms\|me\|hs\|he\|rs\|re\)=[se]\([-+]\d\+\)\=," nextgroup=vimSynPatMod
 | 
					syn match	vimSynPatMod	contained	"\%#=1\(hs\|ms\|me\|hs\|he\|rs\|re\)=[se]\([-+]\d\+\)\=," nextgroup=vimSynPatMod
 | 
				
			||||||
syn match	vimSynPatMod	contained	"lc=\d\+"
 | 
					syn match	vimSynPatMod	contained	"lc=\d\+"
 | 
				
			||||||
@@ -642,10 +644,12 @@ syn match	vimCtrlChar	"[--]"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
" Beginners - Patterns that involve ^ {{{2
 | 
					" Beginners - Patterns that involve ^ {{{2
 | 
				
			||||||
" =========
 | 
					" =========
 | 
				
			||||||
syn match	vimLineComment	+^[ \t:]*".*$+	contains=@vimCommentGroup,vimCommentString,vimCommentTitle
 | 
					syn match	vimLineComment	+^[ \t:]*".*$+	contains=@vimCommentGroup,vimCommentString,vimCommentTitle,vimComment
 | 
				
			||||||
 | 
					syn match	vimLineComment	+^[ \t:]*"\("[^"]*"\|[^"]\)*$+	contains=@vimCommentGroup,vimCommentString,vimCommentTitle
 | 
				
			||||||
syn match	vim9LineComment	+^[ \t:]\+#.*$+	contains=@vimCommentGroup,vimCommentString,vimCommentTitle
 | 
					syn match	vim9LineComment	+^[ \t:]\+#.*$+	contains=@vimCommentGroup,vimCommentString,vimCommentTitle
 | 
				
			||||||
syn match	vimCommentTitle	'"\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1	contained contains=vimCommentTitleLeader,vimTodo,@vimCommentGroup
 | 
					syn match	vimCommentTitle	'"\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1	contained contains=vimCommentTitleLeader,vimTodo,@vimCommentGroup
 | 
				
			||||||
syn match	vimContinue	"^\s*\\"
 | 
					" Note: Look-behind to work around nextgroup skipnl consuming leading whitespace and preventing a match
 | 
				
			||||||
 | 
					syn match	vimContinue	"\%(^\s*\)\@32<=\\"
 | 
				
			||||||
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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -910,6 +914,7 @@ if !exists("skip_vim_syntax_inits")
 | 
				
			|||||||
 hi def link vimFuncSID	Special
 | 
					 hi def link vimFuncSID	Special
 | 
				
			||||||
 hi def link vimFuncVar	Identifier
 | 
					 hi def link vimFuncVar	Identifier
 | 
				
			||||||
 hi def link vimGroupAdd	vimSynOption
 | 
					 hi def link vimGroupAdd	vimSynOption
 | 
				
			||||||
 | 
					 hi def link vimGroupListContinue	vimContinue
 | 
				
			||||||
 hi def link vimGroupName	vimGroup
 | 
					 hi def link vimGroupName	vimGroup
 | 
				
			||||||
 hi def link vimGroupRem	vimSynOption
 | 
					 hi def link vimGroupRem	vimSynOption
 | 
				
			||||||
 hi def link vimGroupSpecial	Special
 | 
					 hi def link vimGroupSpecial	Special
 | 
				
			||||||
@@ -1004,6 +1009,8 @@ if !exists("skip_vim_syntax_inits")
 | 
				
			|||||||
 hi def link vimSynFoldMethod	Type
 | 
					 hi def link vimSynFoldMethod	Type
 | 
				
			||||||
 hi def link vimSynKeyContainedin	vimSynContains
 | 
					 hi def link vimSynKeyContainedin	vimSynContains
 | 
				
			||||||
 hi def link vimSynKeyOpt	vimSynOption
 | 
					 hi def link vimSynKeyOpt	vimSynOption
 | 
				
			||||||
 | 
					 hi def link vimSynCchar	vimSynOption
 | 
				
			||||||
 | 
					 hi def link vimSynCcharValue	Character
 | 
				
			||||||
 hi def link vimSynMtchGrp	vimSynOption
 | 
					 hi def link vimSynMtchGrp	vimSynOption
 | 
				
			||||||
 hi def link vimSynMtchOpt	vimSynOption
 | 
					 hi def link vimSynMtchOpt	vimSynOption
 | 
				
			||||||
 hi def link vimSynNextgroup	vimSynOption
 | 
					 hi def link vimSynNextgroup	vimSynOption
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user