From ca58cdddebf27d330eb0d27efa749fda7063cb68 Mon Sep 17 00:00:00 2001 From: Kevin Fahy Date: Fri, 8 Jan 2016 21:27:29 -0800 Subject: [PATCH] Fix nested template variable syntax highlighting Accept JS expressions in template variables so that their contents are highlighted normally. Change `jsTemplateVar` to a region rather than a match. Fixes #316 --- syntax/javascript.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/javascript.vim b/syntax/javascript.vim index 74fa7ffd..58aad0c5 100644 --- a/syntax/javascript.vim +++ b/syntax/javascript.vim @@ -88,7 +88,7 @@ syntax case match "" Syntax in the JavaScript code syntax match jsFuncCall /\k\+\%(\s*(\)\@=/ syntax match jsSpecial "\v\\%(0|\\x\x\{2\}\|\\u\x\{4\}\|\c[A-Z]|.)" contained -syntax match jsTemplateVar "\${.\{-}}" contained +syntax region jsTemplateVar matchgroup=jsBraces start=+${+ end=+}+ contained contains=@jsExpression syntax region jsStringD start=+"+ skip=+\\\("\|$\)+ end=+"\|$+ contains=jsSpecial,@htmlPreproc,@Spell syntax region jsStringS start=+'+ skip=+\\\('\|$\)+ end=+'\|$+ contains=jsSpecial,@htmlPreproc,@Spell syntax region jsTemplateString start=+`+ skip=+\\\(`\|$\)+ end=+`+ contains=jsTemplateVar,jsSpecial,@htmlPreproc