Skip to content

Commit faabfc8

Browse files
author
Darrick Wiebe
committed
Merge pull request pangloss#41 from int3/master
Fix regex highlighting + ternary statement highlighting
2 parents e66f901 + fd8d446 commit faabfc8

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

syntax/javascript.vim

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ if !exists("main_syntax")
1818
let main_syntax = 'javascript'
1919
endif
2020

21-
"" Drop fold if it set but VIM doesn't support it.
21+
"" Drop fold if it is set but VIM doesn't support it.
2222
let b:javascript_fold='true'
2323
if version < 600 " Don't support the old version
2424
unlet! b:javascript_fold
2525
endif
2626

27-
"" dollar sigh is permittd anywhere in an identifier
27+
"" dollar sign is permittd anywhere in an identifier
2828
setlocal iskeyword+=$
2929

3030
syntax sync fromstart
@@ -74,16 +74,16 @@ syntax case match
7474
syntax match javaScriptSpecial "\\\d\d\d\|\\x\x\{2\}\|\\u\x\{4\}\|\\."
7575
syntax region javaScriptStringD start=+"+ skip=+\\\\\|\\$"+ end=+"+ contains=javaScriptSpecial,@htmlPreproc
7676
syntax region javaScriptStringS start=+'+ skip=+\\\\\|\\$'+ end=+'+ contains=javaScriptSpecial,@htmlPreproc
77-
syntax region javaScriptRegexpCharClass start=+\[\]\|\[^\]\|\[+ end=+\]+ contained
77+
syntax region javaScriptRegexpCharClass start=+\[+ end=+\]+ contained
7878
syntax region javaScriptRegexpString start=+\(\(\(return\|case\)\s\+\)\@<=\|\(\([)\]"']\|\d\|\w\)\s*\)\@<!\)/\(\*\|/\)\@!+ skip=+\\\\\|\\/+ end=+/[gim]\{,3}+ contains=javaScriptSpecial,javaScriptRegexpCharClass,@htmlPreproc oneline
7979
syntax match javaScriptNumber /\<-\=\d\+L\=\>\|\<0[xX]\x\+\>/
8080
syntax match javaScriptFloat /\<-\=\%(\d\+\.\d\+\|\d\+\.\|\.\d\+\)\%([eE][+-]\=\d\+\)\=\>/
81-
syntax match javaScriptLabel /\(?\s*\)\@<!\<\w\+\(\s*:\)\@=/
81+
syntax match javaScriptLabel /\<\w\+\(\s*:\)\@=/
8282

8383
"" JavaScript Prototype
8484
syntax keyword javaScriptPrototype prototype
8585

86-
"" Programm Keywords
86+
"" Program Keywords
8787
syntax keyword javaScriptSource import export
8888
syntax keyword javaScriptType const undefined var void yield
8989
syntax keyword javaScriptOperator delete new in instanceof let typeof
@@ -153,10 +153,13 @@ endif "DOM/HTML/CSS
153153

154154

155155
"" Code blocks
156-
syntax cluster javaScriptAll contains=javaScriptComment,javaScriptLineComment,javaScriptDocComment,javaScriptStringD,javaScriptStringS,javaScriptRegexpString,javaScriptNumber,javaScriptFloat,javaScriptLabel,javaScriptSource,javaScriptThis,javaScriptType,javaScriptOperator,javaScriptBoolean,javaScriptNull,javaScriptFunction,javaScriptConditional,javaScriptRepeat,javaScriptBranch,javaScriptStatement,javaScriptGlobalObjects,javaScriptExceptions,javaScriptFutureKeys,javaScriptDomErrNo,javaScriptDomNodeConsts,javaScriptHtmlEvents,javaScriptDotNotation
156+
" there is a name collision with javaScriptExpression in html.vim, hence the use of the '2' here
157+
syntax cluster javaScriptExpression2 contains=javaScriptComment,javaScriptLineComment,javaScriptDocComment,javaScriptStringD,javaScriptStringS,javaScriptRegexpString,javaScriptNumber,javaScriptFloat,javaScriptSource,javaScriptThis,javaScriptType,javaScriptOperator,javaScriptBoolean,javaScriptNull,javaScriptFunction,javaScriptGlobalObjects,javaScriptExceptions,javaScriptFutureKeys,javaScriptDomErrNo,javaScriptDomNodeConsts,javaScriptHtmlEvents,javaScriptDotNotation,javaScriptBracket,javaScriptParen,javaScriptBlock,javaScriptParenError
158+
syntax cluster javaScriptAll contains=@javaScriptExpression2,javaScriptLabel,javaScriptConditional,javaScriptRepeat,javaScriptBranch,javaScriptStatement,javaScriptTernaryIf
157159
syntax region javaScriptBracket matchgroup=javaScriptBracket transparent start="\[" end="\]" contains=@javaScriptAll,javaScriptParensErrB,javaScriptParensErrC,javaScriptBracket,javaScriptParen,javaScriptBlock,@htmlPreproc
158160
syntax region javaScriptParen matchgroup=javaScriptParen transparent start="(" end=")" contains=@javaScriptAll,javaScriptParensErrA,javaScriptParensErrC,javaScriptParen,javaScriptBracket,javaScriptBlock,@htmlPreproc
159161
syntax region javaScriptBlock matchgroup=javaScriptBlock transparent start="{" end="}" contains=@javaScriptAll,javaScriptParensErrA,javaScriptParensErrB,javaScriptParen,javaScriptBracket,javaScriptBlock,@htmlPreproc
162+
syntax region javaScriptTernaryIf matchgroup=javaScriptTernaryIfOperator start=+?+ end=+:+ contains=@javaScriptExpression2
160163

161164
"" catch errors caused by wrong parenthesis
162165
syntax match javaScriptParensError ")\|}\|\]"
@@ -203,6 +206,7 @@ if version >= 508 || !exists("did_javascript_syn_inits")
203206
HiLink javaScriptDocParam Label
204207
HiLink javaScriptStringS String
205208
HiLink javaScriptStringD String
209+
HiLink javaScriptTernaryIfOperator Conditional
206210
HiLink javaScriptRegexpString String
207211
HiLink javaScriptRegexpCharClass Character
208212
HiLink javaScriptCharacter Character

0 commit comments

Comments
 (0)