summaryrefslogtreecommitdiffstats
path: root/syntax
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2020-10-08 00:40:28 +0200
committerAdam Stankiewicz <sheerun@sher.pl>2020-10-08 00:40:28 +0200
commitbb3de8fa5e509d5f5faf173fd1a92635a0023274 (patch)
treea6401fbc683b8213f008d0564fa40e7f81e1c6f2 /syntax
parentb3763a917a6a3ca85ae51086fc8d29b28f66fc88 (diff)
downloadvim-polyglot-bb3de8fa5e509d5f5faf173fd1a92635a0023274.tar.gz
vim-polyglot-bb3de8fa5e509d5f5faf173fd1a92635a0023274.zip
Fix markdown and other highlighting, #578
Diffstat (limited to 'syntax')
-rw-r--r--syntax/html.vim497
-rw-r--r--syntax/html/aria.vim79
-rw-r--r--syntax/html/electron.vim19
-rw-r--r--syntax/html/rdfa.vim15
-rw-r--r--syntax/javascript/html5.vim53
5 files changed, 312 insertions, 351 deletions
diff --git a/syntax/html.vim b/syntax/html.vim
index 43db7575..a04b4c90 100644
--- a/syntax/html.vim
+++ b/syntax/html.vim
@@ -1,23 +1,15 @@
-if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'html5') == -1
+if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'html') == -1
" Vim syntax file
-" Language: HTML (version 5.1)
-" SVG (SVG 1.1 Second Edition)
-" MathML (MathML 3.0 Second Edition)
-" Last Change: 2017 Mar 07
-" License: Public domain
-" (but let me know if you like :) )
+" Language: HTML
+" Maintainer: Jorge Maldonado Ventura <jorgesumle@freakspot.net>
+" Previous Maintainer: Claudio Fleiner <claudio@fleiner.com>
+" Repository: https://notabug.org/jorgesumle/vim-html-syntax
+" Last Change: 2020 Mar 17
+" Included patch from Florian Breisch to add the summary element
"
-" Note: This file just add new tags from HTML 5
-" and don't replace default html.vim syntax file
-"
-" Maintainer: Kao, Wei-Ko(othree) ( othree AT gmail DOT com )
-" Changes: update to Draft 2016 Jan 13
-" add microdata Attributes
-" Maintainer: Rodrigo Machado <rcmachado@gmail.com>
-" URL: http://rm.blog.br/vim/syntax/html.vim
-" Modified: htdebeer <H.T.de.Beer@gmail.com>
-" Changes: add common SVG elements and attributes for inline SVG
+
+" 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")
@@ -30,178 +22,312 @@ endif
let s:cpo_save = &cpo
set cpo&vim
-" Patch 7.4.1142
-if has("patch-7.4-1142")
- if has("win32")
- syn iskeyword @,48-57,_,128-167,224-235,-
+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=+</+ end=+>+ 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 +</\s*[-a-zA-Z0-9]\++hs=s+2 contains=htmlTagName,htmlSpecialTagName,@htmlTagNameCluster
+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 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 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 dialog embed figcaption
+syn keyword htmlTagName contained figure footer header hgroup keygen main
+syn keyword htmlTagName contained mark menuitem meter nav output picture
+syn keyword htmlTagName contained progress rb rp rt rtc ruby section
+syn keyword htmlTagName contained slot source summary template time track
+syn keyword htmlTagName contained 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
+
+" aria attributes
+syn match htmlArg contained "\<\(aria-activedescendant\|aria-atomic\)\>"
+syn match htmlArg contained "\<\(aria-autocomplete\|aria-busy\|aria-checked\)\>"
+syn match htmlArg contained "\<\(aria-colcount\|aria-colindex\|aria-colspan\)\>"
+syn match htmlArg contained "\<\(aria-controls\|aria-current\)\>"
+syn match htmlArg contained "\<\(aria-describedby\|aria-details\)\>"
+syn match htmlArg contained "\<\(aria-disabled\|aria-dropeffect\)\>"
+syn match htmlArg contained "\<\(aria-errormessage\|aria-expanded\)\>"
+syn match htmlArg contained "\<\(aria-flowto\|aria-grabbed\|aria-haspopup\)\>"
+syn match htmlArg contained "\<\(aria-hidden\|aria-invalid\)\>"
+syn match htmlArg contained "\<\(aria-keyshortcuts\|aria-label\)\>"
+syn match htmlArg contained "\<\(aria-labelledby\|aria-level\|aria-live\)\>"
+syn match htmlArg contained "\<\(aria-modal\|aria-multiline\)\>"
+syn match htmlArg contained "\<\(aria-multiselectable\|aria-orientation\)\>"
+syn match htmlArg contained "\<\(aria-owns\|aria-placeholder\|aria-posinset\)\>"
+syn match htmlArg contained "\<\(aria-pressed\|aria-readonly\|aria-relevant\)\>"
+syn match htmlArg contained "\<\(aria-required\|aria-roledescription\)\>"
+syn match htmlArg contained "\<\(aria-rowcount\|aria-rowindex\|aria-rowspan\)\>"
+syn match htmlArg contained "\<\(aria-selected\|aria-setsize\|aria-sort\)\>"
+syn match htmlArg contained "\<\(aria-valuemax\|aria-valuemin\)\>"
+syn match htmlArg contained "\<\(aria-valuenow\|aria-valuetext\)\>"
+syn keyword htmlArg contained role
+
+" 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 "\<z-index\>"
+
+" 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=+<!--+ end=+--\s*>+ contains=@Spell
+else
+ syn region htmlComment start=+<!+ end=+>+ contains=htmlCommentPart,htmlCommentError,@Spell
+ syn match htmlCommentError contained "[^><!]"
+ syn region htmlCommentPart contained start=+--+ end=+--\s*+ contains=@htmlPreProc,@Spell
+endif
+syn region htmlComment start=+<!DOCTYPE+ keepend end=+>+
+
+" server-parsed commands
+syn region htmlPreProc start=+<!--#+ end=+-->+ contains=htmlPreStmt,htmlPreError,htmlPreAttr
+syn match htmlPreStmt contained "<!--#\(config\|echo\|exec\|fsize\|flastmod\|include\|printenv\|set\|if\|elif\|else\|endif\|geoguide\)\>"
+syn match htmlPreError contained "<!--#\S*"ms=s+4
+syn match htmlPreAttr contained "\w\+=[^"]\S\+" contains=htmlPreProcAttrError,htmlPreProcAttrName
+syn region htmlPreAttr contained start=+\w\+="+ skip=+\\\\\|\\"+ end=+"+ contains=htmlPreProcAttrName keepend
+syn match htmlPreProcAttrError contained "\w\+="he=e-1
+syn match htmlPreProcAttrName contained "\(expr\|errmsg\|sizefmt\|timefmt\|var\|cgi\|cmd\|file\|virtual\|value\)="he=e-1
+
+if !exists("html_no_rendering")
+ " rendering
+ syn cluster htmlTop contains=@Spell,htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,@htmlPreproc
+
+ syn region htmlStrike start="<del\>" end="</del\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlStrike start="<strike\>" end="</strike\_s*>"me=s-1 contains=@htmlTop
+
+ syn region htmlBold start="<b\>" end="</b\_s*>"me=s-1 contains=@htmlTop,htmlBoldUnderline,htmlBoldItalic
+ syn region htmlBold start="<strong\>" end="</strong\_s*>"me=s-1 contains=@htmlTop,htmlBoldUnderline,htmlBoldItalic
+ syn region htmlBoldUnderline contained start="<u\>" end="</u\_s*>"me=s-1 contains=@htmlTop,htmlBoldUnderlineItalic
+ syn region htmlBoldItalic contained start="<i\>" end="</i\_s*>"me=s-1 contains=@htmlTop,htmlBoldItalicUnderline
+ syn region htmlBoldItalic contained start="<em\>" end="</em\_s*>"me=s-1 contains=@htmlTop,htmlBoldItalicUnderline
+ syn region htmlBoldUnderlineItalic contained start="<i\>" end="</i\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlBoldUnderlineItalic contained start="<em\>" end="</em\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlBoldItalicUnderline contained start="<u\>" end="</u\_s*>"me=s-1 contains=@htmlTop,htmlBoldUnderlineItalic
+
+ syn region htmlUnderline start="<u\>" end="</u\_s*>"me=s-1 contains=@htmlTop,htmlUnderlineBold,htmlUnderlineItalic
+ syn region htmlUnderlineBold contained start="<b\>" end="</b\_s*>"me=s-1 contains=@htmlTop,htmlUnderlineBoldItalic
+ syn region htmlUnderlineBold contained start="<strong\>" end="</strong\_s*>"me=s-1 contains=@htmlTop,htmlUnderlineBoldItalic
+ syn region htmlUnderlineItalic contained start="<i\>" end="</i\_s*>"me=s-1 contains=@htmlTop,htmlUnderlineItalicBold
+ syn region htmlUnderlineItalic contained start="<em\>" end="</em\_s*>"me=s-1 contains=@htmlTop,htmlUnderlineItalicBold
+ syn region htmlUnderlineItalicBold contained start="<b\>" end="</b\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlUnderlineItalicBold contained start="<strong\>" end="</strong\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlUnderlineBoldItalic contained start="<i\>" end="</i\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlUnderlineBoldItalic contained start="<em\>" end="</em\_s*>"me=s-1 contains=@htmlTop
+
+ syn region htmlItalic start="<i\>" end="</i\_s*>"me=s-1 contains=@htmlTop,htmlItalicBold,htmlItalicUnderline
+ syn region htmlItalic start="<em\>" end="</em\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlItalicBold contained start="<b\>" end="</b\_s*>"me=s-1 contains=@htmlTop,htmlItalicBoldUnderline
+ syn region htmlItalicBold contained start="<strong\>" end="</strong\_s*>"me=s-1 contains=@htmlTop,htmlItalicBoldUnderline
+ syn region htmlItalicBoldUnderline contained start="<u\>" end="</u\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlItalicUnderline contained start="<u\>" end="</u\_s*>"me=s-1 contains=@htmlTop,htmlItalicUnderlineBold
+ syn region htmlItalicUnderlineBold contained start="<b\>" end="</b\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlItalicUnderlineBold contained start="<strong\>" end="</strong\_s*>"me=s-1 contains=@htmlTop
+
+ syn match htmlLeadingSpace "^\s\+" contained
+ syn region htmlLink start="<a\>\_[^>]*\<href\>" end="</a\_s*>"me=s-1 contains=@Spell,htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLeadingSpace,javaScript,@htmlPreproc
+ syn region htmlH1 start="<h1\>" end="</h1\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlH2 start="<h2\>" end="</h2\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlH3 start="<h3\>" end="</h3\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlH4 start="<h4\>" end="</h4\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlH5 start="<h5\>" end="</h5\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlH6 start="<h6\>" end="</h6\_s*>"me=s-1 contains=@htmlTop
+ syn region htmlHead start="<head\>" end="</head\_s*>"me=s-1 end="<body\>"me=s-1 end="<h[1-6]\>"me=s-1 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,htmlTitle,javaScript,cssStyle,@htmlPreproc
+ syn region htmlTitle start="<title\>" end="</title\_s*>"me=s-1 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,javaScript,@htmlPreproc
+endif
+
+syn keyword htmlTagName contained noscript
+syn keyword htmlSpecialTagName contained script style
+if main_syntax != 'java' || exists("java_javascript")
+ " JAVA SCRIPT
+ syn include @htmlJavaScript syntax/javascript.vim
+ unlet b:current_syntax
+ syn region javaScript start=+<script\_[^>]*>+ keepend end=+</script\_[^>]*>+me=s-1 contains=@htmlJavaScript,htmlCssStyleComment,htmlScriptTag,@htmlPreproc
+ syn region htmlScriptTag contained start=+<script+ end=+>+ fold contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent
+ hi def link htmlScriptTag htmlTag
+
+ " html events (i.e. arguments that include javascript commands)
+ if exists("html_extended_events")
+ syn region htmlEvent contained start=+\<on\a\+\s*=[\t ]*'+ end=+'+ contains=htmlEventSQ
+ syn region htmlEvent contained start=+\<on\a\+\s*=[\t ]*"+ end=+"+ contains=htmlEventDQ
else
- syn iskeyword @,48-57,_,192-255,-
+ syn region htmlEvent contained start=+\<on\a\+\s*=[\t ]*'+ end=+'+ keepend contains=htmlEventSQ
+ syn region htmlEvent contained start=+\<on\a\+\s*=[\t ]*"+ end=+"+ keepend contains=htmlEventDQ
endif
+ syn region htmlEventSQ contained start=+'+ms=s+1 end=+'+me=s-1 contains=@htmlJavaScript
+ syn region htmlEventDQ contained start=+"+ms=s+1 end=+"+me=s-1 contains=@htmlJavaScript
+ hi def link htmlEventSQ htmlEvent
+ hi def link htmlEventDQ htmlEvent
+
+ " a javascript expression is used as an arg value
+ syn region javaScriptExpression contained start=+&{+ keepend end=+};+ contains=@htmlJavaScript,@htmlPreproc
+endif
+
+if main_syntax != 'java' || exists("java_vb")
+ " VB SCRIPT
+ syn include @htmlVbScript syntax/vb.vim
+ unlet b:current_syntax
+ syn region javaScript start=+<script \_[^>]*language *=\_[^>]*vbscript\_[^>]*>+ keepend end=+</script\_[^>]*>+me=s-1 contains=@htmlVbScript,htmlCssStyleComment,htmlScriptTag,@htmlPreproc
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 slot
-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]*\>"
-syn match htmlTagName contained "[.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
-" <body>
-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
-" <video>, <audio>, <source>, <track>
-syn keyword htmlArg contained autoplay preload controls loop poster media kind charset srclang track playsinline
-" <form>, <input>, <button>
-syn keyword htmlArg contained form autocomplete autofocus list min max step
-syn keyword htmlArg contained formaction autofocus formenctype formmethod formtarget formnovalidate
-syn keyword htmlArg contained required placeholder pattern
-" <command>, <details>, <time>
-syn keyword htmlArg contained label icon open datetime-local pubdate
-" <script>
-syn keyword htmlArg contained async
-" <content>
-syn keyword htmlArg contained select
-" <iframe>
-syn keyword htmlArg contained seamless srcdoc sandbox allowfullscreen allowusermedia allowpaymentrequest allowpresentation
-" <picture>
-syn keyword htmlArg contained srcset sizes
-" <a>
-syn keyword htmlArg contained download media
-" <script>, <style>
-syn keyword htmlArg contained nonce
-" <area>, <a>, <img>, <iframe>, <link>
-syn keyword htmlArg contained referrerpolicy
-" https://w3c.github.io/webappsec-subresource-integrity/#the-integrity-attribute
-syn keyword htmlArg contained integrity crossorigin
-" <link>
-syn keyword htmlArg contained prefetch
-" syn keyword htmlArg contained preload
-" <img>
-syn keyword htmlArg contained decoding
-" https://w3c.github.io/selection-api/#extensions-to-globaleventhandlers
-syn keyword htmlArg contained onselectstart onselectionchange
-" https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/loading
-syn keyword htmlArg contained loading
-
-" Custom Data Attributes
-" http://w3c.github.io/html/single-page.html#embedding-custom-non-visible-data-with-the-data-attributes
-syn match htmlArg "\<data[-.0-9_a-z]*-[-.0-9_a-z]*\>" contained
-
-" Vendor Extension Attributes
-" http://w3c.github.io/html/single-page.html#conformance-requirements-extensibility
-syn match htmlArg "\<x[-.0-9_a-z]*-[-.0-9_a-z]*\>" contained
-
-" Microdata
-" http://dev.w3.org/html5/md/
-syn keyword htmlArg contained itemid itemscope itemtype itemprop itemref
-
-" SVG
-" http://www.w3.org/TR/SVG/
-" Some common attributes from http://www.w3.org/TR/SVG/attindex.html
-syn keyword htmlArg contained accent-height accumulate additive alphabetic amplitude arabic-form ascent attributeName attributeType azimuth
-syn keyword htmlArg contained baseFrequency baseProfile bbox begin bias by
-syn keyword htmlArg contained calcMode cap-height class clipPathUnits contentScriptType contentStyleType cx cy
-syn keyword htmlArg contained d descent diffuseConstant divisor dur dx dy
-syn keyword htmlArg contained edgeMode elevation end exponent externalResourcesRequired
-syn keyword htmlArg contained fill filterRes filterUnits font-family font-size font-stretch font-style font-variant font-weight format format from fx fy
-syn keyword htmlArg contained g1 g2 glyph-name glyphRef gradientTransform gradientUnits
-syn keyword htmlArg contained hanging height horiz-adv-x horiz-origin-x horiz-origin-y
-syn keyword htmlArg contained id ideographic in in2 intercept
-syn keyword htmlArg contained k k1 k2 k3 k4 kernelMatrix kernelUnitLength keyPoints keySplines keyTimes
-syn keyword htmlArg contained lang lengthAdjust limitingConeAngle local
-syn keyword htmlArg contained markerHeight markerUnits markerWidth maskContentUnits maskUnits mathematical max media method min mode name
-syn keyword htmlArg contained numOctaves
-syn keyword htmlArg contained offset onabort onactivate onbegin onclick onend onerror onfocusin onfocusout onload onmousedown onmousemove onmouseout onmouseover onmouseup onrepeat onresize onscroll onunload onzoom operator order orient orientation origin overline-position overline-thickness
-syn keyword htmlArg contained panose-1 path pathLength patternContentUnits patternTransform patternUnits points pointsAtX pointsAtY pointsAtZ preserveAlpha preserveAspectRatio primitiveUnits
-syn keyword htmlArg contained r radius refX refY rendering-intent repeatCount repeatDur requiredExtensions requiredFeatures restart result rotate rx ry
-syn keyword htmlArg contained scale seed slope spacing specularConstant specularExponent spreadMethod startOffset stdDeviation stemh stemv stitchTiles strikethrough-position strikethrough-thickness string surfaceScale systemLanguage
-syn keyword htmlArg contained tableValues target targetX targetY textLength title to transform type
-syn keyword htmlArg contained u1 u2 underline-position underline-thickness unicode unicode-range units-per-em
-syn keyword htmlArg contained v-alphabetic v-hanging v-ideographic v-mathematical values version vert-adv-y vert-origin-x vert-origin-y viewBox viewTarget
-syn keyword htmlArg contained width widths
-syn keyword htmlArg contained x x-height x1 x2 xChannelSelector xlink:actuate xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type xml:base xml:lang xml:space
-syn keyword htmlArg contained y y1 y2 yChannelSelector
-syn keyword htmlArg contained z zoomAndPan
-syn keyword htmlArg contained alignment-baseline baseline-shift clip-path clip-rule clip color-interpolation-filters color-interpolation color-profile color-rendering color cursor direction display dominant-baseline enable-background fill-opacity fill-rule fill filter flood-color flood-opacity font-family font-size-adjust font-size font-stretch font-style font-variant font-weight glyph-orientation-horizontal glyph-orientation-vertical image-rendering kerning letter-spacing lighting-color marker-end marker-mid marker-start mask opacity overflow pointer-events shape-rendering stop-color stop-opacity stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width stroke text-anchor text-decoration text-rendering unicode-bidi visibility word-spacing writing-mode
-
-" MathML attributes
-" https://www.w3.org/TR/MathML3/chapter2.html#interf.toplevel.atts
-syn keyword htmlArg contained accent accentunder actiontype align alignmentscope altimg altimg-height altimg-valign altimg-width alttext
-syn keyword htmlArg contained annotation-xml background base baseline bevelled cd cdgroup charalign charspacing close
-syn keyword htmlArg contained closure color columnalign columnalignment columnlines columnspacing columnspan columnwidth crossout decimalpoint
-syn keyword htmlArg contained definitionURL denomalign depth display displaystyle edge encoding equalcolumns equalrows fence
-syn keyword htmlArg contained fontfamily fontsize fontstyle fontweight form frame framespacing groupalign height indentalign
-syn keyword htmlArg contained indentalignfirst indentalignlast indentshift indentshiftfirst indentshiftlast indenttarget index infixlinebreakstyle integer largeop
-syn keyword htmlArg contained leftoverhang length linebreak linebreakmultchar linebreakstyle lineleading linethickness location longdivstyle lquote
-syn keyword htmlArg contained lspace ltr macros math mathbackground mathcolor mathsize mathvariant maxsize maxwidth
-syn keyword htmlArg contained mediummathspace menclose minlabelspacing minsize mode movablelimits msgroup mslinethickness name nargs
-syn keyword htmlArg contained newline notation numalign number occurrence open order other overflow position
-syn keyword htmlArg contained rightoverhang role rowalign rowlines rowspacing rowspan rquote rspace schemaLocation scope
-syn keyword htmlArg contained scriptlevel scriptminsize scriptsize scriptsizemultiplier selection separator separators shift side stackalign
-syn keyword htmlArg contained stretchy subscriptshift superscriptshift symmetric thickmathspace thinmathspace type valign verythickmathspace verythinmathspace
-syn keyword htmlArg contained veryverythickmathspace veryverythinmathspace voffset width xref
+syn cluster htmlJavaScript add=@htmlPreproc
+
+if main_syntax != 'java' || exists("java_css")
+ " embedded style sheets
+ syn keyword htmlArg contained media
+ syn include @htmlCss syntax/css.vim
+ unlet b:current_syntax
+ syn region cssStyle start=+<style+ keepend end=+</style>+ contains=@htmlCss,htmlTag,htmlEndTag,htmlCssStyleComment,@htmlPreproc
+ syn match htmlCssStyleComment 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 "<script"
+ syn sync match htmlHighlightSkip "^.*['\"].*$"
+ syn sync minlines=10
+endif
+
+" The default highlighting.
+hi def link htmlTag Function
+hi def link htmlEndTag Identifier
+hi def link htmlArg Type
+hi def link htmlTagName htmlStatement
+hi def link htmlSpecialTagName Exception
+hi def link htmlValue String
+hi def link htmlSpecialChar Special
+
+if !exists("html_no_rendering")
+ hi def link htmlH1 Title
+ hi def link htmlH2 htmlH1
+ hi def link htmlH3 htmlH2
+ hi def link htmlH4 htmlH3
+ hi def link htmlH5 htmlH4
+ hi def link htmlH6 htmlH5
+ hi def link htmlHead PreProc
+ hi def link htmlTitle Title
+ hi def link htmlBoldItalicUnderline htmlBoldUnderlineItalic
+ hi def link htmlUnderlineBold htmlBoldUnderline
+ hi def link htmlUnderlineItalicBold htmlBoldUnderlineItalic
+ hi def link htmlUnderlineBoldItalic htmlBoldUnderlineItalic
+ hi def link htmlItalicUnderline htmlUnderlineItalic
+ hi def link htmlItalicBold htmlBoldItalic
+ hi def link htmlItalicBoldUnderline htmlBoldUnderlineItalic
+ hi def link htmlItalicUnderlineBold htmlBoldUnderlineItalic
+ hi def link htmlLink Underlined
+ hi def link htmlLeadingSpace None
+ if !exists("html_my_rendering")
+ hi def htmlBold term=bold cterm=bold gui=bold
+ hi def htmlBoldUnderline term=bold,underline cterm=bold,underline gui=bold,underline
+ hi def htmlBoldItalic term=bold,italic cterm=bold,italic gui=bold,italic
+ hi def htmlBoldUnderlineItalic term=bold,italic,underline cterm=bold,italic,underline gui=bold,italic,underline
+ hi def htmlUnderline term=underline cterm=underline gui=underline
+ hi def htmlUnderlineItalic term=italic,underline cterm=italic,underline gui=italic,underline
+ hi def htmlItalic term=italic cterm=italic gui=italic
+ if v:version > 800 || v:version == 800 && has("patch1038")
+ hi def htmlStrike term=strikethrough cterm=strikethrough gui=strikethrough
+ else
+ hi def htmlStrike term=underline cterm=underline gui=underline
+ endif
+ endif
+endif
+
+hi def link htmlPreStmt PreProc
+hi def link htmlPreError Error
+hi def link htmlPreProc PreProc
+hi def link htmlPreAttr String
+hi def link htmlPreProcAttrName PreProc
+hi def link htmlPreProcAttrError Error
+hi def link htmlSpecial Special
+hi def link htmlSpecialChar Special
+hi def link htmlString String
+hi def link htmlStatement Statement
+hi def link htmlComment Comment
+hi def link htmlCommentPart Comment
+hi def link htmlValue String
+hi def link htmlCommentError htmlError
+hi def link htmlTagError htmlError
+hi def link htmlEvent javaScript
+hi def link htmlError Error
+
+hi def link javaScript Special
+hi def link javaScriptExpression javaScript
+hi def link htmlCssStyleComment Comment
+hi def link htmlCssDefinition Special
let b:current_syntax = "html"
@@ -211,5 +337,6 @@ endif
let &cpo = s:cpo_save
unlet s:cpo_save
+" vim: ts=8
endif
diff --git a/syntax/html/aria.vim b/syntax/html/aria.vim
deleted file mode 100644
index 0c555e6e..00000000
--- a/syntax/html/aria.vim
+++ /dev/null
@@ -1,79 +0,0 @@
-if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'html5') == -1
-
-" Vim syntax file
-" Language: WAI-ARIA
-" Maintainer: othree <othree@gmail.com>
-" URL: https://github.com/othree/html5.vim
-" Last Change: 2017-03-07
-" License: MIT
-" Changes: update to Candidate Recommendation 27 October 2016
-
-" WAI-ARIA States and Properties
-" https://www.w3.org/TR/wai-aria-1.1/#states_and_properties
-syn keyword htmlArg contained role
-
-" Global States and Properties
-syn keyword htmlArg contained aria-atomic aria-busy aria-controls aria-describedby
-syn keyword htmlArg contained aria-disabled aria-dropeffect aria-flowto aria-grabbed
-syn keyword htmlArg contained aria-haspopup aria-hidden aria-invalid aria-label
-syn keyword htmlArg contained aria-labelledby aria-live aria-owns aria-relevant
-" 1.1
-syn keyword htmlArg contained aria-current aria-details aria-keyshortcuts aria-roledescription
-
-" Widget Attributes
-syn keyword htmlArg contained aria-autocomplete aria-checked aria-disabled aria-expanded
-syn keyword htmlArg contained aria-haspopup aria-hidden aria-invalid aria-label
-syn keyword htmlArg contained aria-level aria-multiline aria-multiselectable aria-orientation
-syn keyword htmlArg contained aria-pressed aria-readonly aria-required aria-selected
-syn keyword htmlArg contained aria-sort aria-valuemax aria-valuemin aria-valuenow aria-valuetext
-" 1.1
-syn keyword htmlArg contained aria-errormessage aria-hasgroup aria-modal aria-placeholder
-
-" Live Region Attributes
-syn keyword htmlArg contained aria-atomic aria-busy aria-live aria-relevant
-
-" Drag-and-Drop attributes
-syn keyword htmlArg contained aria-dropeffect aria-grabbed
-
-" Relationship Attributes
-syn keyword htmlArg contained aria-activedescendant aria-controls aria-describedby aria-flowto
-syn keyword htmlArg contained aria-labelledby aria-owns aria-posinset aria-setsize
-" 1.1
-syn keyword htmlArg contained aria-colcount aria-colindex aria-colspan
-syn keyword htmlArg contained aria-rowcount aria-rowindex aria-rowspan
-
-
-" Use match: https://github.com/othree/html5.vim/issues/39
-
-" Global States and Properties
-syn match htmlArg contained "\<aria-\%(\|atomic\|busy\|controls\|describedby\)\>"
-syn match htmlArg contained "\<aria-\%(\|disabled\|dropeffect\|flowto\|grabbed\)\>"
-syn match htmlArg contained "\<aria-\%(\|haspopup\|hidden\|invalid\|label\)\>"
-syn match htmlArg contained "\<aria-\%(\|labelledby\|live\|owns\|relevant\)\>"
-" 1.1
-syn match htmlArg contained "\<aria-\%(\|current\|details\|keyshortcuts\|roledescription\)\>"
-
-" Widget Attributes
-syn match htmlArg contained "\<aria-\%(\|autocomplete\|checked\|disabled\|expanded\)\>"
-syn match htmlArg contained "\<aria-\%(\|haspopup\|hidden\|invalid\|label\)\>"
-syn match htmlArg contained "\<aria-\%(\|level\|multiline\|multiselectable\|orientation\)\>"
-syn match htmlArg contained "\<aria-\%(\|pressed\|readonly\|required\|selected\)\>"
-syn match htmlArg contained "\<aria-\%(\|sort\|valuemax\|valuemin\|valuenow\|valuetext\)\>"
-" 1.1
-syn match htmlArg contained "\<aria-\%(\|errormessage\|hasgroup\|modal\|placeholder\)\>"
-
-" Live Region Attributes
-syn match htmlArg contained "\<aria-\%(\|atomic\|busy\|live\|relevant\)\>"
-
-" Drag-and-Drop attributes
-syn match htmlArg contained "\<aria-\%(\|dropeffect\|grabbed\)\>"
-
-" Relationship Attributes
-syn match htmlArg contained "\<aria-\%(\|activedescendant\|controls\|describedby\|flowto\)\>"
-syn match htmlArg contained "\<aria-\%(\|labelledby\|owns\|posinset\|setsize\)\>"
-" 1.1
-syn match htmlArg contained "\<aria-\%(\|colcount\|colindex\|colspan\)\>"
-syn match htmlArg contained "\<aria-\%(\|rowcount\|rowindex\|rowspan\)\>"
-
-
-endif
diff --git a/syntax/html/electron.vim b/syntax/html/electron.vim
deleted file mode 100644
index f51e1aef..00000000
--- a/syntax/html/electron.vim
+++ /dev/null
@@ -1,19 +0,0 @@
-if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'html5') == -1
-
-" Vim syntax file
-" Language: Electron
-" Maintainer: othree <othree@gmail.com>
-" URL: https://github.com/othree/html5.vim
-" Last Change: 2017-03-15
-" License: MIT
-
-" <webview> https://electron.atom.io/docs/api/webview-tag/
-syn keyword htmlTagName contained webview
-
-syn keyword htmlArg contained autosize nodeintegration plugins preload httpreferrer
-syn keyword htmlArg contained useragent disablewebsecurity partition allowpopups
-syn keyword htmlArg contained webpreferences blinkfeatures disableblinkfeatures
-syn keyword htmlArg contained guestinstance disableguestresize
-
-
-endif
diff --git a/syntax/html/rdfa.vim b/syntax/html/rdfa.vim
deleted file mode 100644
index d772d43c..00000000
--- a/syntax/html/rdfa.vim
+++ /dev/null
@@ -1,15 +0,0 @@
-if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'html5') == -1
-
-" Vim syntax file
-" Language: RDFa
-" Maintainer: othree <othree@gmail.com>
-" URL: http://github.com/othree/html5-syntax.vim
-" Last Change: 2012-06-08
-" License: MIT
-" Changes: update to Rec 07 June 2012
-
-" RDFa
-" http://www.w3.org/TR/rdfa-syntax/#s_syntax
-syn keyword htmlArg contained about content datatype href inlist prefix property rel resource rev src typeof vocab
-
-endif
diff --git a/syntax/javascript/html5.vim b/syntax/javascript/html5.vim
deleted file mode 100644
index 42ab78ad..00000000
--- a/syntax/javascript/html5.vim
+++ /dev/null
@@ -1,53 +0,0 @@
-if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'html5') == -1
-
-" Vim syntax file
-" Language: HTML5 New Stuff
-" Maintainer: othree <othree@gmail.com>
-" URL: http://github.com/othree/html5-syntax.vim
-" Last Change: 2011-05-27
-" License: MIT
-" Changes:
-
-syn keyword javascriptHtmlEvents onabort onblur oncanplay oncanplaythrough onchange
-syn keyword javascriptHtmlEvents onclick oncontextmenu ondblclick ondrag ondragend ondragenter ondragleave ondragover
-syn keyword javascriptHtmlEvents ondragstart ondrop ondurationchange onemptied onended onerror onfocus onformchange
-syn keyword javascriptHtmlEvents onforminput oninput oninvalid onkeydown onkeypress onkeyup onload onloadeddata
-syn keyword javascriptHtmlEvents onloadedmetadata onloadstart onmousedown onmousemove onmouseout onmouseover onmouseup
-syn keyword javascriptHtmlEvents onmousewheel onpause onplay onplaying onprogress onratechange onreadystatechange
-syn keyword javascriptHtmlEvents onscroll onseeked onseeking onselect onshow onstalled onsubmit onsuspend ontimeupdate
-syn keyword javascriptHtmlEvents onvolumechange onwaiting
-
-" <body>
-syn keyword javascriptHtmlEvents onafterprint onbeforeprint onbeforeunload onblur onerror onfocus onhashchange onload
-syn keyword javascriptHtmlEvents onmessage onoffline ononline onpopstate onredo onresize onstorage onundo onunload
-
-" Media Controller
-syn keyword javascriptDomElemAttrs buffered seekable duration currentTime paused
-syn keyword javascriptDomElemAttrs played defaultPlaybackRate playbackRate volume muted
-syn keyword javascriptDomElemAttrs mediaGroup
-syn keyword javascriptDomElemFuncs load play pause
-
-syn keyword javascriptHtmlEvents oncanplay oncanplaythrough ondurationchange onemptied
-syn keyword javascriptHtmlEvents onloadeddata onloadedmetadata onloadstart onpause onplay onplaying onratechange
-syn keyword javascriptHtmlEvents ontimeupdate onvolumechange onwaiting
-
-" <audio>/<video>
-syn keyword javascriptDomElemAttrs error src currentSrc networkState preload buffered readyState seeking
-syn keyword javascriptDomElemAttrs currentTime initialTime duration startOffsetTime paused defaultPlaybackRate playbackRate played
-syn keyword javascriptDomElemAttrs seekable ended autoplay loop controls volume muted defaltMuted audioTracks videoTracks textTracks
-syn keyword javascriptDomElemFuncs load addTextTrack
-
-" <video>
-" syn keyword javascriptDomElemAttrs width height
-syn keyword javascriptDomElemAttrs videoWidth videoHeight poster
-
-" drag and drop
-syn keyword javascriptDomElemAttrs ondragstart ondragend ondragenter ondragleave ondragover ondrag ondrop draggable dropzone
-
-" <checkbox>
-syn keyword javascriptDomElemAttrs indeterminate
-
-" select https://w3c.github.io/selection-api/#extensions-to-globaleventhandlers
-syn keyword javascriptDomElemAttrs onselectstart onselectchange
-
-endif