@@ -80,8 +80,10 @@ syntax case match
8080" " Syntax in the JavaScript code
8181syntax match jsFuncCall / \k\+\% (\s *(\)\@ =/
8282syntax match jsSpecial " \v\\ %(0|\\ x\x\{ 2\}\|\\ u\x\{ 4\}\|\c [A-Z]|.)"
83+ syntax match jsTemplateVar " \$ {.\{ -}}"
8384syntax region jsStringD start =+ "+ skip =+ \\\\\|\\ $"+ end =+ "+ contains =jsSpecial,@htmlPreproc,@Spell
8485syntax region jsStringS start =+ '+ skip =+ \\\\\|\\ $'+ end =+ '+ contains =jsSpecial,@htmlPreproc,@Spell
86+ syntax region jsTemplateString start =+ `+ skip =+ \\\\\|\\ $`+ end =+ `+ contains =jsTemplateVar,jsSpecial,@htmlPreproc
8587syntax region jsRegexpCharClass start =+ \[ + skip =+ \\ .+ end =+ \] + contained
8688syntax match jsRegexpBoundary " \v %(\< @![\^ $]|\\ [bB])" contained
8789syntax match jsRegexpBackRef " \v\\ [1-9][0-9]*" contained
@@ -180,7 +182,7 @@ endif "DOM/HTML/CSS
180182
181183
182184" " Code blocks
183- syntax cluster jsExpression contains =jsComment,jsLineComment,jsDocComment,jsStringD,jsStringS,jsRegexpString,jsNumber,jsFloat,jsThis,jsOperator,jsBooleanTrue,jsBooleanFalse,jsNull,jsFunction,jsArrowFunction,jsGlobalObjects,jsExceptions,jsFutureKeys,jsDomErrNo,jsDomNodeConsts,jsHtmlEvents,jsDotNotation,jsBracket,jsParen,jsBlock,jsFuncCall,jsUndefined,jsNan,jsKeyword,jsStorageClass,jsPrototype,jsBuiltins,jsNoise
185+ syntax cluster jsExpression contains =jsComment,jsLineComment,jsDocComment,jsTemplateString, jsStringD,jsStringS,jsRegexpString,jsNumber,jsFloat,jsThis,jsOperator,jsBooleanTrue,jsBooleanFalse,jsNull,jsFunction,jsArrowFunction,jsGlobalObjects,jsExceptions,jsFutureKeys,jsDomErrNo,jsDomNodeConsts,jsHtmlEvents,jsDotNotation,jsBracket,jsParen,jsBlock,jsFuncCall,jsUndefined,jsNan,jsKeyword,jsStorageClass,jsPrototype,jsBuiltins,jsNoise
184186syntax cluster jsAll contains =@jsExpression,jsLabel,jsConditional,jsRepeat,jsReturn,jsStatement,jsTernaryIf,jsException
185187syntax region jsBracket matchgroup =jsBrackets start =" \[ " end =" \] " contains =@jsAll,jsParensErrB,jsParensErrC,jsBracket,jsParen,jsBlock,@htmlPreproc fold
186188syntax region jsParen matchgroup =jsParens start =" (" end =" )" contains =@jsAll,jsParensErrA,jsParensErrC,jsParen,jsBracket,jsBlock,@htmlPreproc fold
@@ -236,6 +238,7 @@ if version >= 508 || !exists("did_javascript_syn_inits")
236238 HiLink jsDocParam Label
237239 HiLink jsStringS String
238240 HiLink jsStringD String
241+ HiLink jsTemplateString String
239242 HiLink jsTernaryIfOperator Conditional
240243 HiLink jsRegexpString String
241244 HiLink jsRegexpBoundary SpecialChar
@@ -281,6 +284,7 @@ if version >= 508 || !exists("did_javascript_syn_inits")
281284 HiLink jsFuncBraces Noise
282285 HiLink jsFuncParens Noise
283286 HiLink jsSpecial Special
287+ HiLink jsTemplateVar Special
284288 HiLink jsGlobalObjects Special
285289 HiLink jsExceptions Special
286290 HiLink jsFutureKeys Special
0 commit comments