" Vim syntax file
" Language: HTML
" Maintainer: Claudio Fleiner
" URL: http://www.fleiner.com/vim/syntax/html.vim
" Last change: 1998 Jul 22
" 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 "[<>&]"
if !exists("main_syntax")
let main_syntax = 'html'
endif
" tags
syn match htmlSpecial contained "\\\d\d\d\|\\."
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=++ end=+>+ contains=htmlTagN,htmlTagError
syn region htmlTag start=+<[^/]+ end=+>+ contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition
syn match htmlTagN contained +<\s*[-a-zA-Z0-9]\++ms=s+1 contains=htmlTagName,htmlSpecialTagName
syn match htmlTagN contained +\s*[-a-zA-Z0-9]\++ms=s+2 contains=htmlTagName,htmlSpecialTagName
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 sub sup
syn keyword htmlTagName contained table td textarea th tr tt ul var xmp
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 class clear code codebase color
syn keyword htmlArg contained cols colspan content coords enctype face
syn keyword htmlArg contained gutter height hspace id
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\|title\)="me=e-1
" 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 "&[^;]*;"
" Comments (the real ones or the old netscape ones)
if exists("html_wrong_comments")
syn region htmlComment start=++
else
syn region htmlComment start=++ contains=htmlCommentPart,htmlCommentError
syn match htmlCommentError contained "[^>+
" server-parsed commands
syn region htmlPreProc start=++
if !exists("html_no_rendering")
" rendering
syn cluster htmlTop contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript
syn region htmlBold start="" end=""me=e-4 contains=@htmlTop,htmlBoldUnderline,htmlBoldItalic
syn region htmlBold start="" end=""me=e-9 contains=@htmlTop,htmlBoldUnderline,htmlBoldItalic
syn region htmlBoldUnderline contained start="" end=""me=e-4 contains=@htmlTop,htmlBoldUnderlineItalic
syn region htmlBoldItalic contained start="" end=""me=e-4 contains=@htmlTop,htmlBoldItalicUnderline
syn region htmlBoldItalic contained start="" end=""me=e-5 contains=@htmlTop,htmlBoldItalicUnderline
syn region htmlBoldUnderlineItalic contained start="" end=""me=e-4 contains=@htmlTop
syn region htmlBoldUnderlineItalic contained start="" end=""me=e-5 contains=@htmlTop
syn region htmlBoldItalicUnderline contained start="" end=""me=e-4 contains=@htmlTop,htmlBoldUnderlineItalic
syn region htmlUnderline start="" end=""me=e-4 contains=@htmlTop,htmlUnderlineBold,htmlUnderlineItalic
syn region htmlUnderlineBold contained start="" end=""me=e-4 contains=@htmlTop,htmlUnderlineBoldItalic
syn region htmlUnderlineBold contained start="" end=""me=e-9 contains=@htmlTop,htmlUnderlineBoldItalic
syn region htmlUnderlineItalic contained start="" end=""me=e-4 contains=@htmlTop,htmUnderlineItalicBold
syn region htmlUnderlineItalic contained start="" end=""me=e-5 contains=@htmlTop,htmUnderlineItalicBold
syn region htmlUnderlineItalicBold contained start="" end=""me=e-4 contains=@htmlTop
syn region htmlUnderlineItalicBold contained start="" end=""me=e-9 contains=@htmlTop
syn region htmlUnderlineBoldItalic contained start="" end=""me=e-4 contains=@htmlTop
syn region htmlUnderlineBoldItalic contained start="" end=""me=e-5 contains=@htmlTop
syn region htmlItalic start="" end=""me=e-4 contains=@htmlTop,htmlItalicBold,htmlItalicUnderline
syn region htmlItalic start="" end=""me=e-5 contains=@htmlTop
syn region htmlItalicBold contained start="" end=""me=e-4 contains=@htmlTop,htmlItalicBoldUnderline
syn region htmlItalicBold contained start="" end=""me=e-9 contains=@htmlTop,htmlItalicBoldUnderline
syn region htmlItalicBoldUnderline contained start="" end=""me=e-4 contains=@htmlTop
syn region htmlItalicUnderline contained start="" end=""me=e-4 contains=@htmlTop,htmlItalicUnderlineBold
syn region htmlItalicUnderlineBold contained start="" end=""me=e-4 contains=@htmlTop
syn region htmlItalicUnderlineBold contained start="" end=""me=e-9 contains=@htmlTop
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=@htmlTop
syn region htmlH2 start="" end="
"me=e-5 contains=@htmlTop
syn region htmlH3 start="" end="
"me=e-5 contains=@htmlTop
syn region htmlH4 start="" end="
"me=e-5 contains=@htmlTop
syn region htmlH5 start="" end="
"me=e-5 contains=@htmlTop
syn region htmlH6 start="" end="
"me=e-5 contains=@htmlTop
syn region htmlHead start="" end=""me=e-7 end=""me=e-5 end=""me=e-3 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,htmlTitle,javaScript,cssStyle
syn region htmlTitle start="" end=""me=e-8 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,javaScript
endif
if main_syntax != 'java' || exists("java_javascript")
" JAVA SCRIPT
syn keyword htmlTagName contained noscript
syn keyword htmlSpecialTagName contained script style
syn include @htmlJavaScript :p:h/javascript.vim
syn region javaScript start=++me=s-1 contains=@htmlJavaScript,htmlCssStyleComment,htmlScriptTag
syn region htmlScriptTag contained start=+