@@ -50,22 +50,22 @@ syntax match jsModuleComma contained /,/ skipwhite skipempty nextgroup=
5050" Strings, Templates, Numbers
5151syntax region jsString start =+ "+ skip =+ \\\( "\| $\) + end =+ "\| $+ contains =jsSpecial,@Spell extend
5252syntax region jsString start =+ '+ skip =+ \\\( '\| $\) + end =+ '\| $+ contains =jsSpecial,@Spell extend
53- syntax region jsTemplateString start =+ `+ skip =+ \\\( `\| $\) + end =+ `+ contains =jsTemplateVar ,jsSpecial extend
53+ syntax region jsTemplateString start =+ `+ skip =+ \\\( `\| $\) + end =+ `+ contains =jsTemplateExpression ,jsSpecial extend
5454syntax match jsTaggedTemplate / \k\+\% (`\)\@ =/ nextgroup =jsTemplateString
5555syntax match jsNumber / \<\d\+\% ([eE][+-]\=\d\+\)\=\>\|\< 0[bB][01]\+\>\|\< 0[oO]\o\+\>\|\< 0[xX]\x\+\> /
5656syntax keyword jsNumber Infinity
5757syntax match jsFloat / \<\% (\d\+\.\d\+\|\d\+\.\|\.\d\+\)\% ([eE][+-]\=\d\+\)\=\> /
5858
5959" Regular Expressions
60- syntax match jsSpecial contained " \v\\ %(0|\\ x\x\{ 2\}\|\\ u\x\{ 4\}\|\c [A-Z]|.)"
61- syntax region jsTemplateVar contained matchgroup =jsTemplateBraces start =+ ${+ end =+ }+ contains =@jsExpression keepend
62- syntax region jsRegexpCharClass contained start =+ \[ + skip =+ \\ .+ end =+ \] +
63- syntax match jsRegexpBoundary contained " \v %(\< @![\^ $]|\\ [bB])"
64- syntax match jsRegexpBackRef contained " \v\\ [1-9][0-9]*"
65- syntax match jsRegexpQuantifier contained " \v\\ @<!%([?*+]|\{\d +%(,|,\d +)?})\? ?"
66- syntax match jsRegexpOr contained " \v\< @!\| "
67- syntax match jsRegexpMod contained " \v\( @<=\? [:=!>]"
68- syntax region jsRegexpGroup contained start =" \\\@ <!(" skip =" \\ .\|\[\(\\ .\| [^]]\) *\] " end =" \\\@ <!)" contains =jsRegexpCharClass,@jsRegexpSpecial keepend
60+ syntax match jsSpecial contained " \v\\ %(0|\\ x\x\{ 2\}\|\\ u\x\{ 4\}\|\c [A-Z]|.)"
61+ syntax region jsTemplateExpression contained matchgroup =jsTemplateBraces start =+ ${+ end =+ }+ contains =@jsExpression keepend
62+ syntax region jsRegexpCharClass contained start =+ \[ + skip =+ \\ .+ end =+ \] +
63+ syntax match jsRegexpBoundary contained " \v %(\< @![\^ $]|\\ [bB])"
64+ syntax match jsRegexpBackRef contained " \v\\ [1-9][0-9]*"
65+ syntax match jsRegexpQuantifier contained " \v\\ @<!%([?*+]|\{\d +%(,|,\d +)?})\? ?"
66+ syntax match jsRegexpOr contained " \v\< @!\| "
67+ syntax match jsRegexpMod contained " \v\( @<=\? [:=!>]"
68+ syntax region jsRegexpGroup contained start =" \\\@ <!(" skip =" \\ .\|\[\(\\ .\| [^]]\) *\] " end =" \\\@ <!)" contains =jsRegexpCharClass,@jsRegexpSpecial keepend
6969if v: version > 703 || v: version == 603 && has (" patch1088" )
7070 syntax region jsRegexpString start =+ \% (\% (\% (return\| case\)\s\+\)\@ 50<=\|\% (\% ([)\] "']\|\d\|\w\)\s *\)\@ 50<!\) /\(\*\| /\)\@ !+ skip =+ \\ .\|\[\% (\\ .\| [^]]\) *\] + end =+ /[gimy]\{ ,4}+ contains =jsRegexpCharClass,jsRegexpGroup,@jsRegexpSpecial oneline keepend extend
7171else
@@ -324,7 +324,6 @@ if version >= 508 || !exists("did_javascript_syn_inits")
324324 HiLink jsRepeatBraces Noise
325325 HiLink jsSwitchBraces Noise
326326 HiLink jsSpecial Special
327- HiLink jsTemplateVar Special
328327 HiLink jsTemplateBraces Noise
329328 HiLink jsGlobalObjects Constant
330329 HiLink jsGlobalNodeObjects Constant
0 commit comments