blob: cde5269d02548b95a95041faced8118de0ab38c8 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
Bram Moolenaarbc2eada2017-01-02 21:27:47 +01002" Language: HTML
3" Maintainer: Jorge Maldonado Ventura <jorgesumle@freakspot.net>
4" Previous Maintainer: Claudio Fleiner <claudio@fleiner.com>
Bram Moolenaar68563932017-01-10 13:31:15 +01005" Repository: https://notabug.org/jorgesumle/vim-html-syntax
Bram Moolenaard2f3a8b2018-06-19 14:35:59 +02006" Last Change: 2018 May 31
7" Included patch from Jay Sitter to add WAI-ARIA htmlArg keywords
Bram Moolenaar01164a62017-11-02 22:58:42 +01008"
Bram Moolenaar071d4272004-06-13 20:20:40 +00009
10" Please check :help html.vim for some comments and a description of the options
11
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020012" quit when a syntax file was already loaded
Bram Moolenaar071d4272004-06-13 20:20:40 +000013if !exists("main_syntax")
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020014 if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +000015 finish
16 endif
17 let main_syntax = 'html'
18endif
19
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +020020let s:cpo_save = &cpo
21set cpo&vim
22
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000023syntax spell toplevel
Bram Moolenaar071d4272004-06-13 20:20:40 +000024
25syn case ignore
26
27" mark illegal characters
28syn match htmlError "[<>&]"
29
30
31" tags
32syn region htmlString contained start=+"+ end=+"+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc
33syn region htmlString contained start=+'+ end=+'+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc
34syn match htmlValue contained "=[\t ]*[^'" \t>][^ \t>]*"hs=s+1 contains=javaScriptExpression,@htmlPreproc
Bram Moolenaar9e54a0e2006-04-14 20:42:25 +000035syn region htmlEndTag start=+</+ end=+>+ contains=htmlTagN,htmlTagError
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +020036syn region htmlTag start=+<[^/]+ end=+>+ fold contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition,@htmlPreproc,@htmlArgCluster
Bram Moolenaar071d4272004-06-13 20:20:40 +000037syn match htmlTagN contained +<\s*[-a-zA-Z0-9]\++hs=s+1 contains=htmlTagName,htmlSpecialTagName,@htmlTagNameCluster
38syn match htmlTagN contained +</\s*[-a-zA-Z0-9]\++hs=s+2 contains=htmlTagName,htmlSpecialTagName,@htmlTagNameCluster
39syn match htmlTagError contained "[^>]<"ms=s+1
40
41
42" tag names
43syn keyword htmlTagName contained address applet area a base basefont
44syn keyword htmlTagName contained big blockquote br caption center
45syn keyword htmlTagName contained cite code dd dfn dir div dl dt font
46syn keyword htmlTagName contained form hr html img
47syn keyword htmlTagName contained input isindex kbd li link map menu
48syn keyword htmlTagName contained meta ol option param pre p samp span
Bram Moolenaar01164a62017-11-02 22:58:42 +010049syn keyword htmlTagName contained select small sub sup
Bram Moolenaar071d4272004-06-13 20:20:40 +000050syn keyword htmlTagName contained table td textarea th tr tt ul var xmp
51syn match htmlTagName contained "\<\(b\|i\|u\|h[1-6]\|em\|strong\|head\|body\|title\)\>"
52
53" new html 4.0 tags
54syn keyword htmlTagName contained abbr acronym bdo button col label
Bram Moolenaar01164a62017-11-02 22:58:42 +010055syn keyword htmlTagName contained colgroup fieldset iframe ins legend
Bram Moolenaar071d4272004-06-13 20:20:40 +000056syn keyword htmlTagName contained object optgroup q s tbody tfoot thead
57
Bram Moolenaarbc2eada2017-01-02 21:27:47 +010058" new html 5 tags
Bram Moolenaar690afe12017-01-28 18:34:47 +010059syn keyword htmlTagName contained article aside audio bdi canvas data
60syn keyword htmlTagName contained datalist details embed figcaption figure
61syn keyword htmlTagName contained footer header hgroup keygen main mark
Bram Moolenaarbc2eada2017-01-02 21:27:47 +010062syn keyword htmlTagName contained menuitem meter nav output picture
63syn keyword htmlTagName contained progress rb rp rt rtc ruby section
64syn keyword htmlTagName contained slot source template time track video wbr
65
Bram Moolenaar071d4272004-06-13 20:20:40 +000066" legal arg names
67syn keyword htmlArg contained action
68syn keyword htmlArg contained align alink alt archive background bgcolor
69syn keyword htmlArg contained border bordercolor cellpadding
70syn keyword htmlArg contained cellspacing checked class clear code codebase color
71syn keyword htmlArg contained cols colspan content coords enctype face
72syn keyword htmlArg contained gutter height hspace id
73syn keyword htmlArg contained link lowsrc marginheight
74syn keyword htmlArg contained marginwidth maxlength method name prompt
75syn keyword htmlArg contained rel rev rows rowspan scrolling selected shape
76syn keyword htmlArg contained size src start target text type url
77syn keyword htmlArg contained usemap ismap valign value vlink vspace width wrap
78syn match htmlArg contained "\<\(http-equiv\|href\|title\)="me=e-1
79
Bram Moolenaard2f3a8b2018-06-19 14:35:59 +020080" aria attributes
81syn match htmlArg contained "\<\(aria-activedescendant\|aria-atomic\)\>"
82syn match htmlArg contained "\<\(aria-autocomplete\|aria-busy\|aria-checked\)\>"
83syn match htmlArg contained "\<\(aria-colcount\|aria-colindex\|aria-colspan\)\>"
84syn match htmlArg contained "\<\(aria-controls\|aria-current\)\>"
85syn match htmlArg contained "\<\(aria-describedby\|aria-details\)\>"
86syn match htmlArg contained "\<\(aria-disabled\|aria-dropeffect\)\>"
87syn match htmlArg contained "\<\(aria-errormessage\|aria-expanded\)\>"
88syn match htmlArg contained "\<\(aria-flowto\|aria-grabbed\|aria-haspopup\)\>"
89syn match htmlArg contained "\<\(aria-hidden\|aria-invalid\)\>"
90syn match htmlArg contained "\<\(aria-keyshortcuts\|aria-label\)\>"
91syn match htmlArg contained "\<\(aria-labelledby\|aria-level\|aria-live\)\>"
92syn match htmlArg contained "\<\(aria-modal\|aria-multiline\)\>"
93syn match htmlArg contained "\<\(aria-multiselectable\|aria-orientation\)\>"
94syn match htmlArg contained "\<\(aria-owns\|aria-placeholder\|aria-posinset\)\>"
95syn match htmlArg contained "\<\(aria-pressed\|aria-readonly\|aria-relevant\)\>"
96syn match htmlArg contained "\<\(aria-required\|aria-roledescription\)\>"
97syn match htmlArg contained "\<\(aria-rowcount\|aria-rowindex\|aria-rowspan\)\>"
98syn match htmlArg contained "\<\(aria-selected\|aria-setsize\|aria-sort\)\>"
99syn match htmlArg contained "\<\(aria-valuemax\|aria-valuemin\)\>"
100syn match htmlArg contained "\<\(aria-valuenow\|aria-valuetext\)\>"
101syn keyword htmlArg contained role
102
Bram Moolenaar071d4272004-06-13 20:20:40 +0000103" Netscape extensions
104syn keyword htmlTagName contained frame noframes frameset nobr blink
105syn keyword htmlTagName contained layer ilayer nolayer spacer
106syn keyword htmlArg contained frameborder noresize pagex pagey above below
107syn keyword htmlArg contained left top visibility clip id noshade
108syn match htmlArg contained "\<z-index\>"
109
110" Microsoft extensions
111syn keyword htmlTagName contained marquee
112
113" html 4.0 arg names
114syn match htmlArg contained "\<\(accept-charset\|label\)\>"
115syn keyword htmlArg contained abbr accept accesskey axis char charoff charset
116syn keyword htmlArg contained cite classid codetype compact data datetime
117syn keyword htmlArg contained declare defer dir disabled for frame
118syn keyword htmlArg contained headers hreflang lang language longdesc
119syn keyword htmlArg contained multiple nohref nowrap object profile readonly
120syn keyword htmlArg contained rules scheme scope span standby style
121syn keyword htmlArg contained summary tabindex valuetype version
122
Bram Moolenaar68563932017-01-10 13:31:15 +0100123" html 5 arg names
Bram Moolenaar690afe12017-01-28 18:34:47 +0100124syn keyword htmlArg contained allowfullscreen async autocomplete autofocus
125syn keyword htmlArg contained autoplay challenge contenteditable contextmenu
Bram Moolenaarf0b03c42017-12-17 17:17:07 +0100126syn keyword htmlArg contained controls crossorigin default dialog dirname
127syn keyword htmlArg contained download draggable dropzone form formaction
128syn keyword htmlArg contained formenctype formmethod formnovalidate formtarget
129syn keyword htmlArg contained hidden high icon inputmode keytype kind list loop
130syn keyword htmlArg contained low max min minlength muted nonce novalidate open
Bram Moolenaar690afe12017-01-28 18:34:47 +0100131syn keyword htmlArg contained optimum pattern placeholder poster preload
132syn keyword htmlArg contained radiogroup required reversed sandbox spellcheck
133syn keyword htmlArg contained sizes srcset srcdoc srclang step title translate
134syn keyword htmlArg contained typemustmatch
Bram Moolenaar68563932017-01-10 13:31:15 +0100135
Bram Moolenaar071d4272004-06-13 20:20:40 +0000136" special characters
137syn match htmlSpecialChar "&#\=[0-9A-Za-z]\{1,8};"
138
139" Comments (the real ones or the old netscape ones)
140if exists("html_wrong_comments")
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +0200141 syn region htmlComment start=+<!--+ end=+--\s*>+ contains=@Spell
Bram Moolenaar071d4272004-06-13 20:20:40 +0000142else
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +0200143 syn region htmlComment start=+<!+ end=+>+ contains=htmlCommentPart,htmlCommentError,@Spell
Bram Moolenaar071d4272004-06-13 20:20:40 +0000144 syn match htmlCommentError contained "[^><!]"
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +0200145 syn region htmlCommentPart contained start=+--+ end=+--\s*+ contains=@htmlPreProc,@Spell
Bram Moolenaar071d4272004-06-13 20:20:40 +0000146endif
Bram Moolenaar9e54a0e2006-04-14 20:42:25 +0000147syn region htmlComment start=+<!DOCTYPE+ keepend end=+>+
Bram Moolenaar071d4272004-06-13 20:20:40 +0000148
149" server-parsed commands
150syn region htmlPreProc start=+<!--#+ end=+-->+ contains=htmlPreStmt,htmlPreError,htmlPreAttr
151syn match htmlPreStmt contained "<!--#\(config\|echo\|exec\|fsize\|flastmod\|include\|printenv\|set\|if\|elif\|else\|endif\|geoguide\)\>"
152syn match htmlPreError contained "<!--#\S*"ms=s+4
153syn match htmlPreAttr contained "\w\+=[^"]\S\+" contains=htmlPreProcAttrError,htmlPreProcAttrName
154syn region htmlPreAttr contained start=+\w\+="+ skip=+\\\\\|\\"+ end=+"+ contains=htmlPreProcAttrName keepend
155syn match htmlPreProcAttrError contained "\w\+="he=e-1
156syn match htmlPreProcAttrName contained "\(expr\|errmsg\|sizefmt\|timefmt\|var\|cgi\|cmd\|file\|virtual\|value\)="he=e-1
157
158if !exists("html_no_rendering")
159 " rendering
Bram Moolenaarce0842a2005-07-18 21:58:11 +0000160 syn cluster htmlTop contains=@Spell,htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,@htmlPreproc
Bram Moolenaar071d4272004-06-13 20:20:40 +0000161
Bram Moolenaar01164a62017-11-02 22:58:42 +0100162 syn region htmlStrike start="<del\>" end="</del>"me=e-6 contains=@htmlTop
163 syn region htmlStrike start="<strike\>" end="</strike>"me=e-9 contains=@htmlTop
164
Bram Moolenaar071d4272004-06-13 20:20:40 +0000165 syn region htmlBold start="<b\>" end="</b>"me=e-4 contains=@htmlTop,htmlBoldUnderline,htmlBoldItalic
166 syn region htmlBold start="<strong\>" end="</strong>"me=e-9 contains=@htmlTop,htmlBoldUnderline,htmlBoldItalic
167 syn region htmlBoldUnderline contained start="<u\>" end="</u>"me=e-4 contains=@htmlTop,htmlBoldUnderlineItalic
168 syn region htmlBoldItalic contained start="<i\>" end="</i>"me=e-4 contains=@htmlTop,htmlBoldItalicUnderline
169 syn region htmlBoldItalic contained start="<em\>" end="</em>"me=e-5 contains=@htmlTop,htmlBoldItalicUnderline
170 syn region htmlBoldUnderlineItalic contained start="<i\>" end="</i>"me=e-4 contains=@htmlTop
171 syn region htmlBoldUnderlineItalic contained start="<em\>" end="</em>"me=e-5 contains=@htmlTop
172 syn region htmlBoldItalicUnderline contained start="<u\>" end="</u>"me=e-4 contains=@htmlTop,htmlBoldUnderlineItalic
173
174 syn region htmlUnderline start="<u\>" end="</u>"me=e-4 contains=@htmlTop,htmlUnderlineBold,htmlUnderlineItalic
175 syn region htmlUnderlineBold contained start="<b\>" end="</b>"me=e-4 contains=@htmlTop,htmlUnderlineBoldItalic
176 syn region htmlUnderlineBold contained start="<strong\>" end="</strong>"me=e-9 contains=@htmlTop,htmlUnderlineBoldItalic
177 syn region htmlUnderlineItalic contained start="<i\>" end="</i>"me=e-4 contains=@htmlTop,htmlUnderlineItalicBold
178 syn region htmlUnderlineItalic contained start="<em\>" end="</em>"me=e-5 contains=@htmlTop,htmlUnderlineItalicBold
179 syn region htmlUnderlineItalicBold contained start="<b\>" end="</b>"me=e-4 contains=@htmlTop
180 syn region htmlUnderlineItalicBold contained start="<strong\>" end="</strong>"me=e-9 contains=@htmlTop
181 syn region htmlUnderlineBoldItalic contained start="<i\>" end="</i>"me=e-4 contains=@htmlTop
182 syn region htmlUnderlineBoldItalic contained start="<em\>" end="</em>"me=e-5 contains=@htmlTop
183
184 syn region htmlItalic start="<i\>" end="</i>"me=e-4 contains=@htmlTop,htmlItalicBold,htmlItalicUnderline
185 syn region htmlItalic start="<em\>" end="</em>"me=e-5 contains=@htmlTop
186 syn region htmlItalicBold contained start="<b\>" end="</b>"me=e-4 contains=@htmlTop,htmlItalicBoldUnderline
187 syn region htmlItalicBold contained start="<strong\>" end="</strong>"me=e-9 contains=@htmlTop,htmlItalicBoldUnderline
188 syn region htmlItalicBoldUnderline contained start="<u\>" end="</u>"me=e-4 contains=@htmlTop
189 syn region htmlItalicUnderline contained start="<u\>" end="</u>"me=e-4 contains=@htmlTop,htmlItalicUnderlineBold
190 syn region htmlItalicUnderlineBold contained start="<b\>" end="</b>"me=e-4 contains=@htmlTop
191 syn region htmlItalicUnderlineBold contained start="<strong\>" end="</strong>"me=e-9 contains=@htmlTop
192
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +0200193 syn match htmlLeadingSpace "^\s\+" contained
194 syn region htmlLink start="<a\>\_[^>]*\<href\>" end="</a>"me=e-4 contains=@Spell,htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLeadingSpace,javaScript,@htmlPreproc
Bram Moolenaar071d4272004-06-13 20:20:40 +0000195 syn region htmlH1 start="<h1\>" end="</h1>"me=e-5 contains=@htmlTop
196 syn region htmlH2 start="<h2\>" end="</h2>"me=e-5 contains=@htmlTop
197 syn region htmlH3 start="<h3\>" end="</h3>"me=e-5 contains=@htmlTop
198 syn region htmlH4 start="<h4\>" end="</h4>"me=e-5 contains=@htmlTop
199 syn region htmlH5 start="<h5\>" end="</h5>"me=e-5 contains=@htmlTop
200 syn region htmlH6 start="<h6\>" end="</h6>"me=e-5 contains=@htmlTop
201 syn region htmlHead start="<head\>" end="</head>"me=e-7 end="<body\>"me=e-5 end="<h[1-6]\>"me=e-3 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,htmlTitle,javaScript,cssStyle,@htmlPreproc
Bram Moolenaar9e54a0e2006-04-14 20:42:25 +0000202 syn region htmlTitle start="<title\>" end="</title>"me=e-8 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,javaScript,@htmlPreproc
Bram Moolenaar071d4272004-06-13 20:20:40 +0000203endif
204
Bram Moolenaar9e54a0e2006-04-14 20:42:25 +0000205syn keyword htmlTagName contained noscript
Bram Moolenaar071d4272004-06-13 20:20:40 +0000206syn keyword htmlSpecialTagName contained script style
207if main_syntax != 'java' || exists("java_javascript")
208 " JAVA SCRIPT
Bram Moolenaar9e54a0e2006-04-14 20:42:25 +0000209 syn include @htmlJavaScript syntax/javascript.vim
Bram Moolenaar071d4272004-06-13 20:20:40 +0000210 unlet b:current_syntax
Bram Moolenaar8feef4f2015-01-07 16:57:10 +0100211 syn region javaScript start=+<script\_[^>]*>+ keepend end=+</script\_[^>]*>+me=s-1 contains=@htmlJavaScript,htmlCssStyleComment,htmlScriptTag,@htmlPreproc
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +0200212 syn region htmlScriptTag contained start=+<script+ end=+>+ fold contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent
Bram Moolenaarf37506f2016-08-31 22:22:10 +0200213 hi def link htmlScriptTag htmlTag
Bram Moolenaar071d4272004-06-13 20:20:40 +0000214
215 " html events (i.e. arguments that include javascript commands)
216 if exists("html_extended_events")
Bram Moolenaar9e54a0e2006-04-14 20:42:25 +0000217 syn region htmlEvent contained start=+\<on\a\+\s*=[\t ]*'+ end=+'+ contains=htmlEventSQ
218 syn region htmlEvent contained start=+\<on\a\+\s*=[\t ]*"+ end=+"+ contains=htmlEventDQ
Bram Moolenaar071d4272004-06-13 20:20:40 +0000219 else
Bram Moolenaar9e54a0e2006-04-14 20:42:25 +0000220 syn region htmlEvent contained start=+\<on\a\+\s*=[\t ]*'+ end=+'+ keepend contains=htmlEventSQ
221 syn region htmlEvent contained start=+\<on\a\+\s*=[\t ]*"+ end=+"+ keepend contains=htmlEventDQ
Bram Moolenaar071d4272004-06-13 20:20:40 +0000222 endif
Bram Moolenaar9e54a0e2006-04-14 20:42:25 +0000223 syn region htmlEventSQ contained start=+'+ms=s+1 end=+'+me=s-1 contains=@htmlJavaScript
224 syn region htmlEventDQ contained start=+"+ms=s+1 end=+"+me=s-1 contains=@htmlJavaScript
Bram Moolenaarf37506f2016-08-31 22:22:10 +0200225 hi def link htmlEventSQ htmlEvent
226 hi def link htmlEventDQ htmlEvent
Bram Moolenaar071d4272004-06-13 20:20:40 +0000227
228 " a javascript expression is used as an arg value
229 syn region javaScriptExpression contained start=+&{+ keepend end=+};+ contains=@htmlJavaScript,@htmlPreproc
230endif
231
232if main_syntax != 'java' || exists("java_vb")
233 " VB SCRIPT
Bram Moolenaar9e54a0e2006-04-14 20:42:25 +0000234 syn include @htmlVbScript syntax/vb.vim
Bram Moolenaar071d4272004-06-13 20:20:40 +0000235 unlet b:current_syntax
Bram Moolenaar8feef4f2015-01-07 16:57:10 +0100236 syn region javaScript start=+<script \_[^>]*language *=\_[^>]*vbscript\_[^>]*>+ keepend end=+</script\_[^>]*>+me=s-1 contains=@htmlVbScript,htmlCssStyleComment,htmlScriptTag,@htmlPreproc
Bram Moolenaar071d4272004-06-13 20:20:40 +0000237endif
238
239syn cluster htmlJavaScript add=@htmlPreproc
240
241if main_syntax != 'java' || exists("java_css")
242 " embedded style sheets
Bram Moolenaar9e54a0e2006-04-14 20:42:25 +0000243 syn keyword htmlArg contained media
244 syn include @htmlCss syntax/css.vim
Bram Moolenaar071d4272004-06-13 20:20:40 +0000245 unlet b:current_syntax
246 syn region cssStyle start=+<style+ keepend end=+</style>+ contains=@htmlCss,htmlTag,htmlEndTag,htmlCssStyleComment,@htmlPreproc
247 syn match htmlCssStyleComment contained "\(<!--\|-->\)"
248 syn region htmlCssDefinition matchgroup=htmlArg start='style="' keepend matchgroup=htmlString end='"' contains=css.*Attr,css.*Prop,cssComment,cssLength,cssColor,cssURL,cssImportant,cssError,cssString,@htmlPreproc
Bram Moolenaarf37506f2016-08-31 22:22:10 +0200249 hi def link htmlStyleArg htmlString
Bram Moolenaar071d4272004-06-13 20:20:40 +0000250endif
251
252if main_syntax == "html"
253 " synchronizing (does not always work if a comment includes legal
254 " html tags, but doing it right would mean to always start
255 " at the first line, which is too slow)
256 syn sync match htmlHighlight groupthere NONE "<[/a-zA-Z]"
257 syn sync match htmlHighlight groupthere javaScript "<script"
258 syn sync match htmlHighlightSkip "^.*['\"].*$"
259 syn sync minlines=10
260endif
261
262" The default highlighting.
Bram Moolenaarf37506f2016-08-31 22:22:10 +0200263hi def link htmlTag Function
264hi def link htmlEndTag Identifier
265hi def link htmlArg Type
266hi def link htmlTagName htmlStatement
267hi def link htmlSpecialTagName Exception
268hi def link htmlValue String
269hi def link htmlSpecialChar Special
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200270
271if !exists("html_no_rendering")
Bram Moolenaarf37506f2016-08-31 22:22:10 +0200272 hi def link htmlH1 Title
273 hi def link htmlH2 htmlH1
274 hi def link htmlH3 htmlH2
275 hi def link htmlH4 htmlH3
276 hi def link htmlH5 htmlH4
277 hi def link htmlH6 htmlH5
278 hi def link htmlHead PreProc
279 hi def link htmlTitle Title
280 hi def link htmlBoldItalicUnderline htmlBoldUnderlineItalic
281 hi def link htmlUnderlineBold htmlBoldUnderline
282 hi def link htmlUnderlineItalicBold htmlBoldUnderlineItalic
283 hi def link htmlUnderlineBoldItalic htmlBoldUnderlineItalic
284 hi def link htmlItalicUnderline htmlUnderlineItalic
285 hi def link htmlItalicBold htmlBoldItalic
286 hi def link htmlItalicBoldUnderline htmlBoldUnderlineItalic
287 hi def link htmlItalicUnderlineBold htmlBoldUnderlineItalic
288 hi def link htmlLink Underlined
289 hi def link htmlLeadingSpace None
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200290 if !exists("html_my_rendering")
291 hi def htmlBold term=bold cterm=bold gui=bold
292 hi def htmlBoldUnderline term=bold,underline cterm=bold,underline gui=bold,underline
293 hi def htmlBoldItalic term=bold,italic cterm=bold,italic gui=bold,italic
294 hi def htmlBoldUnderlineItalic term=bold,italic,underline cterm=bold,italic,underline gui=bold,italic,underline
295 hi def htmlUnderline term=underline cterm=underline gui=underline
296 hi def htmlUnderlineItalic term=italic,underline cterm=italic,underline gui=italic,underline
297 hi def htmlItalic term=italic cterm=italic gui=italic
Bram Moolenaar01164a62017-11-02 22:58:42 +0100298 if v:version > 800 || v:version == 800 && has("patch1038")
299 hi def htmlStrike term=strikethrough cterm=strikethrough gui=strikethrough
300 else
301 hi def htmlStrike term=underline cterm=underline gui=underline
302 endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000303 endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000304endif
305
Bram Moolenaarf37506f2016-08-31 22:22:10 +0200306hi def link htmlPreStmt PreProc
307hi def link htmlPreError Error
308hi def link htmlPreProc PreProc
309hi def link htmlPreAttr String
310hi def link htmlPreProcAttrName PreProc
311hi def link htmlPreProcAttrError Error
312hi def link htmlSpecial Special
313hi def link htmlSpecialChar Special
314hi def link htmlString String
315hi def link htmlStatement Statement
316hi def link htmlComment Comment
317hi def link htmlCommentPart Comment
318hi def link htmlValue String
319hi def link htmlCommentError htmlError
320hi def link htmlTagError htmlError
321hi def link htmlEvent javaScript
322hi def link htmlError Error
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200323
Bram Moolenaarf37506f2016-08-31 22:22:10 +0200324hi def link javaScript Special
325hi def link javaScriptExpression javaScript
326hi def link htmlCssStyleComment Comment
327hi def link htmlCssDefinition Special
Bram Moolenaar071d4272004-06-13 20:20:40 +0000328
329let b:current_syntax = "html"
330
331if main_syntax == 'html'
332 unlet main_syntax
333endif
334
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +0200335let &cpo = s:cpo_save
336unlet s:cpo_save
Bram Moolenaar071d4272004-06-13 20:20:40 +0000337" vim: ts=8