" Vim syntax file " Language: JavaScript " Maintainer: Claudio Fleiner " Updaters: Scott Shattuck (ss) " URL: http://www.fleiner.com/vim/syntax/javascript.vim " Changes: (ss) added keywords, reserved words, and other identifiers " (ss) repaired several quoting and grouping glitches " (ss) fixed regex parsing issue with multiple qualifiers [gi] " (ss) additional factoring of keywords, globals, and members " Last Change: 2005 Nov 12 (ss) " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded " tuning parameters: " unlet javaScript_fold if !exists("main_syntax") if version < 600 syntax clear elseif exists("b:current_syntax") finish endif let main_syntax = 'javascript' endif " Drop fold if it set but vim doesn't support it. if version < 600 && exists("javaScript_fold") unlet javaScript_fold endif syntax case match syntax region javaScriptDocComment matchgroup=javaScriptComment start="/\*\*\s*$" end="\*/" contains=javaScriptDocTags,javaScriptDocSeeTag,javaScriptCommentTodo,javaScriptCvsTag,@javaScriptHtml,@Spell fold syntax match javaScriptDocTags contained "@\(param\|argument\|requires\|exception\|throws\|type\|class\|extends\|see\|link\|member\|base\|file\)\>" nextgroup=javaScriptDocParam skipwhite syntax match javaScriptDocTags contained "@\(deprecated\|fileoverview\|author\|license\|version\|returns\=\|constructor\|private\|final\|ignore\|addon\|exec\)\>" syntax match javaScriptDocParam contained "\%(#\|\w\|\.\|:\|\/\)\+" syntax region javaScriptDocSeeTag contained matchgroup=javaScriptDocSeeTag start="{" end="}" contains=javaScriptDocTags syn keyword javaScriptCommentTodo TODO FIXME XXX TBD contained syn match javaScriptLineComment "\/\/.*" contains=javaScriptCommentTodo syn match javaScriptCommentSkip "^[ \t]*\*\($\|[ \t]\+\)" syn region javaScriptComment start="/\*" end="\*/" contains=javaScriptCommentTodo 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 region javaScriptRegexpString start=+/[^/*]+me=e-1 skip=+\\\\\|\\/+ end=+/[gi]\{0,2\}\s*$+ end=+/[gi]\{0,2\}\s*[;.,)]+me=e-1 contains=@htmlPreproc oneline syn keyword javaScriptConditional if else switch syn keyword javaScriptRepeat while for do in syn keyword javaScriptBranch break continue syn keyword javaScriptOperator new delete instanceof typeof syn keyword javaScriptType Array Boolean Date Function Number Object String RegExp Math prototype syn keyword javaScriptStatement return with syn keyword javaScriptBoolean true false syn keyword javaScriptNull null syn keyword javaScriptError undefined syn keyword javaScriptIdentifier arguments this var options document location style syn keyword javaScriptLabel case default syn keyword javaScriptException try catch finally throw syn keyword javaScriptMessage alert confirm prompt status syn keyword javaScriptGlobal self window top parent left right bottom syn keyword javaScriptMember toLowerCase toUpperCase execCommand event queryCommandValue getElementById getElementsByTagName parentNode readyState onreadystatechange createElement XMLHttpRequest substring open setAttribute getAttribute appendChild send alert confirm prompt documentElement responseXML responseText firstChild removeChild nodeValue length floor random nextSibling tagName childNodes clearTimeout setTimeout navigator indexOf userAgent offsetWidth offsetHeight toUpperCase split charAt replace push map join escape encodeURI encodeURIComponent match className body innerHTML cellPadding cellSpacing colSpan rowSpan onclick href onload id scroll scrollLeft scrollTop scrollSensitivity scrollBy appVersion insertBefore clearInterval setInterval toString syn keyword javaScriptYahoo YAHOO util widget Anim CustomEvent Dom Event Tools addClass batch generateId get getClientHeight getClientWidth getDocumentHeight getDocumentWidth getElementsBy getElementsByClassName getRegion getStyle getViewportHeight getViewportWidth getX getXY getY hasClass inDocument isAncestor removeClass replaceClass setStyle setX setXY setY addListener clearCache fireLegacyEvent generateId getCharCode getEl getEvent getLegacyIndex getListeners getPageX getPageY getRelatedTarget getTarget getTime getXY on onAvailable onContentReady preventDefault purgeElement removeListener resolveTextNode startInterval stopEvent stopPropagation useLegacyEvent fire getHeight getCenter makeTextObject makeChildren styleToCamel removeQuotes trim stripTags hasBRs convertBRs2NLs stringRepeat stringReverse printf setStyleString getSelection removeElement setCookie getCookie deleteCookie getBrowserEngine getBrowserAgent checkFlash setAttr create insertAfter inArray checkBoolean checkNumber PixelToEm PixelToEmStyle base64Encode base64Decode getQueryString animate doMethod getAttribute getDefaultUnit getEl getStartTime init isAnimated onTween setAttribute stop toString onComplete onStart onTween "syn keyword javaScriptCSS display border borderRight borderLeft borderTop borderBottom fontFamily color fontSize backgroundColor background backgroundImage zIndex visibility syn keyword javaScriptDeprecated escape unescape syn keyword javaScriptReserved abstract boolean byte char class const debugger double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile if exists("javaScript_fold") syn match javaScriptFunction "\" syn region javaScriptFunctionFold start="\.*[^};]$" end="^\z1}.*$" transparent fold keepend syn sync match javaScriptSync grouphere javaScriptFunctionFold "\" syn sync match javaScriptSync grouphere NONE "^}" setlocal foldmethod=syntax setlocal foldtext=getline(v:foldstart) else syn keyword javaScriptFunction function syn match javaScriptBraces "[{}\[\]]" syn match javaScriptParens "[()]" syn match javaScriptEquals "[=]" syn match javaScriptPlus "[+]" syn match javaScriptDot "[.]" syn match javaScriptComma "[,]" syn match javaScriptColon "[:]" syn match javaScriptSemiColon "[;]" syn match javaScriptSingleQuote "[']" syn match javaScriptQuote "[\"]" syn match javaScriptQuestionMark "[?]" syn match javaScriptDollarSign "[$]" endif syn sync fromstart syn sync maxlines=100 if main_syntax == "javascript" syn sync ccomment javaScriptComment endif " Define the default highlighting. " For version 5.7 and earlier: only when not done already " For version 5.8 and later: only when an item doesn't have highlighting yet if version >= 508 || !exists("did_javascript_syn_inits") if version < 508 let did_javascript_syn_inits = 1 command -nargs=+ HiLink hi link else command -nargs=+ HiLink hi def link endif HiLink javaScriptComment Comment HiLink javaScriptLineComment Comment HiLink javaScriptCommentTodo Todo HiLink javaScriptSpecial Special HiLink javaScriptStringS String HiLink javaScriptStringD String HiLink javaScriptCharacter Character HiLink javaScriptSpecialCharacter javaScriptSpecial HiLink javaScriptNumber javaScriptValue HiLink javaScriptConditional Conditional HiLink javaScriptRepeat Repeat HiLink javaScriptBranch Conditional HiLink javaScriptOperator Operator HiLink javaScriptType Type HiLink javaScriptStatement Statement HiLink javaScriptFunction Function HiLink javaScriptBraces Function HiLink javaScriptParens Function HiLink javaScriptEquals Function HiLink javaScriptPlus Function HiLink javaScriptDot Function HiLink javaScriptComma Function HiLink javaScriptColon Function HiLink javaScriptSemiColon Function HiLink javaScriptSingleQuote Function HiLink javaScriptQuote Function HiLink javaScriptQuestionMark Function HiLink javaScriptError Error HiLink javaScrParenError javaScriptError HiLink javaScriptNull Keyword HiLink javaScriptBoolean Boolean HiLink javaScriptRegexpString String HiLink javaScriptIdentifier Identifier HiLink javaScriptLabel Label HiLink javaScriptException Exception HiLink javaScriptMessage Keyword HiLink javaScriptGlobal Keyword HiLink javaScriptMember Keyword HiLink javaScriptYahoo Keyword HiLink javaScriptDeprecated Exception HiLink javaScriptReserved Keyword HiLink javaScriptDebug Debug HiLink javaScriptConstant Label HiLink javaScriptCSS JSCSS HiLink javaScriptDollarSign DollarSign delcommand HiLink endif let b:current_syntax = "javascript" if main_syntax == 'javascript' unlet main_syntax endif " vim: ts=8