@@ -41,12 +41,12 @@ syntax keyword jsModuleKeywords contained import
4141syntax keyword jsModuleKeywords contained export skipwhite skipempty nextgroup =jsExportBlock,jsModuleDefault
4242syntax keyword jsModuleOperators contained from
4343syntax keyword jsModuleOperators contained as
44- syntax region jsModuleGroup contained matchgroup =jsBraces start =/ {/ end =/ }/ contains =jsModuleOperators,jsNoise,jsComment
44+ syntax region jsModuleGroup contained matchgroup =jsModuleBraces start =/ {/ end =/ }/ contains =jsModuleOperators,jsNoise,jsComment
4545syntax match jsModuleAsterisk contained / */
4646syntax keyword jsModuleDefault contained default skipwhite skipempty nextgroup =@jsExpression
4747syntax region jsImportContainer start =/ \< import\> / end =" \% (;\| $\) " contains =jsModuleKeywords,jsModuleOperators,jsComment,jsString,jsTemplateString,jsNoise,jsModuleGroup,jsModuleAsterisk
4848syntax region jsExportContainer start =/ \< export\> / end =" \% (;\| $\) " contains =jsModuleKeywords,jsModuleOperators,jsStorageClass,jsModuleDefault,@jsExpression
49- syntax region jsExportBlock contained matchgroup =jsBraces start =/ {/ end =/ }/ contains =jsModuleOperators,jsNoise,jsComment
49+ syntax region jsExportBlock contained matchgroup =jsExportBraces start =/ {/ end =/ }/ contains =jsModuleOperators,jsNoise,jsComment
5050
5151" Strings, Templates, Numbers
5252syntax region jsString start =+ "+ skip =+ \\\( "\| $\) + end =+ "\| $+ contains =jsSpecial,@Spell extend
@@ -98,17 +98,17 @@ exe 'syntax keyword jsSuper super contained '.(exists('g:javascript_conceal
9898" Statement Keywords
9999syntax keyword jsStatement contained break continue with yield debugger
100100syntax keyword jsConditional if skipwhite skipempty nextgroup =jsParenIfElse
101- syntax keyword jsConditional else skipwhite skipempty nextgroup =jsCommentMisc,jsBlock
101+ syntax keyword jsConditional else skipwhite skipempty nextgroup =jsCommentMisc,jsIfElseBlock
102102syntax keyword jsConditional switch skipwhite skipempty nextgroup =jsParenSwitch
103103syntax keyword jsRepeat while for skipwhite skipempty nextgroup =jsParenRepeat
104- syntax keyword jsDo do skipwhite skipempty nextgroup =jsBlock
104+ syntax keyword jsDo do skipwhite skipempty nextgroup =jsRepeatBlock
105105syntax keyword jsLabel contained case default
106106syntax keyword jsTry try skipwhite skipempty nextgroup =jsTryCatchBlock
107- syntax keyword jsFinally contained finally skipwhite skipempty nextgroup =jsBlock
107+ syntax keyword jsFinally contained finally skipwhite skipempty nextgroup =jsFinallyBlock
108108syntax keyword jsCatch contained catch skipwhite skipempty nextgroup =jsParenCatch
109109syntax keyword jsException throw
110110syntax keyword jsAsyncKeyword async await
111- syntax match jsSwitchColon contained / :/ skipwhite skipempty nextgroup =jsBlock
111+ syntax match jsSwitchColon contained / :/ skipwhite skipempty nextgroup =jsSwitchBlock
112112
113113" Keywords
114114syntax keyword jsGlobalObjects Array Boolean Date Function Iterator Number Object Symbol Map WeakMap Set RegExp String Proxy Promise Buffer ParallelArray ArrayBuffer DataView Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray JSON Math console document window Intl Collator DateTimeFormat NumberFormat
@@ -136,16 +136,19 @@ syntax keyword jsHtmlEvents onblur onclick oncontextmenu ondblclick onfocus
136136" " Code blocks
137137syntax region jsBracket matchgroup =jsBrackets start =/ \[ / end =/ \] / contains =@jsExpression extend fold
138138syntax region jsParen matchgroup =jsParens start =/ (/ end =/ )/ contains =@jsAll extend fold
139- syntax region jsParenIfElse contained matchgroup =jsParensIfElse start =/ (/ end =/ )/ contains =@jsAll skipwhite skipempty nextgroup =jsCommentMisc,jsBlock extend fold
140- syntax region jsParenRepeat contained matchgroup =jsParensRepeat start =/ (/ end =/ )/ contains =@jsAll skipwhite skipempty nextgroup =jsCommentMisc,jsBlock extend fold
139+ syntax region jsParenIfElse contained matchgroup =jsParensIfElse start =/ (/ end =/ )/ contains =@jsAll skipwhite skipempty nextgroup =jsCommentMisc,jsIfElseBlock extend fold
140+ syntax region jsParenRepeat contained matchgroup =jsParensRepeat start =/ (/ end =/ )/ contains =@jsAll skipwhite skipempty nextgroup =jsCommentMisc,jsRepeatBlock extend fold
141141syntax region jsParenSwitch contained matchgroup =jsParensSwitch start =/ (/ end =/ )/ contains =@jsAll skipwhite skipempty nextgroup =jsSwitchBlock extend fold
142142syntax region jsParenCatch contained matchgroup =jsParensCatch start =/ (/ end =/ )/ skipwhite skipempty nextgroup =jsTryCatchBlock extend fold
143143syntax region jsFuncArgs contained matchgroup =jsFuncParens start =/ (/ end =/ )/ contains =jsFuncArgCommas,jsComment,jsFuncArgExpression,jsDestructuringBlock,jsRestExpression,jsFlowArgumentDef skipwhite skipempty nextgroup =jsCommentFunction,jsFuncBlock,jsFlowReturn extend fold
144144syntax region jsClassBlock contained matchgroup =jsClassBraces start =/ {/ end =/ }/ contains =jsClassFuncName,jsClassMethodType,jsArrowFunction,jsArrowFuncArgs,jsComment,jsGenerator,jsDecorator,jsClassProperty,jsClassPropertyComputed,jsClassStringKey,jsNoise extend fold
145145syntax region jsFuncBlock contained matchgroup =jsFuncBraces start =/ {/ end =/ }/ contains =@jsAll extend fold
146+ syntax region jsIfElseBlock contained matchgroup =jsIfElseBraces start =/ {/ end =/ }/ contains =@jsAll extend fold
146147syntax region jsBlock contained matchgroup =jsBraces start =/ {/ end =/ }/ contains =@jsAll extend fold
147- syntax region jsTryCatchBlock contained matchgroup =jsBraces start =/ {/ end =/ }/ contains =@jsAll skipwhite skipempty nextgroup =jsCatch,jsFinally extend fold
148- syntax region jsSwitchBlock contained matchgroup =jsBraces start =/ {/ end =/ }/ contains =@jsAll,jsLabel,jsSwitchColon extend fold
148+ syntax region jsTryCatchBlock contained matchgroup =jsTryCatchBraces start =/ {/ end =/ }/ contains =@jsAll skipwhite skipempty nextgroup =jsCatch,jsFinally extend fold
149+ syntax region jsFinallyBlock contained matchgroup =jsFinallyBraces start =/ {/ end =/ }/ contains =@jsAll extend fold
150+ syntax region jsSwitchBlock contained matchgroup =jsSwitchBraces start =/ {/ end =/ }/ contains =@jsAll,jsLabel,jsSwitchColon extend fold
151+ syntax region jsRepeatBlock contained matchgroup =jsRepeatBraces start =/ {/ end =/ }/ contains =@jsAll extend fold
149152syntax region jsDestructuringBlock contained matchgroup =jsDestructuringBraces start =/ {/ end =/ }/ contains =jsDestructuringProperty,jsDestructuringAssignment,jsDestructuringNoise,jsDestructuringPropertyComputed,jsSpreadExpression extend fold
150153syntax region jsDestructuringArray contained matchgroup =jsDestructuringBraces start =/ \[ / end =/ \] / contains =jsDestructuringPropertyValue,jsNoise,jsDestructuringProperty,jsSpreadExpression extend fold
151154syntax region jsObject matchgroup =jsObjectBraces start =/ {/ end =/ }/ contains =jsObjectKey,jsObjectKeyString,jsObjectKeyComputed,jsObjectSeparator,jsObjectFuncName,jsObjectMethodType,jsGenerator,jsComment,jsObjectStringKey,jsSpreadExpression extend fold
@@ -299,8 +302,15 @@ if version >= 508 || !exists("did_javascript_syn_inits")
299302 HiLink jsFuncParens Noise
300303 HiLink jsClassBraces Noise
301304 HiLink jsClassNoise Noise
305+ HiLink jsIfElseBraces jsBraces
306+ HiLink jsTryCatchBraces jsBraces
307+ HiLink jsModuleBraces jsBraces
302308 HiLink jsObjectBraces Noise
303309 HiLink jsObjectSeparator Noise
310+ HiLink jsFinallyBraces jsBraces
311+ HiLink jsRepeatBraces jsBraces
312+ HiLink jsSwitchBraces jsBraces
313+ HiLink jsExportBraces jsBraces
304314 HiLink jsSpecial Special
305315 HiLink jsTemplateVar Special
306316 HiLink jsTemplateBraces jsBraces
0 commit comments