syn match javaScriptCommentSkip "^[ \t]*\*\($\|[ \t]\+\)"
syn region javaScriptCommentString start=+"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1,he=s-1 contains=javaScriptSpecial,javaScriptCommentSkip,@htmlPreproc
syn region javaScriptComment2String start=+"+ skip=+\\\\\|\\"+ end=+$\|"+ contains=javaScriptSpecial,@htmlPreproc
syn region javaScriptComment start="/\*" end="\*/" contains=javaScriptCommentString,javaScriptCharacter,javaScriptNumber
syn match javaScriptSpecial "\\\d\d\d\|\\."
syn region javaScriptStringD start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=javaScriptSpecial,@htmlPreproc
syn region javaScriptStringS start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=javaScriptSpecial,@htmlPreproc
syn match javaScriptSpecialCharacter "'\\.'"
syn match javaScriptNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>"
syn keyword javaScriptConditional if else
syn keyword javaScriptRepeat while for
syn keyword javaScriptBranch break continue
syn keyword javaScriptOperator new in
syn keyword javaScriptType this var
syn keyword javaScriptStatement return with
syn keyword javaScriptFunction function
syn keyword javaScriptBoolean true false
syn match javaScriptBraces "[{}]"
" catch errors caused by wrong parenthesis
syn match javaScriptInParen contained "[{}]"
syn region javaScriptParen transparent start="(" end=")" contains=javaScriptParen,javaScript.*
syn match javaScrParenError ")"
if main_syntax == "javascript"
syn sync ccomment javaScriptComment
endif
if !exists("did_javascript_syntax_inits")
let did_javascript_syntax_inits = 1
hi link javaScriptComment Comment
hi link javaScriptLineComment Comment
hi link javaScriptSpecial Special
hi link javaScriptStringS String
hi link javaScriptStringD String
hi link javaScriptCharacter Character
hi link javaScriptSpecialCharacter javaScriptSpecial