" Vim syntax file " Language: HTML " Maintainer: Claudio Fleiner " URL: http://www.fleiner.com/vim/syntax/html.vim " Last change: 1998 Mar 28 " Please check :help html.vim for some comments and a description of the options " Remove any old syntax stuff hanging around syn clear syn case ignore " mark illegal characters syn match htmlError "[<>&]" " tags syn match htmlSpecial contained "\\[0-9][0-9][0-9]\|\\." syn region htmlString contained start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=htmlSpecial,javaScriptExpression syn region htmlString contained start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=htmlSpecial,javaScriptExpression syn match htmlValue contained "=[\t ]*[^'" \t>][^ \t>]*"hs=s+1 contains=javaScriptExpression syn region htmlEndTag start=++ contains=htmlTagName,htmlTagError syn region htmlTag start=+<[^/]+ end=+>+ contains=htmlString,htmlTagName,htmlArg,htmlValue,htmlTagError,htmlEvent syn match htmlTagError contained "[^>]<"ms=s+1 " tag names syn keyword htmlTagName contained address applet area a base basefont syn keyword htmlTagName contained big blockquote br caption center syn keyword htmlTagName contained cite code dd dfn dir div dl dt font syn keyword htmlTagName contained form hr html img syn keyword htmlTagName contained input isindex kbd li link map menu syn keyword htmlTagName contained meta ol option param pre p samp span syn keyword htmlTagName contained select small strike style sub sup syn keyword htmlTagName contained table td textarea th tr tt ul var syn match htmlTagName contained "\<\(b\|i\|u\|h[1-6]\|em\|strong\|head\|body\|title\)\>" " legal arg names syn keyword htmlArg contained action syn keyword htmlArg contained align alink alt archive background bgcolor syn keyword htmlArg contained border bordercolor cellpadding syn keyword htmlArg contained cellspacing checked clear code codebase color syn keyword htmlArg contained cols colspan content coords enctype face syn keyword htmlArg contained gutter height hspace syn keyword htmlArg contained link lowsrc marginheight syn keyword htmlArg contained marginwidth maxlength method name prompt syn keyword htmlArg contained rel rev rows rowspan scrolling selected shape syn keyword htmlArg contained size src start target text type url syn keyword htmlArg contained usemap ismap valign value vlink vspace width wrap syn match htmlArg contained "http-equiv" syn match htmlArg contained "href" " Netscape extensions syn keyword htmlTagName contained frame frameset nobr syn keyword htmlTagName contained layer ilayer nolayer spacer syn keyword htmlArg contained frameborder noresize pagex pagey above below syn keyword htmlArg contained left top visibility clip id noshade syn match htmlArg contained "z-index" " special characters syn match htmlSpecialChar "&[^;]*;" " The real comments (this implements the comments as defined by html, " but not all html pages actually conform to it. Errors are flagged. syn region htmlComment start=++ contains=htmlCommentPart,htmlCommentError syn region htmlComment start=++ syn match htmlCommentError contained "[^>+ if !exists("html_no_rendering") " rendering syn region htmlBold start="" end=""me=e-4 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,htmlBoldUnderline,htmlBoldItalic syn region htmlBold start="" end=""me=e-9 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,htmlBoldUnderline,htmlBoldItalic syn region htmlBoldUnderline contained start="" end=""me=e-4 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,htmlBoldUnderlineItalic syn region htmlBoldItalic contained start="" end=""me=e-4 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,htmlBoldItalicUnderline syn region htmlBoldItalic contained start="" end=""me=e-5 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,htmlBoldItalicUnderline syn region htmlBoldUnderlineItalic contained start="" end=""me=e-4 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript syn region htmlBoldUnderlineItalic contained start="" end=""me=e-5 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript syn region htmlBoldItalicUnderline contained start="" end=""me=e-4 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,htmlBoldUnderlineItalic syn region htmlUnderline start="" end=""me=e-4 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,htmlUnderlineBold,htmlUnderlineItalic syn region htmlUnderlineBold contained start="" end=""me=e-4 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,htmlUnderlineBoldItalic syn region htmlUnderlineBold contained start="" end=""me=e-9 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,htmlUnderlineBoldItalic syn region htmlUnderlineItalic contained start="" end=""me=e-4 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,htmUnderlineItalicBold syn region htmlUnderlineItalic contained start="" end=""me=e-5 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,htmUnderlineItalicBold syn region htmlUnderlineItalicBold contained start="" end=""me=e-4 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript syn region htmlUnderlineItalicBold contained start="" end=""me=e-9 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript syn region htmlUnderlineBoldItalic contained start="" end=""me=e-4 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript syn region htmlUnderlineBoldItalic contained start="" end=""me=e-5 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript syn region htmlItalic start="" end=""me=e-4 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,htmlItalicBold,htmlItalicUnderline syn region htmlItalic start="" end=""me=e-5 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript syn region htmlItalicBold contained start="" end=""me=e-4 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,htmlItalicBoldUnderline syn region htmlItalicBold contained start="" end=""me=e-9 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,htmlItalicBoldUnderline syn region htmlItalicBoldUnderline contained start="" end=""me=e-4 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript syn region htmlItalicUnderline contained start="" end=""me=e-4 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,htmlItalicUnderlineBold syn region htmlItalicUnderlineBold contained start="" end=""me=e-4 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript syn region htmlItalicUnderlineBold contained start="" end=""me=e-9 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript syn region htmlLink start="[^>]*href\>" end=""me=e-4 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,javaScript syn region htmlH1 start="" end=""me=e-5 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript syn region htmlH2 start="" end=""me=e-5 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript syn region htmlH3 start="" end=""me=e-5 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript syn region htmlH4 start="" end=""me=e-5 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript syn region htmlH5 start="" end=""me=e-5 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript syn region htmlH6 start="" end=""me=e-5 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript syn region htmlHead start="" end=""me=e-7 end=""me=e-5 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,htmlTitle,javaScript syn region htmlTitle start="" end=""me=e-8 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,javaScript endif " JAVA SCRIPT syn keyword htmlTagName contained noscript " html events (i.e. arguments that include javascript commands) syn region htmlEvent contained start=+on[a-z]\+\s*=[\t ]*'+ skip=+\\\\\|\\'+ end=+'+ contains=javaScriptSpecial,javaScriptNumber,javaScriptLineComment,javaScriptComment,javaScriptStringD,javaStringCharacter,javaStringSpecialCharacter,javaScriptConditional,javaScriptRepeat,javaScriptBranch,javaScriptOperator,javaScriptType,javaScriptStatement,javaScriptFunction,javaScriptBoolean,javaScriptBraces,javaScriptParen,javaScriptParenError syn region htmlEvent contained start=+on[a-z]\+\s*=[\t ]*"+ skip=+\\\\\|\\"+ end=+"+ contains=javaScriptSpecial,javaScriptNumber,javaScriptLineComment,javaScriptComment,javaScriptStringS,javaStringCharacter,javaStringSpecialCharacter,javaScriptConditional,javaScriptRepeat,javaScriptBranch,javaScriptOperator,javaScriptType,javaScriptStatement,javaScriptFunction,javaScriptBoolean,javaScriptBraces,javaScriptParen,javaScriptParenError " a javascript expression is used as an arg value syn region javaScriptExpression start=+&{+ end=+};+ contains=javaScriptSpecial,javaScriptNumber,javaScriptLineComment,javaScriptComment,javaScriptStringS,javaScriptStringD,javaStringCharacter,javaScriptSpecialCharacter,javaScriptConditional,javaScriptRepeat,javaScriptBranch,javaScriptOperator,javaScriptType,javaScriptStatement,javaScriptBoolean,javaScriptFunction " javascript starts with + contains=javaScriptSpecial,javaScriptNumber,javaScriptLineComment,javaScriptComment,javaScriptStringS,javaScriptStringD,javaStringCharacter,javaStringSpecialCharacter,javaScriptConditional,javaScriptRepeat,javaScriptBranch,javaScriptOperator,javaScriptType,javaScriptStatement,javaScriptFunction,javaScriptBoolean,javaScriptBraces,javaScriptParen,javaScriptParenError syn match javaScriptLineComment contained "\/\/.*$" syn match javaScriptCommentSkip contained "^\s*\*\($\|\s\+\)" syn region javaScriptCommentString contained start=+"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1,he=s-1 contains=javaScriptSpecial,javaScriptCommentSkip syn region javaScriptComment2String contained start=+"+ skip=+\\\\\|\\"+ end=+$\|"+ contains=javaScriptSpecial syn region javaScriptComment contained start="/\*" end="\*/" contains=javaScriptCommentString,javaScriptCharacter,javaScriptNumber syn match javaScriptSpecial contained "\\[0-9][0-9][0-9]\|\\." syn region javaScriptStringD contained start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=javaScriptSpecial syn region javaScriptStringS contained start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=javaScriptSpecial syn match javaScriptSpecialCharacter contained "'\\.'" syn match javaScriptNumber contained "-\=\<[0-9]\+L\=\>\|0[xX][0-9a-fA-F]\+\>" syn keyword javaScriptConditional contained if else syn keyword javaScriptRepeat contained while for syn keyword javaScriptBranch contained break continue syn keyword javaScriptOperator contained new in syn keyword javaScriptType contained this var syn keyword javaScriptStatement contained return with syn keyword javaScriptFunction contained function syn keyword javaScriptBoolean contained true false syn match javaScriptBraces contained "[{}]" " catch errors caused by wrong parenthesis syn region javaScriptParen contained start="(" end=")" contains=javaScriptSpecial,javaScriptNumber,javaScriptLineComment,javaScriptComment,javaScriptStringS,javaScriptStringD,javaStringCharacter,javaStringSpecialCharacter,javaScriptConditional,javaScriptRepeat,javaScriptBranch,javaScriptOperator,javaScriptType,javaScriptStatement,javaScriptFunction,javaScriptBoolean,javaScriptBraces,javaScriptParen syn match javaScriptParenError contained ")" syn match javaScriptInParen contained "[{}]" " synchronizing (does not always work if a comment includes legal " html tags, but doing it right would mean to always start " at the first line, which is too slow) syn sync match htmlHighlight groupthere NONE "<[/a-zA-Z]" syn sync match htmlHighlight groupthere javaScript "