mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-08 11:33:52 -05:00
Fix markdown and other highlighting, #578
This commit is contained in:
@@ -7,7 +7,7 @@ A collection of language packs for Vim.
|
|||||||
> One to rule them all, one to find them, one to bring them all and in the darkness bind them.
|
> One to rule them all, one to find them, one to bring them all and in the darkness bind them.
|
||||||
|
|
||||||
- It **won't affect your startup time**, as scripts are loaded only on demand\*.
|
- It **won't affect your startup time**, as scripts are loaded only on demand\*.
|
||||||
- It **installs and updates 120+ times faster** than the <!--Package Count-->590<!--/Package Count--> packages it consists of.
|
- It **installs and updates 120+ times faster** than the <!--Package Count-->591<!--/Package Count--> packages it consists of.
|
||||||
- It is more secure because scripts loaded for all extensions are generated by vim-polyglot (ftdetect).
|
- It is more secure because scripts loaded for all extensions are generated by vim-polyglot (ftdetect).
|
||||||
- Solid syntax and indentation support (other features skipped). Only the best language packs.
|
- Solid syntax and indentation support (other features skipped). Only the best language packs.
|
||||||
- All unnecessary files are ignored (like enormous documentation from php support).
|
- All unnecessary files are ignored (like enormous documentation from php support).
|
||||||
|
|||||||
13
after/ftplugin/html.vim
Normal file
13
after/ftplugin/html.vim
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'html5') == -1
|
||||||
|
|
||||||
|
" Maintainer: othree <othree@gmail.com>
|
||||||
|
" URL: http://github.com/othree/html5.vim
|
||||||
|
" Last Change: 2014-05-02
|
||||||
|
" License: MIT
|
||||||
|
" Changes: Add - to keyword
|
||||||
|
|
||||||
|
" setlocal iskeyword+=-
|
||||||
|
|
||||||
|
setlocal commentstring=<!--%s-->
|
||||||
|
|
||||||
|
endif
|
||||||
1064
after/indent/html.vim
Normal file
1064
after/indent/html.vim
Normal file
File diff suppressed because it is too large
Load Diff
@@ -2,11 +2,195 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'html5') == -1
|
|||||||
|
|
||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: HTML (version 5.1)
|
" Language: HTML (version 5.1)
|
||||||
" Last Change: 2017 Feb 15
|
" SVG (SVG 1.1 Second Edition)
|
||||||
|
" MathML (MathML 3.0 Second Edition)
|
||||||
|
" Last Change: 2017 Mar 07
|
||||||
" License: Public domain
|
" License: Public domain
|
||||||
" (but let me know if you like :) )
|
" (but let me know if you like :) )
|
||||||
"
|
"
|
||||||
|
" 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 )
|
" 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
|
||||||
|
|
||||||
|
" 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 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
|
||||||
|
|
||||||
" Comment
|
" Comment
|
||||||
" https://github.com/w3c/html/issues/694
|
" https://github.com/w3c/html/issues/694
|
||||||
|
|||||||
@@ -118,6 +118,11 @@ augroup filetypedetect
|
|||||||
|
|
||||||
" DO NOT EDIT CODE BELOW, IT IS GENERATED WITH MAKEFILE
|
" DO NOT EDIT CODE BELOW, IT IS GENERATED WITH MAKEFILE
|
||||||
|
|
||||||
|
if !has_key(s:disabled_packages, 'html')
|
||||||
|
au! BufNewFile,BufRead,BufWritePost *.html call polyglot#detect#Html()
|
||||||
|
au BufNewFile,BufRead *.htm,*.html.hl,*.inc,*.st,*.xht,*.xhtml setf html
|
||||||
|
endif
|
||||||
|
|
||||||
if !has_key(s:disabled_packages, 'pullrequest')
|
if !has_key(s:disabled_packages, 'pullrequest')
|
||||||
au BufNewFile,BufRead PULLREQ_EDITMSG setf pullrequest
|
au BufNewFile,BufRead PULLREQ_EDITMSG setf pullrequest
|
||||||
endif
|
endif
|
||||||
@@ -2197,11 +2202,6 @@ if !has_key(s:disabled_packages, 'i3')
|
|||||||
au BufNewFile,BufRead *.i3.config,*.i3config,{.,}i3.config,{.,}i3config,i3.config,i3config setf i3config
|
au BufNewFile,BufRead *.i3.config,*.i3config,{.,}i3.config,{.,}i3config,i3.config,i3config setf i3config
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if !has_key(s:disabled_packages, 'html5')
|
|
||||||
au! BufNewFile,BufRead,BufWritePost *.html call polyglot#detect#Html()
|
|
||||||
au BufNewFile,BufRead *.htm,*.html.hl,*.inc,*.st,*.xht,*.xhtml setf html
|
|
||||||
endif
|
|
||||||
|
|
||||||
if !has_key(s:disabled_packages, 'hive')
|
if !has_key(s:disabled_packages, 'hive')
|
||||||
au BufNewFile,BufRead *.hql,*.q,*.ql setf hive
|
au BufNewFile,BufRead *.hql,*.q,*.ql setf hive
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -1,13 +1,55 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'html5') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'html') == -1
|
||||||
|
|
||||||
" Maintainer: othree <othree@gmail.com>
|
" Vim filetype plugin file
|
||||||
" URL: http://github.com/othree/html5.vim
|
" Language: html
|
||||||
" Last Change: 2014-05-02
|
" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
|
||||||
" License: MIT
|
" Last Changed: 20 Jan 2009
|
||||||
" Changes: Add - to keyword
|
" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
|
||||||
|
|
||||||
" setlocal iskeyword+=-
|
if exists("b:did_ftplugin") | finish | endif
|
||||||
|
let b:did_ftplugin = 1
|
||||||
|
|
||||||
|
" Make sure the continuation lines below do not cause problems in
|
||||||
|
" compatibility mode.
|
||||||
|
let s:save_cpo = &cpo
|
||||||
|
set cpo-=C
|
||||||
|
|
||||||
|
setlocal matchpairs+=<:>
|
||||||
setlocal commentstring=<!--%s-->
|
setlocal commentstring=<!--%s-->
|
||||||
|
setlocal comments=s:<!--,m:\ \ \ \ ,e:-->
|
||||||
|
|
||||||
|
if exists("g:ft_html_autocomment") && (g:ft_html_autocomment == 1)
|
||||||
|
setlocal formatoptions-=t formatoptions+=croql
|
||||||
|
endif
|
||||||
|
|
||||||
|
if exists('&omnifunc')
|
||||||
|
setlocal omnifunc=htmlcomplete#CompleteTags
|
||||||
|
call htmlcomplete#DetectOmniFlavor()
|
||||||
|
endif
|
||||||
|
|
||||||
|
" HTML: thanks to Johannes Zellner and Benji Fisher.
|
||||||
|
if exists("loaded_matchit")
|
||||||
|
let b:match_ignorecase = 1
|
||||||
|
let b:match_words = '<:>,' .
|
||||||
|
\ '<\@<=[ou]l\>[^>]*\%(>\|$\):<\@<=li\>:<\@<=/[ou]l>,' .
|
||||||
|
\ '<\@<=dl\>[^>]*\%(>\|$\):<\@<=d[td]\>:<\@<=/dl>,' .
|
||||||
|
\ '<\@<=\([^/][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>'
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Change the :browse e filter to primarily show HTML-related files.
|
||||||
|
if has("gui_win32")
|
||||||
|
let b:browsefilter="HTML Files (*.html,*.htm)\t*.htm;*.html\n" .
|
||||||
|
\ "JavaScript Files (*.js)\t*.js\n" .
|
||||||
|
\ "Cascading StyleSheets (*.css)\t*.css\n" .
|
||||||
|
\ "All Files (*.*)\t*.*\n"
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Undo the stuff we changed.
|
||||||
|
let b:undo_ftplugin = "setlocal commentstring< matchpairs< omnifunc< comments< formatoptions<" .
|
||||||
|
\ " | unlet! b:match_ignorecase b:match_skip b:match_words b:browsefilter"
|
||||||
|
|
||||||
|
" Restore the saved compatibility options.
|
||||||
|
let &cpo = s:save_cpo
|
||||||
|
unlet s:save_cpo
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'html5') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'html') == -1
|
||||||
|
|
||||||
" Vim indent script for HTML
|
" Vim indent script for HTML
|
||||||
" Header: "{{{
|
|
||||||
" Maintainer: Bram Moolenaar
|
" Maintainer: Bram Moolenaar
|
||||||
" Original Author: Andy Wokula <anwoku@yahoo.de>
|
" Original Author: Andy Wokula <anwoku@yahoo.de>
|
||||||
" Last Change: 2017 Jun 13
|
" Last Change: 2020 Jul 06
|
||||||
" Version: 1.0
|
" Version: 1.0 "{{{
|
||||||
" Description: HTML indent script with cached state for faster indenting on a
|
" Description: HTML indent script with cached state for faster indenting on a
|
||||||
" range of lines.
|
" range of lines.
|
||||||
" Supports template systems through hooks.
|
" Supports template systems through hooks.
|
||||||
@@ -58,6 +57,9 @@ let s:cpo_save = &cpo
|
|||||||
set cpo-=C
|
set cpo-=C
|
||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
|
" Pattern to match the name of a tag, including custom elements.
|
||||||
|
let s:tagname = '\w\+\(-\w\+\)*'
|
||||||
|
|
||||||
" Check and process settings from b:html_indent and g:html_indent... variables.
|
" Check and process settings from b:html_indent and g:html_indent... variables.
|
||||||
" Prefer using buffer-local settings over global settings, so that there can
|
" Prefer using buffer-local settings over global settings, so that there can
|
||||||
" be defaults for all HTML files and exceptions for specific types of HTML
|
" be defaults for all HTML files and exceptions for specific types of HTML
|
||||||
@@ -216,25 +218,27 @@ endfunc "}}}
|
|||||||
" Self-closing tags and tags that are sometimes {{{
|
" Self-closing tags and tags that are sometimes {{{
|
||||||
" self-closing (e.g., <p>) are not here (when encountering </p> we can find
|
" self-closing (e.g., <p>) are not here (when encountering </p> we can find
|
||||||
" the matching <p>, but not the other way around).
|
" the matching <p>, but not the other way around).
|
||||||
|
" Known self-closing tags: " 'p', 'img', 'source', 'area', 'keygen', 'track',
|
||||||
|
" 'wbr'.
|
||||||
" Old HTML tags:
|
" Old HTML tags:
|
||||||
call s:AddITags(s:indent_tags, [
|
call s:AddITags(s:indent_tags, [
|
||||||
\ 'a', 'abbr', 'acronym', 'address', 'b', 'bdo', 'big',
|
\ 'a', 'abbr', 'acronym', 'address', 'b', 'bdo', 'big',
|
||||||
\ 'blockquote', 'body', 'button', 'caption', 'center', 'cite', 'code',
|
\ 'blockquote', 'body', 'button', 'caption', 'center', 'cite', 'code',
|
||||||
\ 'colgroup', 'del', 'dfn', 'dir', 'div', 'dl', 'em', 'fieldset', 'font',
|
\ 'colgroup', 'dd', 'del', 'dfn', 'dir', 'div', 'dl', 'dt', 'em', 'fieldset', 'font',
|
||||||
\ 'form', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'html',
|
\ 'form', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'html',
|
||||||
\ 'i', 'iframe', 'ins', 'kbd', 'label', 'legend', 'li',
|
\ 'i', 'iframe', 'ins', 'kbd', 'label', 'legend', 'li',
|
||||||
\ 'map', 'menu', 'noframes', 'noscript', 'object', 'ol',
|
\ 'map', 'menu', 'noframes', 'noscript', 'object', 'ol',
|
||||||
\ 'optgroup', 'p', 'q', 's', 'samp', 'select', 'small', 'span', 'strong', 'sub',
|
\ 'optgroup', 'q', 's', 'samp', 'select', 'small', 'span', 'strong', 'sub',
|
||||||
\ 'sup', 'table', 'textarea', 'title', 'tt', 'u', 'ul', 'var', 'th', 'td',
|
\ 'sup', 'table', 'textarea', 'title', 'tt', 'u', 'ul', 'var', 'th', 'td',
|
||||||
\ 'tr', 'tbody', 'tfoot', 'thead'])
|
\ 'tr', 'tbody', 'tfoot', 'thead'])
|
||||||
|
|
||||||
" New HTML5 elements:
|
" New HTML5 elements:
|
||||||
call s:AddITags(s:indent_tags, [
|
call s:AddITags(s:indent_tags, [
|
||||||
\ 'area', 'article', 'aside', 'audio', 'bdi', 'canvas',
|
\ 'article', 'aside', 'audio', 'bdi', 'canvas', 'command', 'data',
|
||||||
\ 'command', 'data', 'datalist', 'details', 'dislog', 'embed', 'figcaption',
|
\ 'datalist', 'details', 'dialog', 'embed', 'figcaption', 'figure',
|
||||||
\ 'figure', 'footer', 'header', 'keygen', 'main', 'mark', 'meter', 'nav', 'output',
|
\ 'footer', 'header', 'hgroup', 'main', 'mark', 'meter', 'nav', 'output',
|
||||||
\ 'picture', 'progress', 'rp', 'rt', 'ruby', 'section', 'source', 'summary', 'svg',
|
\ 'picture', 'progress', 'rp', 'rt', 'ruby', 'section', 'summary',
|
||||||
\ 'time', 'track', 'video', 'wbr'])
|
\ 'svg', 'time', 'video'])
|
||||||
|
|
||||||
" Tags added for web components:
|
" Tags added for web components:
|
||||||
call s:AddITags(s:indent_tags, [
|
call s:AddITags(s:indent_tags, [
|
||||||
@@ -282,7 +286,7 @@ func! s:CountITags(text)
|
|||||||
let s:nextrel = 0 " relative indent steps for next line [unit &sw]:
|
let s:nextrel = 0 " relative indent steps for next line [unit &sw]:
|
||||||
let s:block = 0 " assume starting outside of a block
|
let s:block = 0 " assume starting outside of a block
|
||||||
let s:countonly = 1 " don't change state
|
let s:countonly = 1 " don't change state
|
||||||
call substitute(a:text, '<\zs/\=\w\+\(-\w\+\)*\>\|<!--\[\|\[endif\]-->\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
|
call substitute(a:text, '<\zs/\=' . s:tagname . '\>\|<!--\[\|\[endif\]-->\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
|
||||||
let s:countonly = 0
|
let s:countonly = 0
|
||||||
endfunc "}}}
|
endfunc "}}}
|
||||||
|
|
||||||
@@ -294,7 +298,7 @@ func! s:CountTagsAndState(text)
|
|||||||
let s:nextrel = 0 " relative indent steps for next line [unit &sw]:
|
let s:nextrel = 0 " relative indent steps for next line [unit &sw]:
|
||||||
|
|
||||||
let s:block = b:hi_newstate.block
|
let s:block = b:hi_newstate.block
|
||||||
let tmp = substitute(a:text, '<\zs/\=\w\+\(-\w\+\)*\>\|<!--\[\|\[endif\]-->\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
|
let tmp = substitute(a:text, '<\zs/\=' . s:tagname . '\>\|<!--\[\|\[endif\]-->\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
|
||||||
if s:block == 3
|
if s:block == 3
|
||||||
let b:hi_newstate.scripttype = s:GetScriptType(matchstr(tmp, '\C.*<SCRIPT\>\zs[^>]*'))
|
let b:hi_newstate.scripttype = s:GetScriptType(matchstr(tmp, '\C.*<SCRIPT\>\zs[^>]*'))
|
||||||
endif
|
endif
|
||||||
@@ -532,7 +536,7 @@ func! s:FreshState(lnum)
|
|||||||
let swendtag = match(text, '^\s*</') >= 0
|
let swendtag = match(text, '^\s*</') >= 0
|
||||||
|
|
||||||
" If previous line ended in a closing tag, line up with the opening tag.
|
" If previous line ended in a closing tag, line up with the opening tag.
|
||||||
if !swendtag && text =~ '</\w\+\s*>\s*$'
|
if !swendtag && text =~ '</' . s:tagname . '\s*>\s*$'
|
||||||
call cursor(state.lnum, 99999)
|
call cursor(state.lnum, 99999)
|
||||||
normal! F<
|
normal! F<
|
||||||
let start_lnum = HtmlIndent_FindStartTag()
|
let start_lnum = HtmlIndent_FindStartTag()
|
||||||
@@ -584,7 +588,7 @@ func! s:Alien3()
|
|||||||
return eval(b:hi_js1indent)
|
return eval(b:hi_js1indent)
|
||||||
endif
|
endif
|
||||||
if b:hi_indent.scripttype == "javascript"
|
if b:hi_indent.scripttype == "javascript"
|
||||||
return GetJavascriptIndent()
|
return eval(b:hi_js1indent) + GetJavascriptIndent()
|
||||||
else
|
else
|
||||||
return -1
|
return -1
|
||||||
endif
|
endif
|
||||||
@@ -623,7 +627,7 @@ func! s:CSSIndent()
|
|||||||
return eval(b:hi_css1indent)
|
return eval(b:hi_css1indent)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" If the current line starts with "}" align with it's match.
|
" If the current line starts with "}" align with its match.
|
||||||
if curtext =~ '^\s*}'
|
if curtext =~ '^\s*}'
|
||||||
call cursor(v:lnum, 1)
|
call cursor(v:lnum, 1)
|
||||||
try
|
try
|
||||||
@@ -661,7 +665,7 @@ func! s:CSSIndent()
|
|||||||
else
|
else
|
||||||
let cur_hasfield = curtext =~ '^\s*[a-zA-Z0-9-]\+:'
|
let cur_hasfield = curtext =~ '^\s*[a-zA-Z0-9-]\+:'
|
||||||
let prev_unfinished = s:CssUnfinished(prev_text)
|
let prev_unfinished = s:CssUnfinished(prev_text)
|
||||||
if !cur_hasfield && (prev_hasfield || prev_unfinished)
|
if prev_unfinished
|
||||||
" Continuation line has extra indent if the previous line was not a
|
" Continuation line has extra indent if the previous line was not a
|
||||||
" continuation line.
|
" continuation line.
|
||||||
let extra = shiftwidth()
|
let extra = shiftwidth()
|
||||||
@@ -714,9 +718,13 @@ func! s:CSSIndent()
|
|||||||
endfunc "}}}
|
endfunc "}}}
|
||||||
|
|
||||||
" Inside <style>: Whether a line is unfinished.
|
" Inside <style>: Whether a line is unfinished.
|
||||||
|
" tag:
|
||||||
|
" tag: blah
|
||||||
|
" tag: blah &&
|
||||||
|
" tag: blah ||
|
||||||
func! s:CssUnfinished(text)
|
func! s:CssUnfinished(text)
|
||||||
"{{{
|
"{{{
|
||||||
return a:text =~ '\s\(||\|&&\|:\)\s*$'
|
return a:text =~ '\(||\|&&\|:\|\k\)\s*$'
|
||||||
endfunc "}}}
|
endfunc "}}}
|
||||||
|
|
||||||
" Search back for the first unfinished line above "lnum".
|
" Search back for the first unfinished line above "lnum".
|
||||||
@@ -843,11 +851,12 @@ func! HtmlIndent_FindTagStart(lnum)
|
|||||||
" - a flag indicating whether we found the end of a tag.
|
" - a flag indicating whether we found the end of a tag.
|
||||||
" This method is global so that HTML-like indenters can use it.
|
" This method is global so that HTML-like indenters can use it.
|
||||||
" To avoid matching " > " or " < " inside a string require that the opening
|
" To avoid matching " > " or " < " inside a string require that the opening
|
||||||
" "<" is followed by a word character
|
" "<" is followed by a word character and the closing ">" comes after a
|
||||||
|
" non-white character.
|
||||||
let idx = match(getline(a:lnum), '\S>\s*$')
|
let idx = match(getline(a:lnum), '\S>\s*$')
|
||||||
if idx > 0
|
if idx > 0
|
||||||
call cursor(a:lnum, idx)
|
call cursor(a:lnum, idx)
|
||||||
let lnum = searchpair('<\w', '' , '>', 'bW', '', max([a:lnum - b:html_indent_line_limit, 0]))
|
let lnum = searchpair('<\w', '' , '\S>', 'bW', '', max([a:lnum - b:html_indent_line_limit, 0]))
|
||||||
if lnum > 0
|
if lnum > 0
|
||||||
return [lnum, 1]
|
return [lnum, 1]
|
||||||
endif
|
endif
|
||||||
@@ -861,7 +870,7 @@ func! HtmlIndent_FindStartTag()
|
|||||||
" The cursor must be on or before a closing tag.
|
" The cursor must be on or before a closing tag.
|
||||||
" If found, positions the cursor at the match and returns the line number.
|
" If found, positions the cursor at the match and returns the line number.
|
||||||
" Otherwise returns 0.
|
" Otherwise returns 0.
|
||||||
let tagname = matchstr(getline('.')[col('.') - 1:], '</\zs\w\+\(-\w\+\)*\ze')
|
let tagname = matchstr(getline('.')[col('.') - 1:], '</\zs' . s:tagname . '\ze')
|
||||||
let start_lnum = searchpair('<' . tagname . '\>', '', '</' . tagname . '\>', 'bW')
|
let start_lnum = searchpair('<' . tagname . '\>', '', '</' . tagname . '\>', 'bW')
|
||||||
if start_lnum > 0
|
if start_lnum > 0
|
||||||
return start_lnum
|
return start_lnum
|
||||||
@@ -877,7 +886,7 @@ func! HtmlIndent_FindTagEnd()
|
|||||||
" a self-closing tag, to the matching ">".
|
" a self-closing tag, to the matching ">".
|
||||||
" Limited to look up to b:html_indent_line_limit lines away.
|
" Limited to look up to b:html_indent_line_limit lines away.
|
||||||
let text = getline('.')
|
let text = getline('.')
|
||||||
let tagname = matchstr(text, '\w\+\(-\w\+\)*\|!--', col('.'))
|
let tagname = matchstr(text, s:tagname . '\|!--', col('.'))
|
||||||
if tagname == '!--'
|
if tagname == '!--'
|
||||||
call search('--\zs>')
|
call search('--\zs>')
|
||||||
elseif s:get_tag('/' . tagname) != 0
|
elseif s:get_tag('/' . tagname) != 0
|
||||||
@@ -894,12 +903,19 @@ func! s:InsideTag(foundHtmlString)
|
|||||||
"{{{
|
"{{{
|
||||||
if a:foundHtmlString
|
if a:foundHtmlString
|
||||||
" Inside an attribute string.
|
" Inside an attribute string.
|
||||||
" Align with the previous line or use an external function.
|
" Align with the opening quote or use an external function.
|
||||||
let lnum = v:lnum - 1
|
let lnum = v:lnum - 1
|
||||||
if lnum > 1
|
if lnum > 1
|
||||||
if exists('b:html_indent_tag_string_func')
|
if exists('b:html_indent_tag_string_func')
|
||||||
return b:html_indent_tag_string_func(lnum)
|
return b:html_indent_tag_string_func(lnum)
|
||||||
endif
|
endif
|
||||||
|
" If there is a double quote in the previous line, indent with the
|
||||||
|
" character after it.
|
||||||
|
if getline(lnum) =~ '"'
|
||||||
|
call cursor(lnum, 0)
|
||||||
|
normal f"
|
||||||
|
return virtcol('.')
|
||||||
|
endif
|
||||||
return indent(lnum)
|
return indent(lnum)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
@@ -923,17 +939,21 @@ func! s:InsideTag(foundHtmlString)
|
|||||||
let idx = match(text, '\s\zs[_a-zA-Z0-9-]\+="')
|
let idx = match(text, '\s\zs[_a-zA-Z0-9-]\+="')
|
||||||
endif
|
endif
|
||||||
if idx == -1
|
if idx == -1
|
||||||
let idx = match(text, '<\w\+\(-\w\+\)*\s\zs\w')
|
" try <tag attr
|
||||||
|
let idx = match(text, '<' . s:tagname . '\s\+\zs\w')
|
||||||
endif
|
endif
|
||||||
if idx == -1
|
if idx == -1
|
||||||
let idx = match(text, '<\w\+\(-\w\+\)*')
|
" after just "<tag" indent one level more
|
||||||
|
let idx = match(text, '<' . s:tagname . '$')
|
||||||
if idx >= 0
|
if idx >= 0
|
||||||
let idx = idx + shiftwidth()
|
call cursor(lnum, idx)
|
||||||
|
return virtcol('.') + shiftwidth()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
if idx > 0
|
if idx > 0
|
||||||
" Found the attribute. TODO: assumes spaces, no Tabs.
|
" Found the attribute to align with.
|
||||||
return idx
|
call cursor(lnum, idx)
|
||||||
|
return virtcol('.')
|
||||||
endif
|
endif
|
||||||
endwhile
|
endwhile
|
||||||
return -1
|
return -1
|
||||||
|
|||||||
@@ -792,13 +792,6 @@ filetypes:
|
|||||||
extra_extensions:
|
extra_extensions:
|
||||||
- ql
|
- ql
|
||||||
---
|
---
|
||||||
# TODO: change after https://github.com/othree/html5.vim/pull/106 is merged
|
|
||||||
name: html5
|
|
||||||
remote: sheerun/html5.vim
|
|
||||||
filetypes:
|
|
||||||
- name: html
|
|
||||||
linguist: HTML
|
|
||||||
---
|
|
||||||
name: i3
|
name: i3
|
||||||
remote: mboughaba/i3config.vim
|
remote: mboughaba/i3config.vim
|
||||||
filetypes:
|
filetypes:
|
||||||
@@ -5485,3 +5478,16 @@ remote: vim/vim:runtime
|
|||||||
glob: "**/autodoc.vim"
|
glob: "**/autodoc.vim"
|
||||||
# Needed by c, cmod, and pike
|
# Needed by c, cmod, and pike
|
||||||
filetypes: []
|
filetypes: []
|
||||||
|
---
|
||||||
|
name: html
|
||||||
|
remote: vim/vim:runtime
|
||||||
|
glob: "**/html.vim"
|
||||||
|
filetypes:
|
||||||
|
- name: html
|
||||||
|
linguist: HTML
|
||||||
|
---
|
||||||
|
# TODO: change after https://github.com/othree/html5.vim/pull/106 is merged
|
||||||
|
name: html5
|
||||||
|
remote: sheerun/html5.vim
|
||||||
|
dependencies: html
|
||||||
|
filetypes: []
|
||||||
|
|||||||
495
syntax/html.vim
495
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
|
" Vim syntax file
|
||||||
" Language: HTML (version 5.1)
|
" Language: HTML
|
||||||
" SVG (SVG 1.1 Second Edition)
|
" Maintainer: Jorge Maldonado Ventura <jorgesumle@freakspot.net>
|
||||||
" MathML (MathML 3.0 Second Edition)
|
" Previous Maintainer: Claudio Fleiner <claudio@fleiner.com>
|
||||||
" Last Change: 2017 Mar 07
|
" Repository: https://notabug.org/jorgesumle/vim-html-syntax
|
||||||
" License: Public domain
|
" Last Change: 2020 Mar 17
|
||||||
" (but let me know if you like :) )
|
" 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
|
" Please check :help html.vim for some comments and a description of the options
|
||||||
"
|
|
||||||
" 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
|
|
||||||
|
|
||||||
" quit when a syntax file was already loaded
|
" quit when a syntax file was already loaded
|
||||||
if !exists("main_syntax")
|
if !exists("main_syntax")
|
||||||
@@ -30,178 +22,312 @@ endif
|
|||||||
let s:cpo_save = &cpo
|
let s:cpo_save = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
" Patch 7.4.1142
|
syntax spell toplevel
|
||||||
if has("patch-7.4-1142")
|
|
||||||
if has("win32")
|
syn case ignore
|
||||||
syn iskeyword @,48-57,_,128-167,224-235,-
|
|
||||||
|
" 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
|
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
|
||||||
|
|
||||||
|
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
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" HTML 5 tags
|
hi def link htmlPreStmt PreProc
|
||||||
syn keyword htmlTagName contained article aside audio canvas command
|
hi def link htmlPreError Error
|
||||||
syn keyword htmlTagName contained datalist details dialog embed figcaption figure footer
|
hi def link htmlPreProc PreProc
|
||||||
syn keyword htmlTagName contained header hgroup keygen main mark meter menu menuitem nav output
|
hi def link htmlPreAttr String
|
||||||
syn keyword htmlTagName contained progress ruby rt rp rb rtc section source summary time track video data
|
hi def link htmlPreProcAttrName PreProc
|
||||||
syn keyword htmlTagName contained template content shadow slot
|
hi def link htmlPreProcAttrError Error
|
||||||
syn keyword htmlTagName contained wbr bdi
|
hi def link htmlSpecial Special
|
||||||
syn keyword htmlTagName contained picture
|
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
|
||||||
|
|
||||||
" SVG tags
|
hi def link javaScript Special
|
||||||
" http://www.w3.org/TR/SVG/
|
hi def link javaScriptExpression javaScript
|
||||||
" as found in http://www.w3.org/TR/SVG/eltindex.html
|
hi def link htmlCssStyleComment Comment
|
||||||
syn keyword htmlTagName contained svg
|
hi def link htmlCssDefinition Special
|
||||||
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
|
|
||||||
|
|
||||||
let b:current_syntax = "html"
|
let b:current_syntax = "html"
|
||||||
|
|
||||||
@@ -211,5 +337,6 @@ endif
|
|||||||
|
|
||||||
let &cpo = s:cpo_save
|
let &cpo = s:cpo_save
|
||||||
unlet s:cpo_save
|
unlet s:cpo_save
|
||||||
|
" vim: ts=8
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -112,7 +112,6 @@ call TestFiletype('haskell')
|
|||||||
call TestFiletype('haxe')
|
call TestFiletype('haxe')
|
||||||
call TestFiletype('hcl')
|
call TestFiletype('hcl')
|
||||||
call TestFiletype('hive')
|
call TestFiletype('hive')
|
||||||
call TestFiletype('html')
|
|
||||||
call TestFiletype('i3config')
|
call TestFiletype('i3config')
|
||||||
call TestFiletype('icalendar')
|
call TestFiletype('icalendar')
|
||||||
call TestFiletype('idris')
|
call TestFiletype('idris')
|
||||||
@@ -632,5 +631,6 @@ call TestFiletype('logcheck')
|
|||||||
call TestFiletype('svn')
|
call TestFiletype('svn')
|
||||||
call TestFiletype('text')
|
call TestFiletype('text')
|
||||||
call TestFiletype('pullrequest')
|
call TestFiletype('pullrequest')
|
||||||
|
call TestFiletype('html')
|
||||||
|
|
||||||
" DO NOT EDIT CODE ABOVE, IT IS GENERATED WITH MAKEFILE
|
" DO NOT EDIT CODE ABOVE, IT IS GENERATED WITH MAKEFILE
|
||||||
|
|||||||
Reference in New Issue
Block a user