if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vim') == -1 " Vim syntax file " Language: HTML " Maintainer: Jorge Maldonado Ventura " Previous Maintainer: Claudio Fleiner " Repository: https://notabug.org/jorgesumle/vim-html-syntax " Last Change: 2017 Jan 21 " included patch from Jorge Maldonado Ventura " Please check :help html.vim for some comments and a description of the options " quit when a syntax file was already loaded if !exists("main_syntax") if exists("b:current_syntax") finish endif let main_syntax = 'html' endif let s:cpo_save = &cpo set cpo&vim syntax spell toplevel syn case ignore " mark illegal characters syn match htmlError "[<>&]" " tags syn region htmlString contained start=+"+ end=+"+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc syn region htmlString contained start=+'+ end=+'+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc syn match htmlValue contained "=[\t ]*[^'" \t>][^ \t>]*"hs=s+1 contains=javaScriptExpression,@htmlPreproc syn region htmlEndTag start=++ contains=htmlTagN,htmlTagError syn region htmlTag start=+<[^/]+ end=+>+ fold contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition,@htmlPreproc,@htmlArgCluster syn match htmlTagN contained +<\s*[-a-zA-Z0-9]\++hs=s+1 contains=htmlTagName,htmlSpecialTagName,@htmlTagNameCluster syn match htmlTagN 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\)\>" " new html 4.0 tags syn keyword htmlTagName contained abbr acronym bdo button col label syn keyword htmlTagName contained colgroup del fieldset iframe ins legend syn keyword htmlTagName contained object optgroup q s tbody tfoot thead " new html 5 tags syn keyword htmlTagName contained article aside audio bdi canvas data syn keyword htmlTagName contained datalist details embed figcaption figure syn keyword htmlTagName contained footer header hgroup keygen main mark syn keyword htmlTagName contained menuitem meter nav output picture syn keyword htmlTagName contained progress rb rp rt rtc ruby section syn keyword htmlTagName contained slot source template time track video wbr " 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\|href\|title\)="me=e-1 " Netscape extensions syn keyword htmlTagName contained frame noframes frameset nobr blink 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 "\" " Microsoft extensions syn keyword htmlTagName contained marquee " html 4.0 arg names syn match htmlArg contained "\<\(accept-charset\|label\)\>" syn keyword htmlArg contained abbr accept accesskey axis char charoff charset syn keyword htmlArg contained cite classid codetype compact data datetime syn keyword htmlArg contained declare defer dir disabled for frame syn keyword htmlArg contained headers hreflang lang language longdesc syn keyword htmlArg contained multiple nohref nowrap object profile readonly syn keyword htmlArg contained rules scheme scope span standby style syn keyword htmlArg contained summary tabindex valuetype version " html 5 arg names syn keyword htmlArg contained allowfullscreen async autocomplete autofocus syn keyword htmlArg contained autoplay challenge contenteditable contextmenu syn keyword htmlArg contained controls crossorigin default dirname download syn keyword htmlArg contained draggable dropzone form formaction formenctype syn keyword htmlArg contained formmethod formnovalidate formtarget hidden syn keyword htmlArg contained high icon inputmode keytype kind list loop low syn keyword htmlArg contained max min minlength muted nonce novalidate open syn keyword htmlArg contained optimum pattern placeholder poster preload syn keyword htmlArg contained radiogroup required reversed sandbox spellcheck syn keyword htmlArg contained sizes srcset srcdoc srclang step title translate syn keyword htmlArg contained typemustmatch " special characters syn match htmlSpecialChar "&#\=[0-9A-Za-z]\{1,8};" " Comments (the real ones or the old netscape ones) if exists("html_wrong_comments") syn region htmlComment start=++ contains=htmlPreStmt,htmlPreError,htmlPreAttr syn match htmlPreStmt contained "\)" syn region htmlCssDefinition matchgroup=htmlArg start='style="' keepend matchgroup=htmlString end='"' contains=css.*Attr,css.*Prop,cssComment,cssLength,cssColor,cssURL,cssImportant,cssError,cssString,@htmlPreproc hi def link htmlStyleArg htmlString endif if main_syntax == "html" " 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 " " URL: http://rm.blog.br/vim/syntax/html.vim " Modified: htdebeer " Changes: add common SVG elements and attributes for inline SVG " Patch 7.4.1142 if has("patch-7.4-1142") if has("win32") syn iskeyword @,48-57,_,128-167,224-235,- else syn iskeyword @,48-57,_,192-255,- endif endif " HTML 5 tags syn keyword htmlTagName contained article aside audio canvas command syn keyword htmlTagName contained datalist details dialog embed figcaption figure footer syn keyword htmlTagName contained header hgroup keygen main mark meter menu menuitem nav output syn keyword htmlTagName contained progress ruby rt rp rb rtc section source summary time track video data syn keyword htmlTagName contained template content shadow syn keyword htmlTagName contained wbr bdi syn keyword htmlTagName contained picture " SVG tags " http://www.w3.org/TR/SVG/ " as found in http://www.w3.org/TR/SVG/eltindex.html syn keyword htmlTagName contained svg syn keyword htmlTagName contained altGlyph altGlyphDef altGlyphItem syn keyword htmlTagName contained animate animateColor animateMotion animateTransform syn keyword htmlTagName contained circle ellipse rect line polyline polygon image path syn keyword htmlTagName contained clipPath color-profile cursor syn keyword htmlTagName contained defs desc g symbol view use switch foreignObject syn keyword htmlTagName contained filter feBlend feColorMatrix feComponentTransfer feComposite feConvolveMatrix feDiffuseLighting feDisplacementMap feDistantLight feFlood feFuncA feFuncB feFuncG feFuncR feGaussianBlur feImage feMerge feMergeNode feMorphology feOffset fePointLight feSpecularLighting feSpotLight feTile feTurbulence syn keyword htmlTagName contained font font-face font-face-format font-face-name font-face-src font-face-uri syn keyword htmlTagName contained glyph glyphRef hkern syn keyword htmlTagName contained linearGradient marker mask pattern radialGradient set stop syn keyword htmlTagName contained missing-glyph mpath syn keyword htmlTagName contained text textPath tref tspan vkern syn keyword htmlTagName contained metadata title " MathML tags " https://www.w3.org/TR/MathML3/appendixi.html#index.elem syn keyword htmlTagName contained abs and annotation annotation-xml apply approx arccos arccosh arccot arccoth syn keyword htmlTagName contained arccsc arccsch arcsec arcsech arcsin arcsinh arctan arctanh arg bind syn keyword htmlTagName contained bvar card cartesianproduct cbytes ceiling cerror ci cn codomain complexes syn keyword htmlTagName contained compose condition conjugate cos cosh cot coth cs csc csch syn keyword htmlTagName contained csymbol curl declare degree determinant diff divergence divide domain domainofapplication syn keyword htmlTagName contained emptyset eq equivalent eulergamma exists exp exponentiale factorial factorof false syn keyword htmlTagName contained floor fn forall gcd geq grad gt ident image imaginary syn keyword htmlTagName contained imaginaryi implies in infinity int integers intersect interval inverse lambda syn keyword htmlTagName contained laplacian lcm leq limit list ln log logbase lowlimit lt syn keyword htmlTagName contained maction maligngroup malignmark math matrix matrixrow max mean median menclose syn keyword htmlTagName contained merror mfenced mfrac mglyph mi mi" min minus mlabeledtr mlongdiv syn keyword htmlTagName contained mmultiscripts mn mo mode moment momentabout mover mpadded mphantom mprescripts syn keyword htmlTagName contained mroot mrow ms mscarries mscarry msgroup msline mspace msqrt msrow syn keyword htmlTagName contained mstack mstyle msub msubsup msup mtable mtd mtext mtr munder syn keyword htmlTagName contained munderover naturalnumbers neq none not notanumber notin notprsubset notsubset or syn keyword htmlTagName contained otherwise outerproduct partialdiff pi piece piecewise plus power primes product syn keyword htmlTagName contained prsubset quotient rationals real reals reln rem root scalarproduct sdev syn keyword htmlTagName contained sec sech selector semantics sep set setdiff share sin sinh syn keyword htmlTagName contained span subset sum tan tanh tendsto times transpose true union syn keyword htmlTagName contained uplimit variance vector vectorproduct xor " Custom Element syn match htmlTagName contained "\<[a-z][-.0-9_a-z]*-[-.0-9_a-z]*\>" " HTML 5 arguments " Core Attributes syn keyword htmlArg contained accesskey class contenteditable contextmenu dir syn keyword htmlArg contained draggable hidden id is lang spellcheck style tabindex title translate " Event-handler Attributes syn keyword htmlArg contained onabort onblur oncanplay oncanplaythrough onchange syn keyword htmlArg contained onclick oncontextmenu ondblclick ondrag ondragend ondragenter ondragleave ondragover syn keyword htmlArg contained ondragstart ondrop ondurationchange onemptied onended onerror onfocus onformchange syn keyword htmlArg contained onforminput oninput oninvalid onkeydown onkeypress onkeyup onload onloadeddata syn keyword htmlArg contained onloadedmetadata onloadstart onmousedown onmousemove onmouseout onmouseover onmouseup syn keyword htmlArg contained onmousewheel onpause onplay onplaying onprogress onratechange onreadystatechange syn keyword htmlArg contained onscroll onseeked onseeking onselect onshow onstalled onsubmit onsuspend ontimeupdate syn keyword htmlArg contained onvolumechange onwaiting " XML Attributes syn keyword htmlArg contained xml:lang xml:space xml:base xmlns " new features " syn keyword htmlArg contained onafterprint onbeforeprint onbeforeunload onblur onerror onfocus onhashchange onload syn keyword htmlArg contained onmessage onoffline ononline onpopstate onredo onresize onstorage onundo onunload "