@@ -73,11 +73,18 @@ endif "" JSDoc end
7373syntax case match
7474
7575" " Syntax in the JavaScript code
76- syntax match jsSpecial " \\\d\d\d\ |\\ x\x\{ 2\}\|\\ u\x\{ 4\}\|\\ . "
76+ syntax match jsSpecial " \v\\ %(0 |\\ x\x\{ 2\}\|\\ u\x\{ 4\}\|\c [A-Z]|.) "
7777syntax region jsStringD start =+ "+ skip =+ \\\\\|\\ $"+ end =+ "+ contains =jsSpecial,@htmlPreproc
7878syntax region jsStringS start =+ '+ skip =+ \\\\\|\\ $'+ end =+ '+ contains =jsSpecial,@htmlPreproc
7979syntax region jsRegexpCharClass start =+ \[ + end =+ \] + contained
80- syntax region jsRegexpString start =+ \(\(\( return\| case\)\s\+\)\@ <=\|\(\( [)\] "']\|\d\|\w\)\s *\)\@ <!\) /\(\*\| /\)\@ !+ skip =+ \\\\\|\\ /+ end =+ /[gimy]\{ ,4}+ contains =jsSpecial,jsRegexpCharClass,@htmlPreproc oneline
80+ syntax match jsRegexpBoundary " \v %(\< @![\^ $]|\\ [bB])" contained
81+ syntax match jsRegexpBackRef " \v\\ [1-9][0-9]*" contained
82+ syntax match jsRegexpQuantifier " \v\\ @<!%([?*+]|\{\d +%(,|,\d +)?})\? ?" contained
83+ syntax match jsRegexpOr " \v\< @!\| " contained
84+ syntax match jsRegexpMod " \v\( @<=\? [:=!>]" contained
85+ syntax cluster jsRegexpSpecial contains =jsRegexpBoundary,jsRegexpBackRef,jsRegexpQuantifier,jsRegexpOr,jsRegexpMod
86+ syntax region jsRegexpGroup start =" \\\@ <!(" matchgroup =jsRegexGroup end =" \\\@ <!)" contained contains =jsRegexpCharClass,@jsRegexpSpecial
87+ syntax region jsRegexpString start =+ \(\(\( return\| case\)\s\+\)\@ <=\|\(\( [)\] "']\|\d\|\w\)\s *\)\@ <!\) /\(\*\| /\)\@ !+ skip =+ \\\\\|\\ /+ end =+ /[gimy]\{ ,4}+ contains =jsSpecial,jsRegexpCharClass,jsRegexpGroup,@jsRegexpSpecial,@htmlPreproc oneline
8188syntax match jsNumber / \< -\=\d\+ L\=\>\|\< 0[xX]\x\+\> /
8289syntax match jsFloat / \< -\=\% (\d\+\.\d\+\|\d\+\.\|\.\d\+\)\% ([eE][+-]\=\d\+\)\=\> /
8390syntax match jsLabel / \< [a-zA-Z_$][0-9a-zA-Z_$\- ]*\(\s *:\)\@ =/
@@ -229,6 +236,12 @@ if version >= 508 || !exists("did_javascript_syn_inits")
229236 HiLink jsStringD String
230237 HiLink jsTernaryIfOperator Conditional
231238 HiLink jsRegexpString String
239+ HiLink jsRegexpBoundary SpecialChar
240+ HiLink jsRegexpQuantifier SpecialChar
241+ HiLink jsRegexpOr Conditional
242+ HiLink jsRegexpMod SpecialChar
243+ HiLink jsRegexpBackRef SpecialChar
244+ HiLink jsRegexpGroup jsRegexpString
232245 HiLink jsRegexpCharClass Character
233246 HiLink jsCharacter Character
234247 HiLink jsPrototype Type
0 commit comments