textpow 0.10.1 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (193) hide show
  1. data/.travis.yml +7 -0
  2. data/Gemfile +10 -0
  3. data/Gemfile.lock +30 -0
  4. data/{History.txt → History.rdoc} +10 -0
  5. data/{README.txt → MIT-LICENSE.txt} +0 -30
  6. data/README.rdoc +82 -0
  7. data/Rakefile +42 -49
  8. data/bin/plist2syntax +0 -0
  9. data/bin/plist2yaml +0 -0
  10. data/examples/benchmark_js.rb +13 -0
  11. data/examples/jquery.js +9046 -0
  12. data/lib/textpow.rb +43 -3
  13. data/lib/textpow/debug_processor.rb +35 -35
  14. data/lib/textpow/recording_processor.rb +13 -0
  15. data/lib/textpow/score_manager.rb +60 -60
  16. data/lib/textpow/syntax.rb +303 -262
  17. data/lib/textpow/syntax/broken/markdown.syntax +519 -0
  18. data/lib/textpow/syntax/broken/php.syntax +1253 -0
  19. data/lib/textpow/syntax/buggy/nemerle.syntax +74 -0
  20. data/lib/textpow/syntax/old/YAML.yaml +160 -0
  21. data/lib/textpow/syntax/old/txt2tags.yaml +139 -0
  22. data/lib/textpow/syntax/source.actionscript.syntax +97 -0
  23. data/lib/textpow/syntax/source.active4d.library.syntax +21 -0
  24. data/lib/textpow/syntax/source.active4d.syntax +276 -0
  25. data/lib/textpow/syntax/source.ada.syntax +33 -0
  26. data/lib/textpow/syntax/source.antlr.syntax +151 -0
  27. data/lib/textpow/syntax/source.apache-config.mod_perl.syntax +50 -0
  28. data/lib/textpow/syntax/source.apache-config.syntax +191 -0
  29. data/lib/textpow/syntax/source.applescript.syntax +384 -0
  30. data/lib/textpow/syntax/source.asp.syntax +70 -0
  31. data/lib/textpow/syntax/source.asp.vb.net.syntax +129 -0
  32. data/lib/textpow/syntax/source.c++.qt.syntax +26 -0
  33. data/lib/textpow/syntax/source.c++.syntax +186 -0
  34. data/lib/textpow/syntax/source.c-sharp.syntax +59 -0
  35. data/lib/textpow/syntax/source.c.ragel.syntax +201 -0
  36. data/lib/textpow/syntax/source.c.syntax +414 -0
  37. data/lib/textpow/syntax/source.camlp4.ocaml.syntax +36 -0
  38. data/lib/textpow/syntax/source.cm.syntax +32 -0
  39. data/lib/textpow/syntax/source.coffee.syntax +216 -0
  40. data/lib/textpow/syntax/source.context-free.syntax +176 -0
  41. data/lib/textpow/syntax/source.css.beta.syntax +1925 -0
  42. data/lib/textpow/syntax/source.css.syntax +195 -0
  43. data/lib/textpow/syntax/source.d.syntax +142 -0
  44. data/lib/textpow/syntax/source.diff.syntax +81 -0
  45. data/lib/textpow/syntax/source.dot.syntax +47 -0
  46. data/lib/textpow/syntax/source.dylan.syntax +62 -0
  47. data/lib/textpow/syntax/source.eiffel.syntax +78 -0
  48. data/lib/textpow/syntax/source.erlang.syntax +922 -0
  49. data/lib/textpow/syntax/source.fortran.syntax +141 -0
  50. data/lib/textpow/syntax/source.fscript.syntax +80 -0
  51. data/lib/textpow/syntax/source.fxscript.syntax +142 -0
  52. data/lib/textpow/syntax/source.gri.syntax +83 -0
  53. data/lib/textpow/syntax/source.groovy.groovy.syntax +191 -0
  54. data/lib/textpow/syntax/source.haskell.syntax +88 -0
  55. data/lib/textpow/syntax/source.icalendar.syntax +32 -0
  56. data/lib/textpow/syntax/source.inform.syntax +48 -0
  57. data/lib/textpow/syntax/source.ini.syntax +55 -0
  58. data/lib/textpow/syntax/source.io.syntax +81 -0
  59. data/lib/textpow/syntax/source.java-props.syntax +20 -0
  60. data/lib/textpow/syntax/source.java.syntax +211 -0
  61. data/lib/textpow/syntax/source.js.greasemonkey.syntax +34 -0
  62. data/lib/textpow/syntax/source.js.jquery.syntax +114 -0
  63. data/lib/textpow/syntax/source.js.mootools.syntax +572 -0
  64. data/lib/textpow/syntax/source.js.prototype.bracketed.syntax +140 -0
  65. data/lib/textpow/syntax/source.js.prototype.syntax +72 -0
  66. data/lib/textpow/syntax/source.js.syntax +256 -0
  67. data/lib/textpow/syntax/source.js.yui.syntax +176 -0
  68. data/lib/textpow/syntax/source.json.syntax +136 -0
  69. data/lib/textpow/syntax/source.lex.syntax +219 -0
  70. data/lib/textpow/syntax/source.lighttpd-config.syntax +54 -0
  71. data/lib/textpow/syntax/source.lilypond.syntax +492 -0
  72. data/lib/textpow/syntax/source.lisp.syntax +61 -0
  73. data/lib/textpow/syntax/source.logo.syntax +29 -0
  74. data/lib/textpow/syntax/source.logtalk.syntax +152 -0
  75. data/lib/textpow/syntax/source.lua.syntax +86 -0
  76. data/lib/textpow/syntax/source.makefile.syntax +36 -0
  77. data/lib/textpow/syntax/source.matlab.syntax +142 -0
  78. data/lib/textpow/syntax/source.mel.syntax +92 -0
  79. data/lib/textpow/syntax/source.mips.syntax +66 -0
  80. data/lib/textpow/syntax/source.ml.syntax +121 -0
  81. data/lib/textpow/syntax/source.modula-3.syntax +47 -0
  82. data/lib/textpow/syntax/source.nant-build.syntax +53 -0
  83. data/lib/textpow/syntax/source.objc++.syntax +18 -0
  84. data/lib/textpow/syntax/source.objc.syntax +233 -0
  85. data/lib/textpow/syntax/source.ocaml.syntax +764 -0
  86. data/lib/textpow/syntax/source.ocamllex.syntax +167 -0
  87. data/lib/textpow/syntax/source.ocamlyacc.syntax +184 -0
  88. data/lib/textpow/syntax/source.open-gl.syntax +14 -0
  89. data/lib/textpow/syntax/source.pascal.syntax +77 -0
  90. data/lib/textpow/syntax/source.pascal.vectorscript.syntax +57 -0
  91. data/lib/textpow/syntax/source.perl.syntax +1113 -0
  92. data/lib/textpow/syntax/source.php.cake.syntax +55 -0
  93. data/lib/textpow/syntax/source.plist.tm-grammar.syntax +708 -0
  94. data/lib/textpow/syntax/source.postscript.syntax +114 -0
  95. data/lib/textpow/syntax/source.processing.syntax +106 -0
  96. data/lib/textpow/syntax/source.prolog.syntax +40 -0
  97. data/lib/textpow/syntax/source.python.django.syntax +21 -0
  98. data/lib/textpow/syntax/source.python.syntax +868 -0
  99. data/lib/textpow/syntax/source.qmake.syntax +114 -0
  100. data/lib/textpow/syntax/source.quake-config.syntax +32 -0
  101. data/lib/textpow/syntax/source.r-console.syntax +16 -0
  102. data/lib/textpow/syntax/source.r.syntax +81 -0
  103. data/lib/textpow/syntax/source.regexp.oniguruma.syntax +107 -0
  104. data/lib/textpow/syntax/source.regexp.python.syntax +109 -0
  105. data/lib/textpow/syntax/source.regexp.syntax +50 -0
  106. data/lib/textpow/syntax/source.remind.syntax +253 -0
  107. data/lib/textpow/syntax/source.rez.syntax +80 -0
  108. data/lib/textpow/syntax/source.ruby.experimental.syntax +145 -0
  109. data/lib/textpow/syntax/source.ruby.rails.syntax +88 -0
  110. data/lib/textpow/syntax/source.ruby.syntax +1035 -0
  111. data/lib/textpow/syntax/source.s5.syntax +69 -0
  112. data/lib/textpow/syntax/source.sass.syntax +45 -0
  113. data/lib/textpow/syntax/source.scheme.syntax +347 -0
  114. data/lib/textpow/syntax/source.scilab.syntax +41 -0
  115. data/lib/textpow/syntax/source.scss.syntax +527 -0
  116. data/lib/textpow/syntax/source.shell.syntax +384 -0
  117. data/lib/textpow/syntax/source.slate.syntax +149 -0
  118. data/lib/textpow/syntax/source.smarty.syntax +63 -0
  119. data/lib/textpow/syntax/source.sql.ruby.syntax +18 -0
  120. data/lib/textpow/syntax/source.sql.syntax +237 -0
  121. data/lib/textpow/syntax/source.ssh-config.syntax +33 -0
  122. data/lib/textpow/syntax/source.strings.syntax +39 -0
  123. data/lib/textpow/syntax/source.swig.syntax +57 -0
  124. data/lib/textpow/syntax/source.tcl.macports.syntax +163 -0
  125. data/lib/textpow/syntax/source.tcl.syntax +152 -0
  126. data/lib/textpow/syntax/source.yaml.syntax +160 -0
  127. data/lib/textpow/syntax/text.active4d-ini.syntax +50 -0
  128. data/lib/textpow/syntax/text.bbcode.syntax +287 -0
  129. data/lib/textpow/syntax/text.bibtex.syntax +151 -0
  130. data/lib/textpow/syntax/text.blog.html.syntax +41 -0
  131. data/lib/textpow/syntax/text.blog.markdown.syntax +42 -0
  132. data/lib/textpow/syntax/text.blog.syntax +27 -0
  133. data/lib/textpow/syntax/text.blog.textile.syntax +27 -0
  134. data/lib/textpow/syntax/text.gtdalt.syntax +143 -0
  135. data/lib/textpow/syntax/text.haml.syntax +88 -0
  136. data/lib/textpow/syntax/text.html.asp.net.syntax +424 -0
  137. data/lib/textpow/syntax/text.html.asp.syntax +27 -0
  138. data/lib/textpow/syntax/text.html.basic.syntax +362 -0
  139. data/lib/textpow/syntax/text.html.cfm.syntax +119 -0
  140. data/lib/textpow/syntax/text.html.django.syntax +36 -0
  141. data/lib/textpow/syntax/text.html.dokuwiki.syntax +204 -0
  142. data/lib/textpow/syntax/text.html.doxygen.syntax +43 -0
  143. data/lib/textpow/syntax/text.html.markdown.multimarkdown.syntax +39 -0
  144. data/lib/textpow/syntax/text.html.mason.syntax +119 -0
  145. data/lib/textpow/syntax/text.html.mediawiki.syntax +567 -0
  146. data/lib/textpow/syntax/text.html.mt.syntax +162 -0
  147. data/lib/textpow/syntax/text.html.ruby.syntax +40 -0
  148. data/lib/textpow/syntax/text.html.strict.active4d.syntax +311 -0
  149. data/lib/textpow/syntax/text.html.tcl.syntax +26 -0
  150. data/lib/textpow/syntax/text.html.textile.syntax +215 -0
  151. data/lib/textpow/syntax/text.html.tt.syntax +121 -0
  152. data/lib/textpow/syntax/text.html.twiki.syntax +241 -0
  153. data/lib/textpow/syntax/text.html.xhtml.1-strict.syntax +4027 -0
  154. data/lib/textpow/syntax/text.log.latex.syntax +50 -0
  155. data/lib/textpow/syntax/text.mail.markdown.syntax +118 -0
  156. data/lib/textpow/syntax/text.man.syntax +17 -0
  157. data/lib/textpow/syntax/text.moinmoin.syntax +189 -0
  158. data/lib/textpow/syntax/text.plain.gtd.syntax +22 -0
  159. data/lib/textpow/syntax/text.plain.release-notes.syntax +46 -0
  160. data/lib/textpow/syntax/text.plain.syntax +32 -0
  161. data/lib/textpow/syntax/text.plist.syntax +635 -0
  162. data/lib/textpow/syntax/text.pmwiki.syntax +113 -0
  163. data/lib/textpow/syntax/text.restructuredtext.syntax +250 -0
  164. data/lib/textpow/syntax/text.setext.syntax +147 -0
  165. data/lib/textpow/syntax/text.subversion-commit.syntax +36 -0
  166. data/lib/textpow/syntax/text.tabular.csv.syntax +68 -0
  167. data/lib/textpow/syntax/text.tabular.tsv.syntax +50 -0
  168. data/lib/textpow/syntax/text.tex.latex.beamer.syntax +41 -0
  169. data/lib/textpow/syntax/text.tex.latex.haskell.syntax +24 -0
  170. data/lib/textpow/syntax/text.tex.latex.memoir.syntax +64 -0
  171. data/lib/textpow/syntax/text.tex.latex.rd.syntax +91 -0
  172. data/lib/textpow/syntax/text.tex.latex.sweave.syntax +84 -0
  173. data/lib/textpow/syntax/text.tex.latex.syntax +566 -0
  174. data/lib/textpow/syntax/text.tex.math.syntax +49 -0
  175. data/lib/textpow/syntax/text.tex.syntax +86 -0
  176. data/lib/textpow/syntax/text.txt2tags.syntax +79 -0
  177. data/lib/textpow/syntax/text.xml.apple-dist.syntax +77 -0
  178. data/lib/textpow/syntax/text.xml.strict.syntax +92 -0
  179. data/lib/textpow/syntax/text.xml.syntax +180 -0
  180. data/lib/textpow/syntax/text.xml.xsl.syntax +60 -0
  181. data/lib/textpow/version.rb +3 -0
  182. data/spec/fixtures/objeck.plist +107 -0
  183. data/spec/fixtures/utf8.txt +1 -0
  184. data/spec/spec_helper.rb +2 -0
  185. data/spec/textpow/score_manager_spec.rb +20 -0
  186. data/spec/textpow/syntax_files_spec.rb +26 -0
  187. data/spec/textpow/syntax_spec.rb +225 -0
  188. data/spec/textpow_spec.rb +57 -0
  189. data/textpow.gemspec +19 -0
  190. metadata +246 -68
  191. data/Manifest.txt +0 -13
  192. data/mm/manual.mm +0 -266
  193. data/test/test_textpow.rb +0 -25
@@ -0,0 +1,4027 @@
1
+ ---
2
+ name: XHTML 1.0 Strict
3
+ scopeName: text.html.xhtml.1-strict
4
+ repository:
5
+ tag-textarea:
6
+ endCaptures:
7
+ "1":
8
+ name: meta.tag.form.textarea.html
9
+ "4":
10
+ name: entity.name.tag.form.textarea.html
11
+ begin: (<(textarea)\b)
12
+ beginCaptures:
13
+ "1":
14
+ name: meta.tag.form.textarea.html
15
+ "2":
16
+ name: entity.name.tag.form.textarea.html
17
+ end: ((/>)|((textarea)>))
18
+ patterns:
19
+ - endCaptures:
20
+ "1":
21
+ name: meta.tag.form.textarea.html
22
+ begin: (?<=[^/]>)
23
+ end: (</(?=option))
24
+ patterns:
25
+ - include: "#pcdata"
26
+ - name: meta.tag.form.textarea.html
27
+ begin: ""
28
+ end: ((?=/>)|>)
29
+ patterns:
30
+ - include: "#attribute-cols"
31
+ - include: "#attribute-disabled"
32
+ - include: "#attribute-name"
33
+ - include: "#attribute-onchange"
34
+ - include: "#attribute-onselect"
35
+ - include: "#attribute-readonly"
36
+ - include: "#attribute-rows"
37
+ - include: "#attributes-group-common"
38
+ - include: "#attributes-group-focus"
39
+ - include: "#attributes-illegal_char"
40
+ tag-h3:
41
+ captures:
42
+ "1":
43
+ name: meta.tag.block.h3.html
44
+ "2":
45
+ name: entity.name.tag.block.h3.html
46
+ begin: (<(h3)\b)
47
+ end: ((h3)>)
48
+ patterns:
49
+ - endCaptures:
50
+ "1":
51
+ name: meta.tag.block.h3.html
52
+ begin: (?<=>)
53
+ end: (</(?=h3))
54
+ patterns:
55
+ - include: "#tag-group-inline-master"
56
+ - name: meta.tag.block.h3.html
57
+ begin: ""
58
+ end: ">"
59
+ patterns:
60
+ - include: "#attributes-group-common"
61
+ - include: "#attributes-illegal_char"
62
+ bad-tags:
63
+ patterns:
64
+ - name: invalid.illegal.invalid_placement
65
+ captures:
66
+ "1":
67
+ name: invalid.deprecated.invalid_placement
68
+ begin: </?(a|abbr|acronym|address|area|b|base|bdo|big|blockquote|body|br|button|caption|cite|code|col|colgroup|dd|del|dfn|div|dl|dt|em|fieldset|form|h[1-6]|head|hr|html|i|img|input|ins|kbd|label|legend|li|link|map|meta|noscript|object|ol|optgroup|option|p|param|pre|q|samp|script|select|small|span|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|ul|var)\b
69
+ end: ">"
70
+ - name: invalid.illegal.unrecognized_tag
71
+ captures:
72
+ "1":
73
+ name: invalid.deprecated.no_longer_valid
74
+ begin: </?(basefont|center|dir|font|isindex|menu|s|strike|u)\b
75
+ end: ">"
76
+ - name: invalid.illegal.unrecognized_tag
77
+ begin: <
78
+ end: ">"
79
+ attribute-archive:
80
+ name: meta.attribute-with-value.html
81
+ begin: (archive)\s*=\s*(?=(["']).*?["'])
82
+ applyEndPatternLast: "1"
83
+ beginCaptures:
84
+ "1":
85
+ name: entity.other.attribute-name.html
86
+ end: ""
87
+ patterns:
88
+ - include: "#values-generic-valid"
89
+ attribute-cols:
90
+ name: meta.attribute-with-value.html
91
+ begin: (cols)\s*=\s*(?=(["']).*?["'])
92
+ applyEndPatternLast: "1"
93
+ beginCaptures:
94
+ "1":
95
+ name: entity.other.attribute-name.html
96
+ end: ""
97
+ patterns:
98
+ - name: string.quoted.double.html
99
+ begin: (?<!"|')"
100
+ end: "\""
101
+ patterns:
102
+ - match: (?<="|')[0-9]+(?="|')
103
+ - include: "#values-generic-invalid"
104
+ - name: string.quoted.single.html
105
+ begin: (?<!"|')'
106
+ end: "'"
107
+ patterns:
108
+ - match: (?<="|')[0-9]+(?="|')
109
+ - include: "#values-generic-invalid"
110
+ xml-preprocessor:
111
+ name: meta.tag.preprocessor.xml.html
112
+ captures:
113
+ "1":
114
+ name: entity.name.tag.xml.html
115
+ begin: <\?([\w-]*)
116
+ end: \?>
117
+ patterns:
118
+ - name: meta.attribute-with-value.html
119
+ captures:
120
+ "1":
121
+ name: entity.other.attribute-name.html
122
+ "3":
123
+ name: string.quoted.double.html
124
+ "4":
125
+ name: string.quoted.single.html
126
+ "5":
127
+ name: string.unquoted.html
128
+ match: ([\w-]*)=((".*?")|('.*?')|((\?(?!>)|[^"'>\s\?])+))
129
+ comment: "Bug: Too general, needs to highlight errors better."
130
+ tag-tt:
131
+ captures:
132
+ "1":
133
+ name: meta.tag.inline.tt.html
134
+ "2":
135
+ name: entity.name.tag.inline.tt.html
136
+ begin: (<(tt)\b)
137
+ end: ((tt)>)
138
+ patterns:
139
+ - endCaptures:
140
+ "1":
141
+ name: meta.tag.inline.tt.html
142
+ begin: (?<=>)
143
+ end: (</(?=tt))
144
+ patterns:
145
+ - include: "#tag-group-inline-master"
146
+ - name: meta.tag.inline.tt.html
147
+ begin: ""
148
+ end: ">"
149
+ patterns:
150
+ - include: "#attributes-group-common"
151
+ - include: "#attributes-illegal_char"
152
+ tag-style:
153
+ captures:
154
+ "1":
155
+ name: meta.tag.meta.style.html
156
+ "2":
157
+ name: entity.name.tag.meta.style.html
158
+ begin: (<(style)\b)
159
+ end: ((style)>)
160
+ patterns:
161
+ - endCaptures:
162
+ "1":
163
+ name: meta.tag.meta.style.html
164
+ begin: (?<=>)
165
+ contentName: source.css.embedded.html
166
+ end: (</(?=style))
167
+ patterns:
168
+ - include: "#sgml-comment"
169
+ - name: meta.scope.xml-cdata.html
170
+ begin: <!\[CDATA\[
171
+ end: "]]>"
172
+ patterns:
173
+ - include: source.css
174
+ - name: invalid.illegal.char_not_allowed
175
+ match: <|>|]]>|--
176
+ - include: "#entities"
177
+ - include: source.css
178
+ - name: meta.tag.meta.style.html
179
+ begin: ""
180
+ end: ">"
181
+ patterns:
182
+ - include: "#attribute-xml:space"
183
+ - include: "#attribute-id"
184
+ - include: "#attribute-title"
185
+ - include: "#attribute-media"
186
+ - include: "#attribute-type"
187
+ - include: "#attributes-group-i18n"
188
+ - include: "#attributes-illegal_char"
189
+ comment: "Bug: Invalid chars are sometimes picked up by the js syntax first."
190
+ tag-h4:
191
+ captures:
192
+ "1":
193
+ name: meta.tag.block.h4.html
194
+ "2":
195
+ name: entity.name.tag.block.h4.html
196
+ begin: (<(h4)\b)
197
+ end: ((h4)>)
198
+ patterns:
199
+ - endCaptures:
200
+ "1":
201
+ name: meta.tag.block.h4.html
202
+ begin: (?<=>)
203
+ end: (</(?=h4))
204
+ patterns:
205
+ - include: "#tag-group-inline-master"
206
+ - name: meta.tag.block.h4.html
207
+ begin: ""
208
+ end: ">"
209
+ patterns:
210
+ - include: "#attributes-group-common"
211
+ - include: "#attributes-illegal_char"
212
+ tag-group-special.pre:
213
+ patterns:
214
+ - include: "#tag-br"
215
+ - include: "#tag-span"
216
+ - include: "#tag-bdo"
217
+ - include: "#tag-map"
218
+ attribute-codebase:
219
+ name: meta.attribute-with-value.html
220
+ begin: (codebase)\s*=\s*(?=(["']).*?["'])
221
+ applyEndPatternLast: "1"
222
+ beginCaptures:
223
+ "1":
224
+ name: entity.other.attribute-name.html
225
+ end: ""
226
+ patterns:
227
+ - include: "#values-generic-valid"
228
+ tag-ol:
229
+ name: meta.section.html.ol.xhtml.1-strict
230
+ captures:
231
+ "1":
232
+ name: meta.tag.block.ol.html
233
+ "2":
234
+ name: entity.name.tag.block.ol.html
235
+ begin: (<(ol)\b)
236
+ end: ((ol)>)
237
+ patterns:
238
+ - endCaptures:
239
+ "1":
240
+ name: meta.tag.block.ol.html
241
+ begin: (?<=>)
242
+ end: (</(?=ol))
243
+ patterns:
244
+ - include: "#tag-li"
245
+ - include: "#no-pcdata"
246
+ - name: meta.tag.block.ol.html
247
+ begin: ""
248
+ end: ">"
249
+ patterns:
250
+ - include: "#attributes-group-common"
251
+ - include: "#attributes-illegal_char"
252
+ tag-i:
253
+ captures:
254
+ "1":
255
+ name: meta.tag.inline.i.html
256
+ "2":
257
+ name: entity.name.tag.inline.i.html
258
+ begin: (<(i)\b)
259
+ end: ((i)>)
260
+ patterns:
261
+ - endCaptures:
262
+ "1":
263
+ name: meta.tag.inline.i.html
264
+ begin: (?<=>)
265
+ end: (</(?=i))
266
+ patterns:
267
+ - include: "#tag-group-inline-master"
268
+ - name: meta.tag.inline.i.html
269
+ begin: ""
270
+ end: ">"
271
+ patterns:
272
+ - include: "#attributes-group-common"
273
+ - include: "#attributes-illegal_char"
274
+ tag-html:
275
+ name: meta.section.html.html.xhtml.1-strict
276
+ captures:
277
+ "1":
278
+ name: meta.tag.segment.html.html
279
+ "2":
280
+ name: entity.name.tag.segment.html.html
281
+ begin: (<(html)\b)
282
+ end: ((html)>)
283
+ patterns:
284
+ - endCaptures:
285
+ "1":
286
+ name: meta.tag.segment.html.html
287
+ begin: (?<=>)
288
+ end: (</(?=html))
289
+ patterns:
290
+ - include: "#tag-head"
291
+ - include: "#tag-body"
292
+ - include: "#no-pcdata"
293
+ - name: meta.tag.segment.html.html
294
+ begin: ""
295
+ end: ">"
296
+ patterns:
297
+ - include: "#attribute-xmlns"
298
+ - include: "#attributes-group-i18n"
299
+ - include: "#attributes-illegal_char"
300
+ tag-area:
301
+ endCaptures:
302
+ "1":
303
+ name: meta.tag.meta.area.html
304
+ "2":
305
+ name: invalid.illegal.terminator.html
306
+ begin: (<(area)\b)
307
+ beginCaptures:
308
+ "1":
309
+ name: meta.tag.meta.area.html
310
+ "2":
311
+ name: entity.name.tag.meta.area.html
312
+ end: (/>|(>))
313
+ patterns:
314
+ - name: meta.tag.meta.area.html
315
+ begin: ""
316
+ end: (?=/>|>)
317
+ patterns:
318
+ - include: "#attribute-alt"
319
+ - include: "#attribute-coords"
320
+ - include: "#attribute-href"
321
+ - include: "#attribute-nohref"
322
+ - include: "#attribute-shape"
323
+ - include: "#attributes-group-common"
324
+ - include: "#attributes-group-focus"
325
+ - include: "#attributes-illegal_char"
326
+ attribute-width:
327
+ name: meta.attribute-with-value.html
328
+ begin: (width)\s*=\s*(?=(["']).*?["'])
329
+ applyEndPatternLast: "1"
330
+ beginCaptures:
331
+ "1":
332
+ name: entity.other.attribute-name.html
333
+ end: ""
334
+ patterns:
335
+ - name: string.quoted.double.html
336
+ begin: (?<!"|')"
337
+ end: "\""
338
+ patterns:
339
+ - match: (?<="|')([0-9]{0,5}|[0-9]{0,4}%)(?="|')
340
+ - include: "#values-generic-invalid"
341
+ - name: string.quoted.single.html
342
+ begin: (?<!"|')'
343
+ end: "'"
344
+ patterns:
345
+ - match: (?<="|')([0-9]{0,5}|[0-9]{0,4}%)(?="|')
346
+ - include: "#values-generic-invalid"
347
+ attribute-size:
348
+ name: meta.attribute-with-value.html
349
+ begin: (size)\s*=\s*(?=(["']).*?["'])
350
+ applyEndPatternLast: "1"
351
+ beginCaptures:
352
+ "1":
353
+ name: entity.other.attribute-name.html
354
+ end: ""
355
+ patterns:
356
+ - name: string.quoted.double.html
357
+ begin: (?<!"|')"
358
+ end: "\""
359
+ patterns:
360
+ - match: (?<="|')[0-9]+(?="|')
361
+ - include: "#values-generic-invalid"
362
+ - name: string.quoted.single.html
363
+ begin: (?<!"|')'
364
+ end: "'"
365
+ patterns:
366
+ - match: (?<="|')[0-9]+(?="|')
367
+ - include: "#values-generic-invalid"
368
+ attribute-usemap:
369
+ name: meta.attribute-with-value.html
370
+ begin: (usemap)\s*=\s*(?=(["']).*?["'])
371
+ applyEndPatternLast: "1"
372
+ beginCaptures:
373
+ "1":
374
+ name: entity.other.attribute-name.html
375
+ end: ""
376
+ patterns:
377
+ - include: "#values-generic-valid"
378
+ tag-thead:
379
+ captures:
380
+ "1":
381
+ name: meta.tag.block.thead.html
382
+ "2":
383
+ name: entity.name.tag.block.thead.html
384
+ begin: (<(thead)\b)
385
+ end: ((thead)>)
386
+ patterns:
387
+ - endCaptures:
388
+ "1":
389
+ name: meta.tag.block.thead.html
390
+ begin: (?<=>)
391
+ end: (</(?=thead))
392
+ patterns:
393
+ - include: "#tag-tr"
394
+ - include: "#no-pcdata"
395
+ - name: meta.tag.block.thead.html
396
+ begin: ""
397
+ end: ">"
398
+ patterns:
399
+ - include: "#attribute-align"
400
+ - include: "#attribute-char"
401
+ - include: "#attribute-charoff"
402
+ - include: "#attribute-valign"
403
+ - include: "#attributes-group-common"
404
+ - include: "#attributes-illegal_char"
405
+ tag-h5:
406
+ captures:
407
+ "1":
408
+ name: meta.tag.block.h5.html
409
+ "2":
410
+ name: entity.name.tag.block.h5.html
411
+ begin: (<(h5)\b)
412
+ end: ((h5)>)
413
+ patterns:
414
+ - endCaptures:
415
+ "1":
416
+ name: meta.tag.block.h5.html
417
+ begin: (?<=>)
418
+ end: (</(?=h5))
419
+ patterns:
420
+ - include: "#tag-group-inline-master"
421
+ - name: meta.tag.block.h5.html
422
+ begin: ""
423
+ end: ">"
424
+ patterns:
425
+ - include: "#attributes-group-common"
426
+ - include: "#attributes-illegal_char"
427
+ tag-group-inline-master:
428
+ patterns:
429
+ - include: "#tag-group-inline"
430
+ - include: "#tag-group-misc.inline"
431
+ - include: "#pcdata"
432
+ tag-col:
433
+ endCaptures:
434
+ "1":
435
+ name: meta.tag.block.col.html
436
+ "2":
437
+ name: invalid.illegal.terminator.html
438
+ begin: (<(col)\b)
439
+ beginCaptures:
440
+ "1":
441
+ name: meta.tag.block.col.html
442
+ "2":
443
+ name: entity.name.tag.block.col.html
444
+ end: (/>|(>))
445
+ patterns:
446
+ - name: meta.tag.block.col.html
447
+ begin: ""
448
+ end: (?=/>|>)
449
+ patterns:
450
+ - include: "#attribute-align"
451
+ - include: "#attribute-char"
452
+ - include: "#attribute-charoff"
453
+ - include: "#attribute-span"
454
+ - include: "#attribute-valign"
455
+ - include: "#attribute-width-multi"
456
+ - include: "#attributes-group-common"
457
+ - include: "#attributes-illegal_char"
458
+ attribute-style:
459
+ name: meta.attribute-with-value.html
460
+ begin: (style)\s*=\s*(?=(["']).*?["'])
461
+ applyEndPatternLast: "1"
462
+ beginCaptures:
463
+ "1":
464
+ name: entity.other.attribute-name.html
465
+ end: ""
466
+ patterns:
467
+ - name: string.quoted.double.html
468
+ begin: (?<!"|')"
469
+ contentName: source.css.embedded.html
470
+ end: "\""
471
+ patterns:
472
+ - include: source.css
473
+ - name: string.quoted.single.html
474
+ begin: (?<!"|')'
475
+ contentName: source.css.embedded.html
476
+ end: "'"
477
+ patterns:
478
+ - include: source.css
479
+ attribute-profile:
480
+ name: meta.attribute-with-value.html
481
+ begin: (profile)\s*=\s*(?=(["']).*?["'])
482
+ applyEndPatternLast: "1"
483
+ beginCaptures:
484
+ "1":
485
+ name: entity.other.attribute-name.html
486
+ end: ""
487
+ patterns:
488
+ - include: "#values-generic-valid"
489
+ attribute-disabled:
490
+ name: meta.attribute-with-value.html
491
+ begin: (disabled)\s*=\s*(?=(["']).*?["'])
492
+ applyEndPatternLast: "1"
493
+ beginCaptures:
494
+ "1":
495
+ name: entity.other.attribute-name.html
496
+ end: ""
497
+ patterns:
498
+ - name: string.quoted.double.html
499
+ begin: (?<!"|')"
500
+ end: "\""
501
+ patterns:
502
+ - match: (?<="|')disabled(?="|')
503
+ - include: "#values-generic-invalid"
504
+ - name: string.quoted.single.html
505
+ begin: (?<!"|')'
506
+ end: "'"
507
+ patterns:
508
+ - match: (?<="|')disabled(?="|')
509
+ - include: "#values-generic-invalid"
510
+ tag-h6:
511
+ captures:
512
+ "1":
513
+ name: meta.tag.block.h6.html
514
+ "2":
515
+ name: entity.name.tag.block.h6.html
516
+ begin: (<(h6)\b)
517
+ end: ((h6)>)
518
+ patterns:
519
+ - endCaptures:
520
+ "1":
521
+ name: meta.tag.block.h6.html
522
+ begin: (?<=>)
523
+ end: (</(?=h6))
524
+ patterns:
525
+ - include: "#tag-group-inline-master"
526
+ - name: meta.tag.block.h6.html
527
+ begin: ""
528
+ end: ">"
529
+ patterns:
530
+ - include: "#attributes-group-common"
531
+ - include: "#attributes-illegal_char"
532
+ tag-del:
533
+ captures:
534
+ "1":
535
+ name: meta.tag.inline.del.html
536
+ "2":
537
+ name: entity.name.tag.inline.del.html
538
+ begin: (<(del)\b)
539
+ end: ((del)>)
540
+ patterns:
541
+ - endCaptures:
542
+ "1":
543
+ name: meta.tag.inline.del.html
544
+ begin: (?<=>)
545
+ end: (</(?=del))
546
+ patterns:
547
+ - include: "#tag-group-flow"
548
+ - name: meta.tag.inline.del.html
549
+ begin: ""
550
+ end: ">"
551
+ patterns:
552
+ - include: "#attribute-cite"
553
+ - include: "#attribute-datetime"
554
+ - include: "#attributes-group-common"
555
+ - include: "#attributes-illegal_char"
556
+ tag-code:
557
+ captures:
558
+ "1":
559
+ name: meta.tag.inline.code.html
560
+ "2":
561
+ name: entity.name.tag.inline.code.html
562
+ begin: (<(code)\b)
563
+ end: ((code)>)
564
+ patterns:
565
+ - endCaptures:
566
+ "1":
567
+ name: meta.tag.inline.code.html
568
+ begin: (?<=>)
569
+ end: (</(?=code))
570
+ patterns:
571
+ - include: "#tag-group-inline-master"
572
+ - name: meta.tag.inline.code.html
573
+ begin: ""
574
+ end: ">"
575
+ patterns:
576
+ - include: "#attributes-group-common"
577
+ - include: "#attributes-illegal_char"
578
+ attribute-marginheight:
579
+ name: meta.attribute-with-value.html
580
+ begin: (marginheight)\s*=\s*(?=(["']).*?["'])
581
+ applyEndPatternLast: "1"
582
+ beginCaptures:
583
+ "1":
584
+ name: entity.other.attribute-name.html
585
+ end: ""
586
+ patterns:
587
+ - name: string.quoted.double.html
588
+ begin: (?<!"|')"
589
+ end: "\""
590
+ patterns:
591
+ - match: (?<="|')[0-9]+(?="|')
592
+ - include: "#values-generic-invalid"
593
+ - name: string.quoted.single.html
594
+ begin: (?<!"|')'
595
+ end: "'"
596
+ patterns:
597
+ - match: (?<="|')[0-9]+(?="|')
598
+ - include: "#values-generic-invalid"
599
+ attribute-action:
600
+ name: meta.attribute-with-value.html
601
+ begin: (action)\s*=\s*(?=(["']).*?["'])
602
+ applyEndPatternLast: "1"
603
+ beginCaptures:
604
+ "1":
605
+ name: entity.other.attribute-name.html
606
+ end: ""
607
+ patterns:
608
+ - include: "#values-generic-valid"
609
+ attribute-xmlns:
610
+ name: meta.attribute-with-value.html
611
+ begin: (xmlns)\s*=\s*(?=(["']).*?["'][^"'])
612
+ applyEndPatternLast: "1"
613
+ beginCaptures:
614
+ "1":
615
+ name: entity.other.attribute-name.html
616
+ end: ""
617
+ patterns:
618
+ - name: string.quoted.double.html
619
+ begin: (?<!"|')"
620
+ end: "\""
621
+ patterns:
622
+ - match: (?<="|')http://www.w3.org/1999/xhtml(?="|')
623
+ - include: "#values-generic-invalid"
624
+ - name: string.quoted.single.html
625
+ begin: (?<!"|')'
626
+ end: "'"
627
+ patterns:
628
+ - match: (?<="|')http://www.w3.org/1999/xhtml(?="|')
629
+ - include: "#values-generic-invalid"
630
+ attribute-valign:
631
+ name: meta.attribute-with-value.html
632
+ begin: (valign)\s*=\s*(?=(["']).*?["'])
633
+ applyEndPatternLast: "1"
634
+ beginCaptures:
635
+ "1":
636
+ name: entity.other.attribute-name.html
637
+ end: ""
638
+ patterns:
639
+ - name: string.quoted.double.html
640
+ begin: (?<!"|')"
641
+ end: "\""
642
+ patterns:
643
+ - match: (?<="|')(top|middle|bottom|baseline)(?="|')
644
+ - include: "#values-generic-invalid"
645
+ - name: string.quoted.single.html
646
+ begin: (?<!"|')'
647
+ end: "'"
648
+ patterns:
649
+ - match: (?<="|')(top|middle|bottom|baseline)(?="|')
650
+ - include: "#values-generic-invalid"
651
+ attribute-longdesc:
652
+ name: meta.attribute-with-value.html
653
+ begin: (longdesc)\s*=\s*(?=(["']).*?["'])
654
+ applyEndPatternLast: "1"
655
+ beginCaptures:
656
+ "1":
657
+ name: entity.other.attribute-name.html
658
+ end: ""
659
+ patterns:
660
+ - include: "#values-generic-valid"
661
+ tag-ul:
662
+ name: meta.section.html.ul.xhtml.1-strict
663
+ captures:
664
+ "1":
665
+ name: meta.tag.block.ul.html
666
+ "2":
667
+ name: entity.name.tag.block.ul.html
668
+ begin: (<(ul)\b)
669
+ end: ((ul)>)
670
+ patterns:
671
+ - endCaptures:
672
+ "1":
673
+ name: meta.tag.block.ul.html
674
+ begin: (?<=>)
675
+ end: (</(?=ul))
676
+ patterns:
677
+ - include: "#tag-li"
678
+ - include: "#no-pcdata"
679
+ - name: meta.tag.block.ul.html
680
+ begin: ""
681
+ end: ">"
682
+ patterns:
683
+ - include: "#attributes-group-common"
684
+ - include: "#attributes-illegal_char"
685
+ tag-tbody:
686
+ captures:
687
+ "1":
688
+ name: meta.tag.block.tbody.html
689
+ "2":
690
+ name: entity.name.tag.block.tbody.html
691
+ begin: (<(tbody)\b)
692
+ end: ((tbody)>)
693
+ patterns:
694
+ - endCaptures:
695
+ "1":
696
+ name: meta.tag.block.tbody.html
697
+ begin: (?<=>)
698
+ end: (</(?=tbody))
699
+ patterns:
700
+ - include: "#tag-tr"
701
+ - include: "#no-pcdata"
702
+ - name: meta.tag.block.tbody.html
703
+ begin: ""
704
+ end: ">"
705
+ patterns:
706
+ - include: "#attribute-align"
707
+ - include: "#attribute-char"
708
+ - include: "#attribute-charoff"
709
+ - include: "#attribute-valign"
710
+ - include: "#attributes-group-common"
711
+ - include: "#attributes-illegal_char"
712
+ tag-ins:
713
+ captures:
714
+ "1":
715
+ name: meta.tag.inline.ins.html
716
+ "2":
717
+ name: entity.name.tag.inline.ins.html
718
+ begin: (<(ins)\b)
719
+ end: ((ins)>)
720
+ patterns:
721
+ - endCaptures:
722
+ "1":
723
+ name: meta.tag.inline.ins.html
724
+ begin: (?<=>)
725
+ end: (</(?=ins))
726
+ patterns:
727
+ - include: "#tag-group-flow"
728
+ - name: meta.tag.inline.ins.html
729
+ begin: ""
730
+ end: ">"
731
+ patterns:
732
+ - include: "#attribute-cite"
733
+ - include: "#attribute-datetime"
734
+ - include: "#attributes-group-common"
735
+ - include: "#attributes-illegal_char"
736
+ attribute-title:
737
+ name: meta.attribute-with-value.html
738
+ begin: (title)\s*=\s*(?=(["']).*?["'])
739
+ applyEndPatternLast: "1"
740
+ beginCaptures:
741
+ "1":
742
+ name: entity.other.attribute-name.html
743
+ end: ""
744
+ patterns:
745
+ - include: "#values-generic-valid"
746
+ attribute-valuetype:
747
+ name: meta.attribute-with-value.html
748
+ begin: (valuetype)\s*=\s*(?=(["']).*?["'])
749
+ applyEndPatternLast: "1"
750
+ beginCaptures:
751
+ "1":
752
+ name: entity.other.attribute-name.html
753
+ end: ""
754
+ patterns:
755
+ - name: string.quoted.double.html
756
+ begin: (?<!"|')"
757
+ end: "\""
758
+ patterns:
759
+ - match: (?<="|')(data|ref|object)(?="|')
760
+ - include: "#values-generic-invalid"
761
+ - name: string.quoted.single.html
762
+ begin: (?<!"|')'
763
+ end: "'"
764
+ patterns:
765
+ - match: (?<="|')(data|ref|object)(?="|')
766
+ - include: "#values-generic-invalid"
767
+ attribute-http-equiv:
768
+ name: meta.attribute-with-value.html
769
+ begin: (http-equiv)\s*=\s*(?=(["']).*?["'])
770
+ applyEndPatternLast: "1"
771
+ beginCaptures:
772
+ "1":
773
+ name: entity.other.attribute-name.html
774
+ end: ""
775
+ patterns:
776
+ - name: string.quoted.double.html
777
+ begin: (?<!"|')"
778
+ end: "\""
779
+ patterns:
780
+ - match: "[\\w\\-:]+"
781
+ - include: "#values-generic-invalid"
782
+ - name: string.quoted.single.html
783
+ begin: (?<!"|')'
784
+ end: "'"
785
+ patterns:
786
+ - match: "[\\w\\-:]+"
787
+ - include: "#values-generic-invalid"
788
+ comment: "Bug: This may not take into account all possible characters in NMTOKEN."
789
+ attribute-enctype:
790
+ name: meta.attribute-with-value.html
791
+ begin: (enctype)\s*=\s*(?=(["']).*?["'])
792
+ applyEndPatternLast: "1"
793
+ beginCaptures:
794
+ "1":
795
+ name: entity.other.attribute-name.html
796
+ end: ""
797
+ patterns:
798
+ - include: "#values-generic-valid"
799
+ attribute-cellpadding:
800
+ name: meta.attribute-with-value.html
801
+ begin: (cellpadding)\s*=\s*(?=(["']).*?["'])
802
+ applyEndPatternLast: "1"
803
+ beginCaptures:
804
+ "1":
805
+ name: entity.other.attribute-name.html
806
+ end: ""
807
+ patterns:
808
+ - name: string.quoted.double.html
809
+ begin: (?<!"|')"
810
+ end: "\""
811
+ patterns:
812
+ - match: (?<="|')([0-9]{0,5}|[0-9]{0,4}%)(?="|')
813
+ - include: "#values-generic-invalid"
814
+ - name: string.quoted.single.html
815
+ begin: (?<!"|')'
816
+ end: "'"
817
+ patterns:
818
+ - match: (?<="|')([0-9]{0,5}|[0-9]{0,4}%)(?="|')
819
+ - include: "#values-generic-invalid"
820
+ tag-acronym:
821
+ captures:
822
+ "1":
823
+ name: meta.tag.inline.acronym.html
824
+ "2":
825
+ name: entity.name.tag.inline.acronym.html
826
+ begin: (<(acronym)\b)
827
+ end: ((acronym)>)
828
+ patterns:
829
+ - endCaptures:
830
+ "1":
831
+ name: meta.tag.inline.acronym.html
832
+ begin: (?<=>)
833
+ end: (</(?=acronym))
834
+ patterns:
835
+ - include: "#tag-group-inline-master"
836
+ - name: meta.tag.inline.acronym.html
837
+ begin: ""
838
+ end: ">"
839
+ patterns:
840
+ - include: "#attributes-group-common"
841
+ - include: "#attributes-illegal_char"
842
+ attribute-cite:
843
+ name: meta.attribute-with-value.html
844
+ begin: (cite)\s*=\s*(?=(["']).*?["'])
845
+ applyEndPatternLast: "1"
846
+ beginCaptures:
847
+ "1":
848
+ name: entity.other.attribute-name.html
849
+ end: ""
850
+ patterns:
851
+ - include: "#values-generic-valid"
852
+ tag-meta:
853
+ endCaptures:
854
+ "1":
855
+ name: meta.tag.meta.meta.html
856
+ "2":
857
+ name: invalid.illegal.terminator.html
858
+ begin: (<(meta)\b)
859
+ beginCaptures:
860
+ "1":
861
+ name: meta.tag.meta.meta.html
862
+ "2":
863
+ name: entity.name.tag.meta.meta.html
864
+ end: (/>|(>))
865
+ patterns:
866
+ - name: meta.tag.meta.meta.html
867
+ begin: ""
868
+ end: (?=/>|>)
869
+ patterns:
870
+ - include: "#attribute-id"
871
+ - include: "#attribute-content"
872
+ - include: "#attribute-http-equiv"
873
+ - include: "#attribute-name"
874
+ - include: "#attribute-scheme"
875
+ - include: "#attributes-group-i18n"
876
+ - include: "#attributes-illegal_char"
877
+ tag-dl:
878
+ name: meta.section.html.dl.xhtml.1-strict
879
+ captures:
880
+ "1":
881
+ name: meta.tag.block.dl.html
882
+ "2":
883
+ name: entity.name.tag.block.dl.html
884
+ begin: (<(dl)\b)
885
+ end: ((dl)>)
886
+ patterns:
887
+ - endCaptures:
888
+ "1":
889
+ name: meta.tag.block.dl.html
890
+ begin: (?<=>)
891
+ end: (</(?=dl))
892
+ patterns:
893
+ - include: "#tag-dt"
894
+ - include: "#tag-dd"
895
+ - include: "#no-pcdata"
896
+ - name: meta.tag.block.dl.html
897
+ begin: ""
898
+ end: ">"
899
+ patterns:
900
+ - include: "#attributes-group-common"
901
+ - include: "#attributes-illegal_char"
902
+ attribute-width-multi:
903
+ name: meta.attribute-with-value.html
904
+ begin: (width)\s*=\s*(?=(["']).*?["'])
905
+ applyEndPatternLast: "1"
906
+ beginCaptures:
907
+ "1":
908
+ name: entity.other.attribute-name.html
909
+ end: ""
910
+ patterns:
911
+ - name: string.quoted.double.html
912
+ begin: (?<!"|')"
913
+ end: "\""
914
+ patterns:
915
+ - match: (?<="|')([0-9]{0,5}\*?|[0-9]{0,4}%)(?="|')
916
+ - include: "#values-generic-invalid"
917
+ - name: string.quoted.single.html
918
+ begin: (?<!"|')'
919
+ end: "'"
920
+ patterns:
921
+ - match: (?<="|')([0-9]{0,5}\*?|[0-9]{0,4}%)(?="|')
922
+ - include: "#values-generic-invalid"
923
+ attributes-group-focus:
924
+ patterns:
925
+ - include: "#attribute-accesskey"
926
+ - include: "#attribute-tabindex"
927
+ - include: "#attribute-onfocus"
928
+ - include: "#attribute-onblur"
929
+ sgml-comment:
930
+ name: comment.block.html
931
+ begin: <!--
932
+ end: --\s*>
933
+ patterns:
934
+ - name: invalid.deprecated.bad-comment-ending-token.html
935
+ match: --(?!\s*>)
936
+ comment: Does not allow the closing bracket to be on a diff line that the --, which as far as I can tell is legal.
937
+ attribute-nohref:
938
+ name: meta.attribute-with-value.html
939
+ begin: (nohref)\s*=\s*(?=(["']).*?["'])
940
+ applyEndPatternLast: "1"
941
+ beginCaptures:
942
+ "1":
943
+ name: entity.other.attribute-name.html
944
+ end: ""
945
+ patterns:
946
+ - name: string.quoted.double.html
947
+ begin: (?<!"|')"
948
+ end: "\""
949
+ patterns:
950
+ - match: (?<="|')nohref(?="|')
951
+ - include: "#values-generic-invalid"
952
+ - name: string.quoted.single.html
953
+ begin: (?<!"|')'
954
+ end: "'"
955
+ patterns:
956
+ - match: (?<="|')nohref(?="|')
957
+ - include: "#values-generic-invalid"
958
+ attribute-onblur:
959
+ patterns:
960
+ - name: meta.attribute-with-value.html
961
+ begin: (onblur)\s*=\s*(?=(["']).*?["'])
962
+ applyEndPatternLast: "1"
963
+ beginCaptures:
964
+ "1":
965
+ name: entity.other.attribute-name.html
966
+ end: ""
967
+ patterns:
968
+ - name: string.quoted.double.html
969
+ begin: "\""
970
+ contentName: source.js.embedded.html
971
+ end: "\""
972
+ - name: string.quoted.single.html
973
+ begin: "'"
974
+ contentName: source.js.embedded.html
975
+ end: "'"
976
+ attribute-checked:
977
+ name: meta.attribute-with-value.html
978
+ begin: (checked)\s*=\s*(?=(["']).*?["'])
979
+ applyEndPatternLast: "1"
980
+ beginCaptures:
981
+ "1":
982
+ name: entity.other.attribute-name.html
983
+ end: ""
984
+ patterns:
985
+ - name: string.quoted.double.html
986
+ begin: (?<!"|')"
987
+ end: "\""
988
+ patterns:
989
+ - match: (?<="|')checked(?="|')
990
+ - include: "#values-generic-invalid"
991
+ - name: string.quoted.single.html
992
+ begin: (?<!"|')'
993
+ end: "'"
994
+ patterns:
995
+ - match: (?<="|')checked(?="|')
996
+ - include: "#values-generic-invalid"
997
+ tag-small:
998
+ captures:
999
+ "1":
1000
+ name: meta.tag.inline.small.html
1001
+ "2":
1002
+ name: entity.name.tag.inline.small.html
1003
+ begin: (<(small)\b)
1004
+ end: ((small)>)
1005
+ patterns:
1006
+ - endCaptures:
1007
+ "1":
1008
+ name: meta.tag.inline.small.html
1009
+ begin: (?<=>)
1010
+ end: (</(?=small))
1011
+ patterns:
1012
+ - include: "#tag-group-inline-master"
1013
+ - name: meta.tag.inline.small.html
1014
+ begin: ""
1015
+ end: ">"
1016
+ patterns:
1017
+ - include: "#attributes-group-common"
1018
+ - include: "#attributes-illegal_char"
1019
+ tag-script:
1020
+ endCaptures:
1021
+ "1":
1022
+ name: meta.tag.block.script.html
1023
+ "4":
1024
+ name: entity.name.tag.block.script.html
1025
+ begin: (<(script)\b)
1026
+ beginCaptures:
1027
+ "1":
1028
+ name: meta.tag.block.script.html
1029
+ "2":
1030
+ name: entity.name.tag.block.script.html
1031
+ end: ((/>)|((script)>))
1032
+ patterns:
1033
+ - endCaptures:
1034
+ "1":
1035
+ name: meta.tag.block.script.html
1036
+ begin: (?<=[^/]>)
1037
+ contentName: source.js.embedded.html
1038
+ end: (</(?=script))
1039
+ patterns:
1040
+ - include: "#sgml-comment"
1041
+ - name: meta.scope.xml-cdata.html
1042
+ begin: <!\[CDATA\[
1043
+ end: "]]>"
1044
+ patterns:
1045
+ - include: source.js
1046
+ - name: invalid.illegal.char_not_allowed
1047
+ match: <|>|]]>|--
1048
+ - include: "#entities"
1049
+ - include: source.js
1050
+ - name: meta.tag.block.script.html
1051
+ begin: ""
1052
+ end: ((?=/>)|>)
1053
+ patterns:
1054
+ - include: "#attribute-xml:space"
1055
+ - include: "#attribute-id"
1056
+ - include: "#attribute-defer"
1057
+ - include: "#attribute-src"
1058
+ - include: "#attribute-type"
1059
+ - include: "#attribute-charset"
1060
+ - include: "#attributes-illegal_char"
1061
+ comment: "Bug: Invalid chars are sometimes picked up by the js syntax first."
1062
+ tag-form:
1063
+ name: meta.section.html.form.xhtml.1-strict
1064
+ captures:
1065
+ "1":
1066
+ name: meta.tag.block.form.html
1067
+ "2":
1068
+ name: entity.name.tag.block.form.html
1069
+ begin: (<(form)\b)
1070
+ end: ((form)>)
1071
+ patterns:
1072
+ - endCaptures:
1073
+ "1":
1074
+ name: meta.tag.block.form.html
1075
+ begin: (?<=>)
1076
+ end: (</(?=form))
1077
+ patterns:
1078
+ - include: "#tag-group-form.content"
1079
+ - include: "#no-pcdata"
1080
+ - name: meta.tag.block.form.html
1081
+ begin: ""
1082
+ end: ">"
1083
+ patterns:
1084
+ - include: "#attribute-accept"
1085
+ - include: "#attribute-accept-charset"
1086
+ - include: "#attribute-action"
1087
+ - include: "#attribute-method"
1088
+ - include: "#attribute-onreset"
1089
+ - include: "#attribute-onsubmit"
1090
+ - include: "#attribute-enctype"
1091
+ - include: "#attributes-group-common"
1092
+ - include: "#attributes-illegal_char"
1093
+ attribute-src:
1094
+ name: meta.attribute-with-value.html
1095
+ begin: (src)\s*=\s*(?=(["']).*?["'])
1096
+ applyEndPatternLast: "1"
1097
+ beginCaptures:
1098
+ "1":
1099
+ name: entity.other.attribute-name.html
1100
+ end: ""
1101
+ patterns:
1102
+ - include: "#values-generic-valid"
1103
+ attribute-defer:
1104
+ name: meta.attribute-with-value.html
1105
+ begin: (defer)\s*=\s*(?=(["']).*?["'])
1106
+ applyEndPatternLast: "1"
1107
+ beginCaptures:
1108
+ "1":
1109
+ name: entity.other.attribute-name.html
1110
+ end: ""
1111
+ patterns:
1112
+ - name: string.quoted.double.html
1113
+ begin: (?<!"|')"
1114
+ end: "\""
1115
+ patterns:
1116
+ - match: (?<="|')defer(?="|')
1117
+ - include: "#values-generic-invalid"
1118
+ - name: string.quoted.single.html
1119
+ begin: (?<!"|')'
1120
+ end: "'"
1121
+ patterns:
1122
+ - match: (?<="|')defer(?="|')
1123
+ - include: "#values-generic-invalid"
1124
+ tag-p:
1125
+ captures:
1126
+ "1":
1127
+ name: meta.tag.block.p.html
1128
+ "2":
1129
+ name: entity.name.tag.block.p.html
1130
+ begin: (<(p)\b)
1131
+ end: ((p)>)
1132
+ patterns:
1133
+ - endCaptures:
1134
+ "1":
1135
+ name: meta.tag.block.p.html
1136
+ begin: (?<=>)
1137
+ end: (</(?=p))
1138
+ patterns:
1139
+ - include: "#tag-group-inline-master"
1140
+ - name: meta.tag.block.p.html
1141
+ begin: ""
1142
+ end: ">"
1143
+ patterns:
1144
+ - include: "#attributes-group-common"
1145
+ - include: "#attributes-illegal_char"
1146
+ tag-option:
1147
+ endCaptures:
1148
+ "1":
1149
+ name: meta.tag.block.option.html
1150
+ "4":
1151
+ name: entity.name.tag.block.option.html
1152
+ begin: (<(option)\b)
1153
+ beginCaptures:
1154
+ "1":
1155
+ name: meta.tag.block.option.html
1156
+ "2":
1157
+ name: entity.name.tag.block.option.html
1158
+ end: ((/>)|((option)>))
1159
+ patterns:
1160
+ - endCaptures:
1161
+ "1":
1162
+ name: meta.tag.block.option.html
1163
+ begin: (?<=[^/]>)
1164
+ end: (</(?=option))
1165
+ patterns:
1166
+ - include: "#pcdata"
1167
+ - name: meta.tag.block.option.html
1168
+ begin: ""
1169
+ end: ((?=/>)|>)
1170
+ patterns:
1171
+ - include: "#attribute-disabled"
1172
+ - include: "#attribute-label"
1173
+ - include: "#attribute-selected"
1174
+ - include: "#attribute-value"
1175
+ - include: "#attributes-group-common"
1176
+ - include: "#attributes-illegal_char"
1177
+ tag-group-block:
1178
+ patterns:
1179
+ - include: "#tag-p"
1180
+ - include: "#tag-div"
1181
+ - include: "#tag-fieldset"
1182
+ - include: "#tag-table"
1183
+ - include: "#tag-group-heading"
1184
+ - include: "#tag-group-lists"
1185
+ - include: "#tag-group-blocktext"
1186
+ attribute-onload:
1187
+ patterns:
1188
+ - name: meta.attribute-with-value.html
1189
+ begin: (onload)\s*=\s*(?=(["']).*?["'])
1190
+ applyEndPatternLast: "1"
1191
+ beginCaptures:
1192
+ "1":
1193
+ name: entity.other.attribute-name.html
1194
+ end: ""
1195
+ patterns:
1196
+ - name: string.quoted.double.html
1197
+ begin: "\""
1198
+ contentName: source.js.embedded.html
1199
+ end: "\""
1200
+ - name: string.quoted.single.html
1201
+ begin: "'"
1202
+ contentName: source.js.embedded.html
1203
+ end: "'"
1204
+ attribute-name:
1205
+ name: meta.attribute-with-value.html
1206
+ begin: (name)\s*=\s*(?=(["']).*?["'])
1207
+ applyEndPatternLast: "1"
1208
+ beginCaptures:
1209
+ "1":
1210
+ name: entity.other.attribute-name.html
1211
+ end: ""
1212
+ patterns:
1213
+ - name: string.quoted.double.html
1214
+ begin: (?<!"|')"
1215
+ end: "\""
1216
+ patterns:
1217
+ - match: "[\\w\\-:.]+"
1218
+ - include: "#values-generic-invalid"
1219
+ - name: string.quoted.single.html
1220
+ begin: (?<!"|')'
1221
+ end: "'"
1222
+ patterns:
1223
+ - match: "[\\w\\-:.]+"
1224
+ - include: "#values-generic-invalid"
1225
+ comment: "Bug: This may not take into account all possible characters in NMTOKEN."
1226
+ sgml-declarations-preprocessor:
1227
+ begin: (?=<!)
1228
+ applyEndPatternLast: "1"
1229
+ end: (?<=>)
1230
+ patterns:
1231
+ - name: meta.tag.sgml.doctype.html
1232
+ captures:
1233
+ "1":
1234
+ name: entity.name.tag.doctype.html
1235
+ begin: <!(DOCTYPE\b)
1236
+ end: ">"
1237
+ patterns:
1238
+ - name: string.quoted.double.doctype.identifiers-and-DTDs.html
1239
+ match: "\"[^\">]*\""
1240
+ - include: "#sgml-declarations"
1241
+ attribute-media:
1242
+ name: meta.attribute-with-value.html
1243
+ begin: (media)\s*=\s*(?=(["']).*?["'])
1244
+ applyEndPatternLast: "1"
1245
+ beginCaptures:
1246
+ "1":
1247
+ name: entity.other.attribute-name.html
1248
+ end: ""
1249
+ patterns:
1250
+ - name: string.quoted.double.html
1251
+ begin: (?<!"|')"
1252
+ end: "\""
1253
+ patterns:
1254
+ - match: (?<="|')(screen|tty|tv|projection|handheld|print|braille|aural|all)(,\s*(screen|tty|tv|projection|handheld|print|braille|aural|all))*(?="|')
1255
+ - include: "#values-generic-invalid"
1256
+ - name: string.quoted.single.html
1257
+ begin: (?<!"|')'
1258
+ end: "'"
1259
+ patterns:
1260
+ - match: (?<="|')(screen|tty|tv|projection|handheld|print|braille|aural|all)(,\s*(screen|tty|tv|projection|handheld|print|braille|aural|all))*(?="|')
1261
+ - include: "#values-generic-invalid"
1262
+ tag-q:
1263
+ captures:
1264
+ "1":
1265
+ name: meta.tag.inline.q.html
1266
+ "2":
1267
+ name: entity.name.tag.inline.q.html
1268
+ begin: (<(q)\b)
1269
+ end: ((q)>)
1270
+ patterns:
1271
+ - endCaptures:
1272
+ "1":
1273
+ name: meta.tag.inline.q.html
1274
+ begin: (?<=>)
1275
+ end: (</(?=q))
1276
+ patterns:
1277
+ - include: "#tag-group-inline-master"
1278
+ - name: meta.tag.inline.q.html
1279
+ begin: ""
1280
+ end: ">"
1281
+ patterns:
1282
+ - include: "#attribute-cite"
1283
+ - include: "#attributes-group-common"
1284
+ - include: "#attributes-illegal_char"
1285
+ attribute-ismap:
1286
+ name: meta.attribute-with-value.html
1287
+ begin: (ismap)\s*=\s*(?=(["']).*?["'])
1288
+ applyEndPatternLast: "1"
1289
+ beginCaptures:
1290
+ "1":
1291
+ name: entity.other.attribute-name.html
1292
+ end: ""
1293
+ patterns:
1294
+ - name: string.quoted.double.html
1295
+ begin: (?<!"|')"
1296
+ end: "\""
1297
+ patterns:
1298
+ - match: (?<="|')ismap(?="|')
1299
+ - include: "#values-generic-invalid"
1300
+ - name: string.quoted.single.html
1301
+ begin: (?<!"|')'
1302
+ end: "'"
1303
+ patterns:
1304
+ - match: (?<="|')ismap(?="|')
1305
+ - include: "#values-generic-invalid"
1306
+ attribute-value:
1307
+ name: meta.attribute-with-value.html
1308
+ begin: (value)\s*=\s*(?=(["']).*?["'])
1309
+ applyEndPatternLast: "1"
1310
+ beginCaptures:
1311
+ "1":
1312
+ name: entity.other.attribute-name.html
1313
+ end: ""
1314
+ patterns:
1315
+ - include: "#values-generic-valid"
1316
+ attribute-type:
1317
+ name: meta.attribute-with-value.html
1318
+ begin: (type)\s*=\s*(?=(["']).*?["'])
1319
+ applyEndPatternLast: "1"
1320
+ beginCaptures:
1321
+ "1":
1322
+ name: entity.other.attribute-name.html
1323
+ end: ""
1324
+ patterns:
1325
+ - include: "#values-generic-valid"
1326
+ attribute-marginwidth:
1327
+ name: meta.attribute-with-value.html
1328
+ begin: (marginwidth)\s*=\s*(?=(["']).*?["'])
1329
+ applyEndPatternLast: "1"
1330
+ beginCaptures:
1331
+ "1":
1332
+ name: entity.other.attribute-name.html
1333
+ end: ""
1334
+ patterns:
1335
+ - name: string.quoted.double.html
1336
+ begin: (?<!"|')"
1337
+ end: "\""
1338
+ patterns:
1339
+ - match: (?<="|')[0-9]+(?="|')
1340
+ - include: "#values-generic-invalid"
1341
+ - name: string.quoted.single.html
1342
+ begin: (?<!"|')'
1343
+ end: "'"
1344
+ patterns:
1345
+ - match: (?<="|')[0-9]+(?="|')
1346
+ - include: "#values-generic-invalid"
1347
+ tag-table:
1348
+ name: meta.section.html.table.xhtml.1-strict
1349
+ captures:
1350
+ "1":
1351
+ name: meta.tag.block.table.html
1352
+ "2":
1353
+ name: entity.name.tag.block.table.html
1354
+ begin: (<(table)\b)
1355
+ end: ((table)>)
1356
+ patterns:
1357
+ - endCaptures:
1358
+ "1":
1359
+ name: meta.tag.block.table.html
1360
+ begin: (?<=>)
1361
+ end: (</(?=table))
1362
+ patterns:
1363
+ - include: "#tag-caption"
1364
+ - begin: (?<=</caption>)
1365
+ end: (?=<(?!/?caption))
1366
+ patterns:
1367
+ - include: "#stray-char"
1368
+ - include: "#sgml-declarations"
1369
+ - begin: (?=<(?!/?table))
1370
+ end: (?=</table)
1371
+ patterns:
1372
+ - begin: (?=<(colgroup|col))
1373
+ applyEndPatternLast: "1"
1374
+ end: (?=<)
1375
+ patterns:
1376
+ - begin: (?=<colgroup)
1377
+ end: (?=<(?!colgroup|col))
1378
+ patterns:
1379
+ - include: "#tag-colgroup"
1380
+ - include: "#stray-char"
1381
+ - include: "#sgml-declarations"
1382
+ - begin: (?=<col)
1383
+ end: (?=<(?!colgroup|col))
1384
+ patterns:
1385
+ - include: "#tag-col"
1386
+ - include: "#stray-char"
1387
+ - include: "#sgml-declarations"
1388
+ comment: "Bug: This should use the generic invalid tag."
1389
+ - begin: (?=<(?!/?table))
1390
+ end: (?=</table)
1391
+ patterns:
1392
+ - include: "#tag-thead"
1393
+ - begin: (?<=</thead>)
1394
+ end: (?=</table)
1395
+ patterns:
1396
+ - include: "#tag-tfoot"
1397
+ - begin: (?<=</tfoot>)
1398
+ end: (?=</table)
1399
+ patterns:
1400
+ - include: "#tag-tbody"
1401
+ - include: "#stray-char"
1402
+ - include: "#sgml-declarations"
1403
+ - begin: (?=<(?!/?table))
1404
+ end: (?=</table)
1405
+ patterns:
1406
+ - include: "#tag-tbody"
1407
+ - include: "#stray-char"
1408
+ - include: "#sgml-declarations"
1409
+ - include: "#stray-char"
1410
+ - include: "#sgml-declarations"
1411
+ - begin: (?=<(?!/?table))
1412
+ end: (?=</table)
1413
+ patterns:
1414
+ - include: "#tag-tfoot"
1415
+ - begin: (?<=</tfoot>)
1416
+ end: (?=</table)
1417
+ patterns:
1418
+ - include: "#tag-tbody"
1419
+ - include: "#stray-char"
1420
+ - include: "#sgml-declarations"
1421
+ - begin: (?=<(?!/?table))
1422
+ end: (?=</table)
1423
+ patterns:
1424
+ - begin: (?=<tbody)
1425
+ end: (?=</table)
1426
+ patterns:
1427
+ - include: "#tag-tbody"
1428
+ - include: "#stray-char"
1429
+ - include: "#sgml-declarations"
1430
+ - begin: (?=<tr)
1431
+ end: (?=</table)
1432
+ patterns:
1433
+ - include: "#tag-tr"
1434
+ - include: "#stray-char"
1435
+ - include: "#sgml-declarations"
1436
+ - include: "#stray-char"
1437
+ - include: "#sgml-declarations"
1438
+ - include: "#stray-char"
1439
+ - include: "#sgml-declarations"
1440
+ - include: "#stray-char"
1441
+ - include: "#sgml-declarations"
1442
+ - include: "#stray-char"
1443
+ - include: "#sgml-declarations"
1444
+ - include: "#no-pcdata"
1445
+ - name: meta.tag.block.table.html
1446
+ begin: ""
1447
+ end: ">"
1448
+ patterns:
1449
+ - include: "#attribute-border"
1450
+ - include: "#attribute-cellpadding"
1451
+ - include: "#attribute-cellspacing"
1452
+ - include: "#attribute-frame"
1453
+ - include: "#attribute-rules"
1454
+ - include: "#attribute-summary"
1455
+ - include: "#attribute-width"
1456
+ - include: "#attributes-group-common"
1457
+ - include: "#attributes-illegal_char"
1458
+ tag-group-button.content:
1459
+ patterns:
1460
+ - include: "#tag-p"
1461
+ - include: "#tag-group-heading"
1462
+ - include: "#tag-div"
1463
+ - include: "#tag-group-lists"
1464
+ - include: "#tag-group-blocktext"
1465
+ - include: "#tag-table"
1466
+ - include: "#tag-group-special"
1467
+ - include: "#tag-group-fontstyle"
1468
+ - include: "#tag-group-phrase"
1469
+ - include: "#tag-group-misc"
1470
+ - include: "#pcdata"
1471
+ tag-big:
1472
+ captures:
1473
+ "1":
1474
+ name: meta.tag.inline.big.html
1475
+ "2":
1476
+ name: entity.name.tag.inline.big.html
1477
+ begin: (<(big)\b)
1478
+ end: ((big)>)
1479
+ patterns:
1480
+ - endCaptures:
1481
+ "1":
1482
+ name: meta.tag.inline.big.html
1483
+ begin: (?<=>)
1484
+ end: (</(?=big))
1485
+ patterns:
1486
+ - include: "#tag-group-inline-master"
1487
+ - name: meta.tag.inline.big.html
1488
+ begin: ""
1489
+ end: ">"
1490
+ patterns:
1491
+ - include: "#attributes-group-common"
1492
+ - include: "#attributes-illegal_char"
1493
+ attribute-multiple:
1494
+ name: meta.attribute-with-value.html
1495
+ begin: (multiple)\s*=\s*(?=(["']).*?["'])
1496
+ applyEndPatternLast: "1"
1497
+ beginCaptures:
1498
+ "1":
1499
+ name: entity.other.attribute-name.html
1500
+ end: ""
1501
+ patterns:
1502
+ - name: string.quoted.double.html
1503
+ begin: (?<!"|')"
1504
+ end: "\""
1505
+ patterns:
1506
+ - match: (?<="|')multiple(?="|')
1507
+ - include: "#values-generic-invalid"
1508
+ - name: string.quoted.single.html
1509
+ begin: (?<!"|')'
1510
+ end: "'"
1511
+ patterns:
1512
+ - match: (?<="|')multiple(?="|')
1513
+ - include: "#values-generic-invalid"
1514
+ attribute-datapagesize:
1515
+ name: meta.attribute-with-value.html
1516
+ begin: (datapagesize)\s*=\s*(?=(["']).*?["'])
1517
+ applyEndPatternLast: "1"
1518
+ beginCaptures:
1519
+ "1":
1520
+ name: entity.other.attribute-name.html
1521
+ end: ""
1522
+ patterns:
1523
+ - include: "#values-generic-valid"
1524
+ tag-strong:
1525
+ captures:
1526
+ "1":
1527
+ name: meta.tag.inline.strong.html
1528
+ "2":
1529
+ name: entity.name.tag.inline.strong.html
1530
+ begin: (<(strong)\b)
1531
+ end: ((strong)>)
1532
+ patterns:
1533
+ - endCaptures:
1534
+ "1":
1535
+ name: meta.tag.inline.strong.html
1536
+ begin: (?<=>)
1537
+ end: (</(?=strong))
1538
+ patterns:
1539
+ - include: "#tag-group-inline-master"
1540
+ - name: meta.tag.inline.strong.html
1541
+ begin: ""
1542
+ end: ">"
1543
+ patterns:
1544
+ - include: "#attributes-group-common"
1545
+ - include: "#attributes-illegal_char"
1546
+ attribute-char:
1547
+ name: meta.attribute-with-value.html
1548
+ begin: (char)\s*=\s*(?=(["']).*?["'])
1549
+ applyEndPatternLast: "1"
1550
+ beginCaptures:
1551
+ "1":
1552
+ name: entity.other.attribute-name.html
1553
+ end: ""
1554
+ patterns:
1555
+ - name: string.quoted.double.html
1556
+ begin: (?<!"|')"
1557
+ end: "\""
1558
+ patterns:
1559
+ - match: (?<="|')[[:alnum:]](?="|')
1560
+ - include: "#values-generic-invalid"
1561
+ - name: string.quoted.single.html
1562
+ begin: (?<!"|')'
1563
+ end: "'"
1564
+ patterns:
1565
+ - match: (?<="|')[[:alnum:]](?="|')
1566
+ - include: "#values-generic-invalid"
1567
+ comment: "Bug: Does not correctly represent the single Character attribute."
1568
+ stray-char:
1569
+ name: invalid.illegal.character_data_not_allowed_here
1570
+ tooltip: Characters not allowed here, try adding a block level tag first.
1571
+ match: "[^<>\\s][^<>]*"
1572
+ attribute-height:
1573
+ name: meta.attribute-with-value.html
1574
+ begin: (height)\s*=\s*(?=(["']).*?["'])
1575
+ applyEndPatternLast: "1"
1576
+ beginCaptures:
1577
+ "1":
1578
+ name: entity.other.attribute-name.html
1579
+ end: ""
1580
+ patterns:
1581
+ - name: string.quoted.double.html
1582
+ begin: (?<!"|')"
1583
+ end: "\""
1584
+ patterns:
1585
+ - match: (?<="|')([0-9]{0,5}|[0-9]{0,4}%)(?="|')
1586
+ - include: "#values-generic-invalid"
1587
+ - name: string.quoted.single.html
1588
+ begin: (?<!"|')'
1589
+ end: "'"
1590
+ patterns:
1591
+ - match: (?<="|')([0-9]{0,5}|[0-9]{0,4}%)(?="|')
1592
+ - include: "#values-generic-invalid"
1593
+ attribute-charoff:
1594
+ name: meta.attribute-with-value.html
1595
+ begin: (charoff)\s*=\s*(?=(["']).*?["'])
1596
+ applyEndPatternLast: "1"
1597
+ beginCaptures:
1598
+ "1":
1599
+ name: entity.other.attribute-name.html
1600
+ end: ""
1601
+ patterns:
1602
+ - name: string.quoted.double.html
1603
+ begin: (?<!"|')"
1604
+ end: "\""
1605
+ patterns:
1606
+ - match: (?<="|')([0-9]{0,5}|[0-9]{0,4}%)(?="|')
1607
+ - include: "#values-generic-invalid"
1608
+ - name: string.quoted.single.html
1609
+ begin: (?<!"|')'
1610
+ end: "'"
1611
+ patterns:
1612
+ - match: (?<="|')([0-9]{0,5}|[0-9]{0,4}%)(?="|')
1613
+ - include: "#values-generic-invalid"
1614
+ attribute-span:
1615
+ name: meta.attribute-with-value.html
1616
+ begin: (span)\s*=\s*(?=(["']).*?["'])
1617
+ applyEndPatternLast: "1"
1618
+ beginCaptures:
1619
+ "1":
1620
+ name: entity.other.attribute-name.html
1621
+ end: ""
1622
+ patterns:
1623
+ - name: string.quoted.double.html
1624
+ begin: (?<!"|')"
1625
+ end: "\""
1626
+ patterns:
1627
+ - match: (?<="|')[0-9]+(?="|')
1628
+ - include: "#values-generic-invalid"
1629
+ - name: string.quoted.single.html
1630
+ begin: (?<!"|')'
1631
+ end: "'"
1632
+ patterns:
1633
+ - match: (?<="|')[0-9]+(?="|')
1634
+ - include: "#values-generic-invalid"
1635
+ attribute-selected:
1636
+ name: meta.attribute-with-value.html
1637
+ begin: (selected)\s*=\s*(?=(["']).*?["'])
1638
+ applyEndPatternLast: "1"
1639
+ beginCaptures:
1640
+ "1":
1641
+ name: entity.other.attribute-name.html
1642
+ end: ""
1643
+ patterns:
1644
+ - name: string.quoted.double.html
1645
+ begin: (?<!"|')"
1646
+ end: "\""
1647
+ patterns:
1648
+ - match: (?<="|')selected(?="|')
1649
+ - include: "#values-generic-invalid"
1650
+ - name: string.quoted.single.html
1651
+ begin: (?<!"|')'
1652
+ end: "'"
1653
+ patterns:
1654
+ - match: (?<="|')selected(?="|')
1655
+ - include: "#values-generic-invalid"
1656
+ values-generic-invalid:
1657
+ patterns:
1658
+ - name: invalid.illegal.incorrect-value.html
1659
+ match: (?<="|').*?(?="|')
1660
+ attribute-onfocus:
1661
+ patterns:
1662
+ - name: meta.attribute-with-value.html
1663
+ begin: (onfocus)\s*=\s*(?=(["']).*?["'])
1664
+ applyEndPatternLast: "1"
1665
+ beginCaptures:
1666
+ "1":
1667
+ name: entity.other.attribute-name.html
1668
+ end: ""
1669
+ patterns:
1670
+ - name: string.quoted.double.html
1671
+ begin: "\""
1672
+ contentName: source.js.embedded.html
1673
+ end: "\""
1674
+ - name: string.quoted.single.html
1675
+ begin: "'"
1676
+ contentName: source.js.embedded.html
1677
+ end: "'"
1678
+ tag-group-fontstyle:
1679
+ patterns:
1680
+ - include: "#tag-tt"
1681
+ - include: "#tag-i"
1682
+ - include: "#tag-b"
1683
+ - include: "#tag-big"
1684
+ - include: "#tag-small"
1685
+ tag-blockquote:
1686
+ captures:
1687
+ "1":
1688
+ name: meta.tag.block.blockquote.html
1689
+ "2":
1690
+ name: entity.name.tag.block.blockquote.html
1691
+ begin: (<(blockquote)\b)
1692
+ end: ((blockquote)>)
1693
+ patterns:
1694
+ - endCaptures:
1695
+ "1":
1696
+ name: meta.tag.block.blockquote.html
1697
+ begin: (?<=>)
1698
+ end: (</(?=blockquote))
1699
+ patterns:
1700
+ - include: "#tag-group-block-master"
1701
+ - include: "#no-pcdata"
1702
+ - name: meta.tag.block.blockquote.html
1703
+ begin: ""
1704
+ end: ">"
1705
+ patterns:
1706
+ - include: "#attribute-cite"
1707
+ - include: "#attributes-group-common"
1708
+ - include: "#attributes-illegal_char"
1709
+ attribute-rel:
1710
+ name: meta.attribute-with-value.html
1711
+ begin: (rel)\s*=\s*(?=(["']).*?["'])
1712
+ applyEndPatternLast: "1"
1713
+ beginCaptures:
1714
+ "1":
1715
+ name: entity.other.attribute-name.html
1716
+ end: ""
1717
+ patterns:
1718
+ - include: "#values-generic-valid"
1719
+ attribute-accept-charset:
1720
+ name: meta.attribute-with-value.html
1721
+ begin: (accept-charset)\s*=\s*(?=(["']).*?["'])
1722
+ applyEndPatternLast: "1"
1723
+ beginCaptures:
1724
+ "1":
1725
+ name: entity.other.attribute-name.html
1726
+ end: ""
1727
+ patterns:
1728
+ - include: "#values-generic-valid"
1729
+ attribute-scope:
1730
+ name: meta.attribute-with-value.html
1731
+ begin: (scope)\s*=\s*(?=(["']).*?["'])
1732
+ applyEndPatternLast: "1"
1733
+ beginCaptures:
1734
+ "1":
1735
+ name: entity.other.attribute-name.html
1736
+ end: ""
1737
+ patterns:
1738
+ - name: string.quoted.double.html
1739
+ begin: (?<!"|')"
1740
+ end: "\""
1741
+ patterns:
1742
+ - match: (?<="|')(row|col|rowgroup|colgroup)(?="|')
1743
+ - include: "#values-generic-invalid"
1744
+ - name: string.quoted.single.html
1745
+ begin: (?<!"|')'
1746
+ end: "'"
1747
+ patterns:
1748
+ - match: (?<="|')(row|col|rowgroup|colgroup)(?="|')
1749
+ - include: "#values-generic-invalid"
1750
+ tag-group-flow:
1751
+ patterns:
1752
+ - include: "#tag-group-block"
1753
+ - include: "#tag-group-inline"
1754
+ - include: "#tag-group-misc"
1755
+ - include: "#tag-form"
1756
+ - include: "#pcdata"
1757
+ tag-button:
1758
+ endCaptures:
1759
+ "1":
1760
+ name: meta.tag.form.button.html
1761
+ "4":
1762
+ name: entity.name.tag.form.button.html
1763
+ begin: (<(button)\b)
1764
+ beginCaptures:
1765
+ "1":
1766
+ name: meta.tag.form.button.html
1767
+ "2":
1768
+ name: entity.name.tag.form.button.html
1769
+ end: ((/>)|((button)>))
1770
+ patterns:
1771
+ - endCaptures:
1772
+ "1":
1773
+ name: meta.tag.form.button.html
1774
+ begin: (?<=[^/]>)
1775
+ end: (</(?=button))
1776
+ patterns:
1777
+ - include: "#tag-group-button.content"
1778
+ - name: meta.tag.form.button.html
1779
+ begin: ""
1780
+ end: ((?=/>)|>)
1781
+ patterns:
1782
+ - include: "#attribute-disabled"
1783
+ - include: "#attribute-name"
1784
+ - include: "#attribute-type-button"
1785
+ - include: "#attribute-value"
1786
+ - include: "#attributes-group-common"
1787
+ - include: "#attributes-group-focus"
1788
+ - include: "#attributes-illegal_char"
1789
+ attributes-group-common:
1790
+ patterns:
1791
+ - include: "#attributes-group-core"
1792
+ - include: "#attributes-group-events"
1793
+ - include: "#attributes-group-i18n"
1794
+ tag-dt:
1795
+ captures:
1796
+ "1":
1797
+ name: meta.tag.block.dt.html
1798
+ "2":
1799
+ name: entity.name.tag.block.dt.html
1800
+ begin: (<(dt)\b)
1801
+ end: ((dt)>)
1802
+ patterns:
1803
+ - endCaptures:
1804
+ "1":
1805
+ name: meta.tag.block.dt.html
1806
+ begin: (?<=>)
1807
+ end: (</(?=dt))
1808
+ patterns:
1809
+ - include: "#tag-group-inline-master"
1810
+ - name: meta.tag.block.dt.html
1811
+ begin: ""
1812
+ end: ">"
1813
+ patterns:
1814
+ - include: "#attributes-group-common"
1815
+ - include: "#attributes-illegal_char"
1816
+ tag-colgroup:
1817
+ endCaptures:
1818
+ "1":
1819
+ name: meta.tag.block.colgroup.html
1820
+ "4":
1821
+ name: entity.name.tag.block.colgroup.html
1822
+ begin: (<(colgroup)\b)
1823
+ beginCaptures:
1824
+ "1":
1825
+ name: meta.tag.block.colgroup.html
1826
+ "2":
1827
+ name: entity.name.tag.block.colgroup.html
1828
+ end: ((/>)|((colgroup)>))
1829
+ patterns:
1830
+ - endCaptures:
1831
+ "1":
1832
+ name: meta.tag.block.colgroup.html
1833
+ begin: (?<=[^/]>)
1834
+ end: (</(?=colgroup))
1835
+ patterns:
1836
+ - include: "#tag-col"
1837
+ - include: "#no-pcdata"
1838
+ - name: meta.tag.block.colgroup.html
1839
+ begin: ""
1840
+ end: ((?=/>)|>)
1841
+ patterns:
1842
+ - include: "#attribute-align"
1843
+ - include: "#attribute-char"
1844
+ - include: "#attribute-charoff"
1845
+ - include: "#attribute-span"
1846
+ - include: "#attribute-valign"
1847
+ - include: "#attribute-width-multi"
1848
+ - include: "#attributes-group-common"
1849
+ - include: "#attributes-illegal_char"
1850
+ attribute-tabindex:
1851
+ name: meta.attribute-with-value.html
1852
+ begin: (tabindex)\s*=\s*(?=(["']).*?["'])
1853
+ applyEndPatternLast: "1"
1854
+ beginCaptures:
1855
+ "1":
1856
+ name: entity.other.attribute-name.html
1857
+ end: ""
1858
+ patterns:
1859
+ - name: string.quoted.double.html
1860
+ begin: (?<!"|')"
1861
+ end: "\""
1862
+ patterns:
1863
+ - match: (?<="|')[0-9]+(?="|')
1864
+ - include: "#values-generic-invalid"
1865
+ - name: string.quoted.single.html
1866
+ begin: (?<!"|')'
1867
+ end: "'"
1868
+ patterns:
1869
+ - match: (?<="|')[0-9]+(?="|')
1870
+ - include: "#values-generic-invalid"
1871
+ attributes-group-core:
1872
+ patterns:
1873
+ - include: "#attribute-class"
1874
+ - include: "#attribute-id"
1875
+ - include: "#attribute-title"
1876
+ - include: "#attribute-style"
1877
+ tag-group-block-master:
1878
+ patterns:
1879
+ - include: "#tag-group-block"
1880
+ - include: "#tag-group-misc"
1881
+ - include: "#tag-form"
1882
+ tag-cite:
1883
+ captures:
1884
+ "1":
1885
+ name: meta.tag.inline.cite.html
1886
+ "2":
1887
+ name: entity.name.tag.inline.cite.html
1888
+ begin: (<(cite)\b)
1889
+ end: ((cite)>)
1890
+ patterns:
1891
+ - endCaptures:
1892
+ "1":
1893
+ name: meta.tag.inline.cite.html
1894
+ begin: (?<=>)
1895
+ end: (</(?=cite))
1896
+ patterns:
1897
+ - include: "#tag-group-inline-master"
1898
+ - name: meta.tag.inline.cite.html
1899
+ begin: ""
1900
+ end: ">"
1901
+ patterns:
1902
+ - include: "#attributes-group-common"
1903
+ - include: "#attributes-illegal_char"
1904
+ attribute-onreset:
1905
+ patterns:
1906
+ - name: meta.attribute-with-value.html
1907
+ begin: (onreset)\s*=\s*(?=(["']).*?["'])
1908
+ applyEndPatternLast: "1"
1909
+ beginCaptures:
1910
+ "1":
1911
+ name: entity.other.attribute-name.html
1912
+ end: ""
1913
+ patterns:
1914
+ - name: string.quoted.double.html
1915
+ begin: "\""
1916
+ contentName: source.js.embedded.html
1917
+ end: "\""
1918
+ - name: string.quoted.single.html
1919
+ begin: "'"
1920
+ contentName: source.js.embedded.html
1921
+ end: "'"
1922
+ attribute-xml:lang:
1923
+ name: meta.attribute-with-value.html
1924
+ begin: (xml:lang)\s*=\s*(?=(["']).*?["'])
1925
+ applyEndPatternLast: "1"
1926
+ beginCaptures:
1927
+ "1":
1928
+ name: entity.other.attribute-name.html
1929
+ end: ""
1930
+ patterns:
1931
+ - name: string.quoted.double.html
1932
+ begin: (?<!"|')"
1933
+ end: "\""
1934
+ patterns:
1935
+ - match: "[\\w\\-:]+"
1936
+ - include: "#values-generic-invalid"
1937
+ - name: string.quoted.single.html
1938
+ begin: (?<!"|')'
1939
+ end: "'"
1940
+ patterns:
1941
+ - match: "[\\w\\-:]+"
1942
+ - include: "#values-generic-invalid"
1943
+ comment: "Bug: This may not take into account all possible characters in NMTOKEN."
1944
+ tag-link:
1945
+ endCaptures:
1946
+ "1":
1947
+ name: meta.tag.meta.link.html
1948
+ "2":
1949
+ name: invalid.illegal.terminator.html
1950
+ begin: (<(link)\b)
1951
+ beginCaptures:
1952
+ "1":
1953
+ name: meta.tag.meta.link.html
1954
+ "2":
1955
+ name: entity.name.tag.meta.link.html
1956
+ end: (/>|(>))
1957
+ patterns:
1958
+ - name: meta.tag.meta.link.html
1959
+ begin: ""
1960
+ end: (?=/>|>)
1961
+ patterns:
1962
+ - include: "#attribute-charset"
1963
+ - include: "#attribute-href"
1964
+ - include: "#attribute-hreflang"
1965
+ - include: "#attribute-media"
1966
+ - include: "#attribute-rel"
1967
+ - include: "#attribute-rev"
1968
+ - include: "#attribute-type"
1969
+ - include: "#attributes-group-common"
1970
+ - include: "#attributes-illegal_char"
1971
+ tag-img:
1972
+ endCaptures:
1973
+ "1":
1974
+ name: meta.tag.object.img.html
1975
+ "2":
1976
+ name: invalid.illegal.terminator.html
1977
+ begin: (<(img)\b)
1978
+ beginCaptures:
1979
+ "1":
1980
+ name: meta.tag.object.img.html
1981
+ "2":
1982
+ name: entity.name.tag.object.img.html
1983
+ end: (/>|(>))
1984
+ patterns:
1985
+ - name: meta.tag.object.img.html
1986
+ begin: ""
1987
+ end: (?=/>|>)
1988
+ patterns:
1989
+ - include: "#attribute-alt"
1990
+ - include: "#attribute-height"
1991
+ - include: "#attribute-usemap"
1992
+ - include: "#attribute-ismap"
1993
+ - include: "#attribute-longdesc"
1994
+ - include: "#attribute-src"
1995
+ - include: "#attribute-width"
1996
+ - include: "#attributes-group-common"
1997
+ - include: "#attributes-illegal_char"
1998
+ tag-group-special:
1999
+ patterns:
2000
+ - include: "#tag-group-special.pre"
2001
+ - include: "#tag-object"
2002
+ - include: "#tag-img"
2003
+ - include: "#tag-h4"
2004
+ - include: "#tag-h5"
2005
+ - include: "#tag-h6"
2006
+ tag-group-lists:
2007
+ patterns:
2008
+ - include: "#tag-ul"
2009
+ - include: "#tag-ol"
2010
+ - include: "#tag-dl"
2011
+ attribute-hreflang:
2012
+ name: meta.attribute-with-value.html
2013
+ begin: (hreflang)\s*=\s*(?=(["']).*?["'])
2014
+ applyEndPatternLast: "1"
2015
+ beginCaptures:
2016
+ "1":
2017
+ name: entity.other.attribute-name.html
2018
+ end: ""
2019
+ patterns:
2020
+ - name: string.quoted.double.html
2021
+ begin: (?<!"|')"
2022
+ end: "\""
2023
+ patterns:
2024
+ - match: "[\\w\\-:]+"
2025
+ - include: "#values-generic-invalid"
2026
+ - name: string.quoted.single.html
2027
+ begin: (?<!"|')'
2028
+ end: "'"
2029
+ patterns:
2030
+ - match: "[\\w\\-:]+"
2031
+ - include: "#values-generic-invalid"
2032
+ comment: "Bug: This may not take into account all possible characters in NMTOKEN."
2033
+ attributes-illegal_char:
2034
+ name: invalid.illegal.unrecognized-character.html
2035
+ match: /(?!>)|[^\s/>]
2036
+ attribute-maxlength:
2037
+ name: meta.attribute-with-value.html
2038
+ begin: (maxlength)\s*=\s*(?=(["']).*?["'])
2039
+ applyEndPatternLast: "1"
2040
+ beginCaptures:
2041
+ "1":
2042
+ name: entity.other.attribute-name.html
2043
+ end: ""
2044
+ patterns:
2045
+ - name: string.quoted.double.html
2046
+ begin: (?<!"|')"
2047
+ end: "\""
2048
+ patterns:
2049
+ - match: (?<="|')[0-9]+(?="|')
2050
+ - include: "#values-generic-invalid"
2051
+ - name: string.quoted.single.html
2052
+ begin: (?<!"|')'
2053
+ end: "'"
2054
+ patterns:
2055
+ - match: (?<="|')[0-9]+(?="|')
2056
+ - include: "#values-generic-invalid"
2057
+ attribute-abbr:
2058
+ name: meta.attribute-with-value.html
2059
+ begin: (abbr)\s*=\s*(?=(["']).*?["'])
2060
+ applyEndPatternLast: "1"
2061
+ beginCaptures:
2062
+ "1":
2063
+ name: entity.other.attribute-name.html
2064
+ end: ""
2065
+ patterns:
2066
+ - include: "#values-generic-valid"
2067
+ attribute-method:
2068
+ name: meta.attribute-with-value.html
2069
+ begin: (method)\s*=\s*(?=(["']).*?["'])
2070
+ applyEndPatternLast: "1"
2071
+ beginCaptures:
2072
+ "1":
2073
+ name: entity.other.attribute-name.html
2074
+ end: ""
2075
+ patterns:
2076
+ - name: string.quoted.double.html
2077
+ begin: (?<!"|')"
2078
+ end: "\""
2079
+ patterns:
2080
+ - match: (?<="|')(get|post)(?="|')
2081
+ - include: "#values-generic-invalid"
2082
+ - name: string.quoted.single.html
2083
+ begin: (?<!"|')'
2084
+ end: "'"
2085
+ patterns:
2086
+ - match: (?<="|')(get|post)(?="|')
2087
+ - include: "#values-generic-invalid"
2088
+ tag-group-heading:
2089
+ patterns:
2090
+ - include: "#tag-h1"
2091
+ - include: "#tag-h2"
2092
+ - include: "#tag-h3"
2093
+ - include: "#tag-h4"
2094
+ - include: "#tag-h5"
2095
+ - include: "#tag-h6"
2096
+ tag-dfn:
2097
+ captures:
2098
+ "1":
2099
+ name: meta.tag.inline.dfn.html
2100
+ "2":
2101
+ name: entity.name.tag.inline.dfn.html
2102
+ begin: (<(dfn)\b)
2103
+ end: ((dfn)>)
2104
+ patterns:
2105
+ - endCaptures:
2106
+ "1":
2107
+ name: meta.tag.inline.dfn.html
2108
+ begin: (?<=>)
2109
+ end: (</(?=dfn))
2110
+ patterns:
2111
+ - include: "#tag-group-inline-master"
2112
+ - name: meta.tag.inline.dfn.html
2113
+ begin: ""
2114
+ end: ">"
2115
+ patterns:
2116
+ - include: "#attributes-group-common"
2117
+ - include: "#attributes-illegal_char"
2118
+ attribute-type-button:
2119
+ name: meta.attribute-with-value.html
2120
+ begin: (type)\s*=\s*(?=(["']).*?["'])
2121
+ applyEndPatternLast: "1"
2122
+ beginCaptures:
2123
+ "1":
2124
+ name: entity.other.attribute-name.html
2125
+ end: ""
2126
+ patterns:
2127
+ - name: string.quoted.double.html
2128
+ begin: (?<!"|')"
2129
+ end: "\""
2130
+ patterns:
2131
+ - match: (?<="|')(button|submit|reset)(?="|')
2132
+ - include: "#values-generic-invalid"
2133
+ - name: string.quoted.single.html
2134
+ begin: (?<!"|')'
2135
+ end: "'"
2136
+ patterns:
2137
+ - match: (?<="|')(button|submit|reset)(?="|')
2138
+ - include: "#values-generic-invalid"
2139
+ attribute-classid:
2140
+ name: meta.attribute-with-value.html
2141
+ begin: (classid)\s*=\s*(?=(["']).*?["'])
2142
+ applyEndPatternLast: "1"
2143
+ beginCaptures:
2144
+ "1":
2145
+ name: entity.other.attribute-name.html
2146
+ end: ""
2147
+ patterns:
2148
+ - include: "#values-generic-valid"
2149
+ attribute-charset:
2150
+ name: meta.attribute-with-value.html
2151
+ begin: (charset)\s*=\s*(?=(["']).*?["'])
2152
+ applyEndPatternLast: "1"
2153
+ beginCaptures:
2154
+ "1":
2155
+ name: entity.other.attribute-name.html
2156
+ end: ""
2157
+ patterns:
2158
+ - include: "#values-generic-valid"
2159
+ attribute-rules:
2160
+ name: meta.attribute-with-value.html
2161
+ begin: (rules)\s*=\s*(?=(["']).*?["'])
2162
+ applyEndPatternLast: "1"
2163
+ beginCaptures:
2164
+ "1":
2165
+ name: entity.other.attribute-name.html
2166
+ end: ""
2167
+ patterns:
2168
+ - name: string.quoted.double.html
2169
+ begin: (?<!"|')"
2170
+ end: "\""
2171
+ patterns:
2172
+ - match: (?<="|')(none|groups|rows|cols|all)(?="|')
2173
+ - include: "#values-generic-invalid"
2174
+ - name: string.quoted.single.html
2175
+ begin: (?<!"|')'
2176
+ end: "'"
2177
+ patterns:
2178
+ - match: (?<="|')(none|groups|rows|cols|all)(?="|')
2179
+ - include: "#values-generic-invalid"
2180
+ tag-noscript:
2181
+ captures:
2182
+ "1":
2183
+ name: meta.tag.block.noscript.html
2184
+ "2":
2185
+ name: entity.name.tag.block.noscript.html
2186
+ begin: (<(noscript)\b)
2187
+ end: ((noscript)>)
2188
+ patterns:
2189
+ - endCaptures:
2190
+ "1":
2191
+ name: meta.tag.block.noscript.html
2192
+ begin: (?<=>)
2193
+ end: (</(?=noscript))
2194
+ patterns:
2195
+ - include: "#tag-group-block-master"
2196
+ - include: "#no-pcdata"
2197
+ - name: meta.tag.block.noscript.html
2198
+ begin: ""
2199
+ end: ">"
2200
+ patterns:
2201
+ - include: "#attributes-group-common"
2202
+ - include: "#attributes-illegal_char"
2203
+ tag-label:
2204
+ captures:
2205
+ "1":
2206
+ name: meta.tag.inline.label.html
2207
+ "2":
2208
+ name: entity.name.tag.inline.label.html
2209
+ begin: (<(label)\b)
2210
+ end: ((label)>)
2211
+ patterns:
2212
+ - endCaptures:
2213
+ "1":
2214
+ name: meta.tag.inline.label.html
2215
+ begin: (?<=>)
2216
+ end: (</(?=label))
2217
+ patterns:
2218
+ - include: "#tag-group-inline-master"
2219
+ - name: meta.tag.inline.label.html
2220
+ begin: ""
2221
+ end: ">"
2222
+ patterns:
2223
+ - include: "#attribute-accesskey"
2224
+ - include: "#attribute-for"
2225
+ - include: "#attribute-onblur"
2226
+ - include: "#attribute-onfocus"
2227
+ - include: "#attributes-group-common"
2228
+ - include: "#attributes-illegal_char"
2229
+ attribute-label:
2230
+ name: meta.attribute-with-value.html
2231
+ begin: (label)\s*=\s*(?=(["']).*?["'])
2232
+ applyEndPatternLast: "1"
2233
+ beginCaptures:
2234
+ "1":
2235
+ name: entity.other.attribute-name.html
2236
+ end: ""
2237
+ patterns:
2238
+ - include: "#values-generic-valid"
2239
+ attribute-summary:
2240
+ name: meta.attribute-with-value.html
2241
+ begin: (summary)\s*=\s*(?=(["']).*?["'])
2242
+ applyEndPatternLast: "1"
2243
+ beginCaptures:
2244
+ "1":
2245
+ name: entity.other.attribute-name.html
2246
+ end: ""
2247
+ patterns:
2248
+ - include: "#values-generic-valid"
2249
+ attribute-for:
2250
+ name: meta.attribute-with-value.html
2251
+ begin: (for)\s*=\s*(?=(["']).*?["'])
2252
+ applyEndPatternLast: "1"
2253
+ beginCaptures:
2254
+ "1":
2255
+ name: entity.other.attribute-name.html
2256
+ end: ""
2257
+ patterns:
2258
+ - include: "#values-generic-valid"
2259
+ attributes-group-events:
2260
+ patterns:
2261
+ - name: meta.attribute-with-value.html
2262
+ begin: (onclick|ondblclick|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup)\s*=\s*(?=(["']).*?["'])
2263
+ applyEndPatternLast: "1"
2264
+ beginCaptures:
2265
+ "1":
2266
+ name: entity.other.attribute-name.html
2267
+ end: ""
2268
+ patterns:
2269
+ - name: string.quoted.double.html
2270
+ begin: (?<!"|')"
2271
+ contentName: source.js.embedded.html
2272
+ end: "\""
2273
+ - name: string.quoted.single.html
2274
+ begin: (?<!"|')'
2275
+ contentName: source.js.embedded.html
2276
+ end: "'"
2277
+ tag-sub:
2278
+ captures:
2279
+ "1":
2280
+ name: meta.tag.inline.sub.html
2281
+ "2":
2282
+ name: entity.name.tag.inline.sub.html
2283
+ begin: (<(sub)\b)
2284
+ end: ((sub)>)
2285
+ patterns:
2286
+ - endCaptures:
2287
+ "1":
2288
+ name: meta.tag.inline.sub.html
2289
+ begin: (?<=>)
2290
+ end: (</(?=sub))
2291
+ patterns:
2292
+ - include: "#tag-group-inline-master"
2293
+ - name: meta.tag.inline.sub.html
2294
+ begin: ""
2295
+ end: ">"
2296
+ patterns:
2297
+ - include: "#attributes-group-common"
2298
+ - include: "#attributes-illegal_char"
2299
+ tag-em:
2300
+ captures:
2301
+ "1":
2302
+ name: meta.tag.inline.em.html
2303
+ "2":
2304
+ name: entity.name.tag.inline.em.html
2305
+ begin: (<(em)\b)
2306
+ end: ((em)>)
2307
+ patterns:
2308
+ - endCaptures:
2309
+ "1":
2310
+ name: meta.tag.inline.em.html
2311
+ begin: (?<=>)
2312
+ end: (</(?=em))
2313
+ patterns:
2314
+ - include: "#tag-group-inline-master"
2315
+ - name: meta.tag.inline.em.html
2316
+ begin: ""
2317
+ end: ">"
2318
+ patterns:
2319
+ - include: "#attributes-group-common"
2320
+ - include: "#attributes-illegal_char"
2321
+ attribute-onchange:
2322
+ patterns:
2323
+ - name: meta.attribute-with-value.html
2324
+ begin: (onchange)\s*=\s*(?=(["']).*?["'])
2325
+ applyEndPatternLast: "1"
2326
+ beginCaptures:
2327
+ "1":
2328
+ name: entity.other.attribute-name.html
2329
+ end: ""
2330
+ patterns:
2331
+ - name: string.quoted.double.html
2332
+ begin: "\""
2333
+ contentName: source.js.embedded.html
2334
+ end: "\""
2335
+ - name: string.quoted.single.html
2336
+ begin: "'"
2337
+ contentName: source.js.embedded.html
2338
+ end: "'"
2339
+ attribute-align:
2340
+ name: meta.attribute-with-value.html
2341
+ begin: (align)\s*=\s*(?=(["']).*?["'])
2342
+ applyEndPatternLast: "1"
2343
+ beginCaptures:
2344
+ "1":
2345
+ name: entity.other.attribute-name.html
2346
+ end: ""
2347
+ patterns:
2348
+ - name: string.quoted.double.html
2349
+ begin: (?<!"|')"
2350
+ end: "\""
2351
+ patterns:
2352
+ - match: (?<="|')(left|center|right|justify|char)(?="|')
2353
+ - include: "#values-generic-invalid"
2354
+ - name: string.quoted.single.html
2355
+ begin: (?<!"|')'
2356
+ end: "'"
2357
+ patterns:
2358
+ - match: (?<="|')(left|center|right|justify|char)(?="|')
2359
+ - include: "#values-generic-invalid"
2360
+ tag-td:
2361
+ endCaptures:
2362
+ "1":
2363
+ name: meta.tag.block.td.html
2364
+ "4":
2365
+ name: entity.name.tag.block.td.html
2366
+ begin: (<(td)\b)
2367
+ beginCaptures:
2368
+ "1":
2369
+ name: meta.tag.block.td.html
2370
+ "2":
2371
+ name: entity.name.tag.block.td.html
2372
+ end: ((/>)|((td)>))
2373
+ patterns:
2374
+ - endCaptures:
2375
+ "1":
2376
+ name: meta.tag.block.td.html
2377
+ begin: (?<=[^/]>)
2378
+ end: (</(?=td))
2379
+ patterns:
2380
+ - include: "#tag-group-flow"
2381
+ - name: meta.tag.block.td.html
2382
+ begin: ""
2383
+ end: ((?=/>)|>)
2384
+ patterns:
2385
+ - include: "#attribute-abbr"
2386
+ - include: "#attribute-align"
2387
+ - include: "#attribute-axis"
2388
+ - include: "#attribute-char"
2389
+ - include: "#attribute-charoff"
2390
+ - include: "#attribute-colspan"
2391
+ - include: "#attribute-headers"
2392
+ - include: "#attribute-rowspan"
2393
+ - include: "#attribute-scope"
2394
+ - include: "#attribute-valign"
2395
+ - include: "#attributes-group-common"
2396
+ - include: "#attributes-illegal_char"
2397
+ attribute-id:
2398
+ name: meta.attribute-with-value.html
2399
+ begin: (id)\s*=\s*(?=(["']).*?["'])
2400
+ applyEndPatternLast: "1"
2401
+ beginCaptures:
2402
+ "1":
2403
+ name: entity.other.attribute-name.html
2404
+ end: ""
2405
+ patterns:
2406
+ - name: string.quoted.double.html
2407
+ begin: (?<!"|')"
2408
+ end: "\""
2409
+ patterns:
2410
+ - match: (?<="|')[a-zA-Z][a-zA-Z0-9\-_:.]*(?="|')
2411
+ - include: "#values-generic-invalid"
2412
+ - name: string.quoted.single.html
2413
+ begin: (?<!"|')'
2414
+ end: "'"
2415
+ patterns:
2416
+ - match: (?<="|')[a-zA-Z][a-zA-Z0-9\-_:.]*(?="|')
2417
+ - include: "#values-generic-invalid"
2418
+ attribute-declare:
2419
+ name: meta.attribute-with-value.html
2420
+ begin: (declare)\s*=\s*(?=(["']).*?["'])
2421
+ applyEndPatternLast: "1"
2422
+ beginCaptures:
2423
+ "1":
2424
+ name: entity.other.attribute-name.html
2425
+ end: ""
2426
+ patterns:
2427
+ - name: string.quoted.double.html
2428
+ begin: (?<!"|')"
2429
+ end: "\""
2430
+ patterns:
2431
+ - match: (?<="|')declare(?="|')
2432
+ - include: "#values-generic-invalid"
2433
+ - name: string.quoted.single.html
2434
+ begin: (?<!"|')'
2435
+ end: "'"
2436
+ patterns:
2437
+ - match: (?<="|')declare(?="|')
2438
+ - include: "#values-generic-invalid"
2439
+ tag-var:
2440
+ captures:
2441
+ "1":
2442
+ name: meta.tag.inline.var.html
2443
+ "2":
2444
+ name: entity.name.tag.inline.var.html
2445
+ begin: (<(var)\b)
2446
+ end: ((var)>)
2447
+ patterns:
2448
+ - endCaptures:
2449
+ "1":
2450
+ name: meta.tag.inline.var.html
2451
+ begin: (?<=>)
2452
+ end: (</(?=var))
2453
+ patterns:
2454
+ - include: "#tag-group-inline-master"
2455
+ - name: meta.tag.inline.var.html
2456
+ begin: ""
2457
+ end: ">"
2458
+ patterns:
2459
+ - include: "#attributes-group-common"
2460
+ - include: "#attributes-illegal_char"
2461
+ tag-span:
2462
+ captures:
2463
+ "1":
2464
+ name: meta.tag.inline.span.html
2465
+ "2":
2466
+ name: entity.name.tag.inline.span.html
2467
+ begin: (<(span)\b)
2468
+ end: ((span)>)
2469
+ patterns:
2470
+ - endCaptures:
2471
+ "1":
2472
+ name: meta.tag.inline.span.html
2473
+ begin: (?<=>)
2474
+ end: (</(?=span))
2475
+ patterns:
2476
+ - include: "#tag-group-inline-master"
2477
+ - name: meta.tag.inline.span.html
2478
+ begin: ""
2479
+ end: ">"
2480
+ patterns:
2481
+ - include: "#attributes-group-common"
2482
+ - include: "#attributes-illegal_char"
2483
+ tag-kbd:
2484
+ captures:
2485
+ "1":
2486
+ name: meta.tag.inline.kbd.html
2487
+ "2":
2488
+ name: entity.name.tag.inline.kbd.html
2489
+ begin: (<(kbd)\b)
2490
+ end: ((kbd)>)
2491
+ patterns:
2492
+ - endCaptures:
2493
+ "1":
2494
+ name: meta.tag.inline.kbd.html
2495
+ begin: (?<=>)
2496
+ end: (</(?=kbd))
2497
+ patterns:
2498
+ - include: "#tag-group-inline-master"
2499
+ - name: meta.tag.inline.kbd.html
2500
+ begin: ""
2501
+ end: ">"
2502
+ patterns:
2503
+ - include: "#attributes-group-common"
2504
+ - include: "#attributes-illegal_char"
2505
+ tag-iframe:
2506
+ captures:
2507
+ "1":
2508
+ name: meta.tag.block.iframe.html
2509
+ "2":
2510
+ name: entity.name.tag.block.iframe.html
2511
+ begin: (<(iframe)\b)
2512
+ end: ((iframe)>)
2513
+ patterns:
2514
+ - endCaptures:
2515
+ "1":
2516
+ name: meta.tag.block.iframe.html
2517
+ begin: (?<=>)
2518
+ end: (</(?=iframe))
2519
+ patterns:
2520
+ - include: "#tag-group-flow"
2521
+ - include: "#sgml-declarations"
2522
+ - include: "#entities"
2523
+ - name: meta.tag.block.iframe.html
2524
+ begin: ""
2525
+ end: ">"
2526
+ patterns:
2527
+ - include: "#attribute-frameborder"
2528
+ - include: "#attribute-height"
2529
+ - include: "#attribute-longdesc"
2530
+ - include: "#attribute-marginheight"
2531
+ - include: "#attribute-marginwidth"
2532
+ - include: "#attribute-scrolling"
2533
+ - include: "#attribute-src"
2534
+ - include: "#attribute-width"
2535
+ - include: "#attributes-group-core"
2536
+ - include: "#attributes-illegal_char"
2537
+ tag-caption:
2538
+ captures:
2539
+ "1":
2540
+ name: meta.tag.block.caption.html
2541
+ "2":
2542
+ name: entity.name.tag.block.caption.html
2543
+ begin: (<(caption)\b)
2544
+ end: ((caption)>)
2545
+ patterns:
2546
+ - endCaptures:
2547
+ "1":
2548
+ name: meta.tag.block.caption.html
2549
+ "2":
2550
+ name: entity.name.tag.block.caption.html
2551
+ begin: (?<=>)
2552
+ end: (</(?=caption))
2553
+ patterns:
2554
+ - include: "#tag-group-inline-master"
2555
+ - name: meta.tag.block.caption.html
2556
+ begin: ""
2557
+ end: ">"
2558
+ patterns:
2559
+ - include: "#attributes-group-common"
2560
+ - include: "#attributes-illegal_char"
2561
+ attribute-datetime:
2562
+ name: meta.attribute-with-value.html
2563
+ begin: (datetime)\s*=\s*(?=(["']).*?["'])
2564
+ applyEndPatternLast: "1"
2565
+ beginCaptures:
2566
+ "1":
2567
+ name: entity.other.attribute-name.html
2568
+ end: ""
2569
+ patterns:
2570
+ - name: string.quoted.double.html
2571
+ begin: (?<!"|')"
2572
+ end: "\""
2573
+ patterns:
2574
+ - match: (?<="|')([0-9]{4}-(0[1-9]|1[012])-((?!00|3[2-9])[0-3][0-9])T((?!2[4-9])[0-2][0-9]):[0-5][0-9]:[0-5][0-9](Z|[-+]((?!2[4-9])[0-2][0-9]):[0-5][0-9]))(?="|')
2575
+ - include: "#values-generic-invalid"
2576
+ - name: string.quoted.single.html
2577
+ begin: (?<!"|')'
2578
+ end: "'"
2579
+ patterns:
2580
+ - match: (?<="|')([0-9]{4}-(0[1-9]|1[012])-((?!00|3[2-9])[0-3][0-9])T((?!2[4-9])[0-2][0-9]):[0-5][0-9]:[0-5][0-9](Z|[-+]((?!2[4-9])[0-2][0-9]):[0-5][0-9]))(?="|')
2581
+ - include: "#values-generic-invalid"
2582
+ tag-optgroup:
2583
+ captures:
2584
+ "1":
2585
+ name: meta.tag.block.optgroup.html
2586
+ "2":
2587
+ name: entity.name.tag.block.optgroup.html
2588
+ begin: (<(optgroup)\b)
2589
+ end: ((optgroup)>)
2590
+ patterns:
2591
+ - endCaptures:
2592
+ "1":
2593
+ name: meta.tag.block.optgroup.html
2594
+ begin: (?<=>)
2595
+ end: (</(?=optgroup))
2596
+ patterns:
2597
+ - include: "#tag-option"
2598
+ - include: "#no-pcdata"
2599
+ - name: meta.tag.block.optgroup.html
2600
+ begin: ""
2601
+ end: ">"
2602
+ patterns:
2603
+ - include: "#attribute-disabled"
2604
+ - include: "#attribute-label"
2605
+ - include: "#attributes-group-common"
2606
+ - include: "#attributes-illegal_char"
2607
+ tag-group-pre.content:
2608
+ patterns:
2609
+ - include: "#tag-a"
2610
+ - include: "#tag-group-fontstyle"
2611
+ - include: "#tag-group-phrase"
2612
+ - include: "#tag-group-special.pre"
2613
+ - include: "#tag-group-misc.inline"
2614
+ - include: "#tag-group-inline.forms"
2615
+ - include: "#pcdata"
2616
+ tag-group-misc:
2617
+ patterns:
2618
+ - include: "#tag-group-misc.inline"
2619
+ - include: "#tag-noscript"
2620
+ attribute-rev:
2621
+ name: meta.attribute-with-value.html
2622
+ begin: (rev)\s*=\s*(?=(["']).*?["'])
2623
+ applyEndPatternLast: "1"
2624
+ beginCaptures:
2625
+ "1":
2626
+ name: entity.other.attribute-name.html
2627
+ end: ""
2628
+ patterns:
2629
+ - include: "#values-generic-valid"
2630
+ tag-group-a.content:
2631
+ patterns:
2632
+ - include: "#tag-group-special"
2633
+ - include: "#tag-group-fontstyle"
2634
+ - include: "#tag-group-phrase"
2635
+ - include: "#tag-group-inline.forms"
2636
+ - include: "#tag-group-misc.inline"
2637
+ - include: "#pcdata"
2638
+ tag-br:
2639
+ endCaptures:
2640
+ "1":
2641
+ name: meta.tag.block.br.html
2642
+ "2":
2643
+ name: invalid.illegal.terminator.html
2644
+ begin: (<(br)\b)
2645
+ beginCaptures:
2646
+ "1":
2647
+ name: meta.tag.block.br.html
2648
+ "2":
2649
+ name: entity.name.tag.block.br.html
2650
+ end: (/>|(>))
2651
+ patterns:
2652
+ - name: meta.tag.block.br.html
2653
+ begin: ""
2654
+ end: (?=/>|>)
2655
+ patterns:
2656
+ - include: "#attributes-group-core"
2657
+ - include: "#attributes-illegal_char"
2658
+ attribute-readonly:
2659
+ name: meta.attribute-with-value.html
2660
+ begin: (readonly)\s*=\s*(?=(["']).*?["'])
2661
+ applyEndPatternLast: "1"
2662
+ beginCaptures:
2663
+ "1":
2664
+ name: entity.other.attribute-name.html
2665
+ end: ""
2666
+ patterns:
2667
+ - name: string.quoted.double.html
2668
+ begin: (?<!"|')"
2669
+ end: "\""
2670
+ patterns:
2671
+ - match: (?<="|')readonly(?="|')
2672
+ - include: "#values-generic-invalid"
2673
+ - name: string.quoted.single.html
2674
+ begin: (?<!"|')'
2675
+ end: "'"
2676
+ patterns:
2677
+ - match: (?<="|')readonly(?="|')
2678
+ - include: "#values-generic-invalid"
2679
+ tag-th:
2680
+ endCaptures:
2681
+ "1":
2682
+ name: meta.tag.block.th.html
2683
+ "4":
2684
+ name: entity.name.tag.block.th.html
2685
+ begin: (<(th)\b)
2686
+ beginCaptures:
2687
+ "1":
2688
+ name: meta.tag.block.th.html
2689
+ "2":
2690
+ name: entity.name.tag.block.th.html
2691
+ end: ((/>)|((th)>))
2692
+ patterns:
2693
+ - endCaptures:
2694
+ "1":
2695
+ name: meta.tag.block.th.html
2696
+ begin: (?<=[^/]>)
2697
+ end: (</(?=th))
2698
+ patterns:
2699
+ - include: "#tag-group-flow"
2700
+ - name: meta.tag.block.th.html
2701
+ begin: ""
2702
+ end: ((?=/>)|>)
2703
+ patterns:
2704
+ - include: "#attribute-abbr"
2705
+ - include: "#attribute-align"
2706
+ - include: "#attribute-axis"
2707
+ - include: "#attribute-char"
2708
+ - include: "#attribute-charoff"
2709
+ - include: "#attribute-colspan"
2710
+ - include: "#attribute-headers"
2711
+ - include: "#attribute-rowspan"
2712
+ - include: "#attribute-scope"
2713
+ - include: "#attribute-valign"
2714
+ - include: "#attributes-group-common"
2715
+ - include: "#attributes-illegal_char"
2716
+ tag-select:
2717
+ captures:
2718
+ "1":
2719
+ name: meta.tag.form.select.html
2720
+ "2":
2721
+ name: entity.name.tag.form.select.html
2722
+ begin: (<(select)\b)
2723
+ end: ((select)>)
2724
+ patterns:
2725
+ - endCaptures:
2726
+ "1":
2727
+ name: meta.tag.form.select.html
2728
+ begin: (?<=>)
2729
+ end: (</(?=select))
2730
+ patterns:
2731
+ - include: "#tag-optgroup"
2732
+ - include: "#tag-option"
2733
+ - include: "#no-pcdata"
2734
+ - name: meta.tag.form.select.html
2735
+ begin: ""
2736
+ end: ">"
2737
+ patterns:
2738
+ - include: "#attribute-disabled"
2739
+ - include: "#attribute-multiple"
2740
+ - include: "#attribute-name"
2741
+ - include: "#attribute-onblur"
2742
+ - include: "#attribute-onfocus"
2743
+ - include: "#attribute-onchange"
2744
+ - include: "#attribute-size"
2745
+ - include: "#attribute-tabindex"
2746
+ - include: "#attributes-group-common"
2747
+ - include: "#attributes-illegal_char"
2748
+ tag-map:
2749
+ captures:
2750
+ "1":
2751
+ name: meta.tag.block.map.html
2752
+ "2":
2753
+ name: entity.name.tag.block.map.html
2754
+ begin: (<(map)\b)
2755
+ end: ((map)>)
2756
+ patterns:
2757
+ - endCaptures:
2758
+ "1":
2759
+ name: meta.tag.block.map.html
2760
+ begin: (?<=>)
2761
+ end: (</(?=map))
2762
+ patterns:
2763
+ - include: "#stray-char"
2764
+ - include: "#sgml-declarations"
2765
+ - begin: (?=<area)
2766
+ end: (?=</map)
2767
+ patterns:
2768
+ - include: "#tag-area"
2769
+ - include: "#no-pcdata"
2770
+ - begin: (?=<(?!/?(map|area)))
2771
+ end: (?=</map)
2772
+ patterns:
2773
+ - include: "#tag-group-misc"
2774
+ - include: "#tag-group-block"
2775
+ - include: "#tag-form"
2776
+ - include: "#no-pcdata"
2777
+ - name: meta.tag.block.map.html
2778
+ begin: ""
2779
+ end: ">"
2780
+ patterns:
2781
+ - include: "#attribute-class"
2782
+ - include: "#attribute-id"
2783
+ - include: "#attribute-style"
2784
+ - include: "#attribute-name"
2785
+ - include: "#attribute-title"
2786
+ - include: "#attributes-group-events"
2787
+ - include: "#attributes-group-i18n"
2788
+ - include: "#attributes-illegal_char"
2789
+ tag-head:
2790
+ name: meta.section.html.head.xhtml.1-strict
2791
+ captures:
2792
+ "1":
2793
+ name: meta.tag.segment.head.html
2794
+ "2":
2795
+ name: entity.name.tag.segment.head.html
2796
+ begin: (<(head)\b)
2797
+ end: ((head)>)
2798
+ patterns:
2799
+ - endCaptures:
2800
+ "1":
2801
+ name: meta.tag.segment.head.html
2802
+ begin: (?<=>)
2803
+ end: (</(?=head))
2804
+ patterns:
2805
+ - include: "#tag-title"
2806
+ - include: "#tag-base"
2807
+ - include: "#tag-meta"
2808
+ - include: "#tag-link"
2809
+ - include: "#tag-object"
2810
+ - include: "#tag-script"
2811
+ - include: "#tag-style"
2812
+ - include: "#no-pcdata"
2813
+ - name: meta.tag.segment.head.html
2814
+ begin: ""
2815
+ end: ">"
2816
+ patterns:
2817
+ - include: "#attribute-id"
2818
+ - include: "#attribute-profile"
2819
+ - include: "#attributes-group-i18n"
2820
+ - include: "#attributes-illegal_char"
2821
+ tag-group-blocktext:
2822
+ patterns:
2823
+ - include: "#tag-pre"
2824
+ - include: "#tag-hr"
2825
+ - include: "#tag-blockquote"
2826
+ - include: "#tag-address"
2827
+ attribute-frameborder:
2828
+ name: meta.attribute-with-value.html
2829
+ begin: (frameborder)\s*=\s*(?=(["']).*?["'])
2830
+ applyEndPatternLast: "1"
2831
+ beginCaptures:
2832
+ "1":
2833
+ name: entity.other.attribute-name.html
2834
+ end: ""
2835
+ patterns:
2836
+ - name: string.quoted.double.html
2837
+ begin: (?<!"|')"
2838
+ end: "\""
2839
+ patterns:
2840
+ - match: (?<="|')[01](?="|')
2841
+ - include: "#values-generic-invalid"
2842
+ - name: string.quoted.single.html
2843
+ begin: (?<!"|')'
2844
+ end: "'"
2845
+ patterns:
2846
+ - match: (?<="|')[01](?="|')
2847
+ - include: "#values-generic-invalid"
2848
+ attribute-codetype:
2849
+ name: meta.attribute-with-value.html
2850
+ begin: (codetype)\s*=\s*(?=(["']).*?["'])
2851
+ applyEndPatternLast: "1"
2852
+ beginCaptures:
2853
+ "1":
2854
+ name: entity.other.attribute-name.html
2855
+ end: ""
2856
+ patterns:
2857
+ - include: "#values-generic-valid"
2858
+ attribute-href:
2859
+ name: meta.attribute-with-value.html
2860
+ begin: (href)\s*=\s*(?=(["']).*?["'])
2861
+ applyEndPatternLast: "1"
2862
+ beginCaptures:
2863
+ "1":
2864
+ name: entity.other.attribute-name.html
2865
+ end: ""
2866
+ patterns:
2867
+ - include: "#values-generic-valid"
2868
+ attribute-lang:
2869
+ name: meta.attribute-with-value.html
2870
+ begin: (lang)\s*=\s*(?=(["']).*?["'])
2871
+ applyEndPatternLast: "1"
2872
+ beginCaptures:
2873
+ "1":
2874
+ name: entity.other.attribute-name.html
2875
+ end: ""
2876
+ patterns:
2877
+ - name: string.quoted.double.html
2878
+ begin: (?<!"|')"
2879
+ end: "\""
2880
+ patterns:
2881
+ - match: "[\\w\\-:]+"
2882
+ - include: "#values-generic-invalid"
2883
+ - name: string.quoted.single.html
2884
+ begin: (?<!"|')'
2885
+ end: "'"
2886
+ patterns:
2887
+ - match: "[\\w\\-:]+"
2888
+ - include: "#values-generic-invalid"
2889
+ comment: "Bug: This may not take into account all possible characters in NMTOKEN."
2890
+ attribute-shape:
2891
+ name: meta.attribute-with-value.html
2892
+ begin: (shape)\s*=\s*(?=(["']).*?["'])
2893
+ applyEndPatternLast: "1"
2894
+ beginCaptures:
2895
+ "1":
2896
+ name: entity.other.attribute-name.html
2897
+ end: ""
2898
+ patterns:
2899
+ - name: string.quoted.double.html
2900
+ begin: (?<!"|')"
2901
+ end: "\""
2902
+ patterns:
2903
+ - match: (?<="|')(rect|circle|poly|default)(?="|')
2904
+ - include: "#values-generic-invalid"
2905
+ - name: string.quoted.single.html
2906
+ begin: (?<!"|')'
2907
+ end: "'"
2908
+ patterns:
2909
+ - match: (?<="|')(rect|circle|poly|default)(?="|')
2910
+ - include: "#values-generic-invalid"
2911
+ attribute-scrolling:
2912
+ name: meta.attribute-with-value.html
2913
+ begin: (scrolling)\s*=\s*(?=(["']).*?["'])
2914
+ applyEndPatternLast: "1"
2915
+ beginCaptures:
2916
+ "1":
2917
+ name: entity.other.attribute-name.html
2918
+ end: ""
2919
+ patterns:
2920
+ - name: string.quoted.double.html
2921
+ begin: (?<!"|')"
2922
+ end: "\""
2923
+ patterns:
2924
+ - match: (?<="|')(yes|no|auto)(?="|')
2925
+ - include: "#values-generic-invalid"
2926
+ - name: string.quoted.single.html
2927
+ begin: (?<!"|')'
2928
+ end: "'"
2929
+ patterns:
2930
+ - match: (?<="|')(yes|no|auto)(?="|')
2931
+ - include: "#values-generic-invalid"
2932
+ values-generic-valid:
2933
+ patterns:
2934
+ - name: string.quoted.double.html
2935
+ begin: (?<!"|')"
2936
+ end: "\""
2937
+ patterns:
2938
+ - include: "#entities"
2939
+ - name: string.quoted.single.html
2940
+ begin: (?<!"|')'
2941
+ end: "'"
2942
+ patterns:
2943
+ - include: "#entities"
2944
+ tag-tfoot:
2945
+ captures:
2946
+ "1":
2947
+ name: meta.tag.block.tfoot.html
2948
+ "2":
2949
+ name: entity.name.tag.block.tfoot.html
2950
+ begin: (<(tfoot)\b)
2951
+ end: ((tfoot)>)
2952
+ patterns:
2953
+ - endCaptures:
2954
+ "1":
2955
+ name: meta.tag.block.tfoot.html
2956
+ begin: (?<=>)
2957
+ end: (</(?=tfoot))
2958
+ patterns:
2959
+ - include: "#tag-tr"
2960
+ - include: "#no-pcdata"
2961
+ - name: meta.tag.block.tfoot.html
2962
+ begin: ""
2963
+ end: ">"
2964
+ patterns:
2965
+ - include: "#attribute-align"
2966
+ - include: "#attribute-char"
2967
+ - include: "#attribute-charoff"
2968
+ - include: "#attribute-valign"
2969
+ - include: "#attributes-group-common"
2970
+ - include: "#attributes-illegal_char"
2971
+ attribute-xml:space:
2972
+ name: meta.attribute-with-value.html
2973
+ begin: (xml:space)\s*=\s*(?=(["']).*?["'])
2974
+ applyEndPatternLast: "1"
2975
+ beginCaptures:
2976
+ "1":
2977
+ name: entity.other.attribute-name.html
2978
+ end: ""
2979
+ patterns:
2980
+ - name: string.quoted.double.html
2981
+ begin: (?<!"|')"
2982
+ end: "\""
2983
+ patterns:
2984
+ - match: (?<="|')preserve(?="|')
2985
+ - include: "#values-generic-invalid"
2986
+ - name: string.quoted.single.html
2987
+ begin: (?<!"|')'
2988
+ end: "'"
2989
+ patterns:
2990
+ - match: (?<="|')preserve(?="|')
2991
+ - include: "#values-generic-invalid"
2992
+ tag-hr:
2993
+ endCaptures:
2994
+ "1":
2995
+ name: meta.tag.block.hr.html
2996
+ "2":
2997
+ name: invalid.illegal.terminator.html
2998
+ begin: (<(hr)\b)
2999
+ beginCaptures:
3000
+ "1":
3001
+ name: meta.tag.block.hr.html
3002
+ "2":
3003
+ name: entity.name.tag.block.hr.html
3004
+ end: (/>|(>))
3005
+ patterns:
3006
+ - name: meta.tag.block.hr.html
3007
+ begin: ""
3008
+ end: (?=/>|>)
3009
+ patterns:
3010
+ - include: "#attributes-group-common"
3011
+ - include: "#attributes-illegal_char"
3012
+ tag-group-misc.inline:
3013
+ patterns:
3014
+ - include: "#tag-ins"
3015
+ - include: "#tag-del"
3016
+ - include: "#tag-script"
3017
+ tag-group-inline:
3018
+ patterns:
3019
+ - include: "#tag-a"
3020
+ - include: "#tag-group-special"
3021
+ - include: "#tag-group-fontstyle"
3022
+ - include: "#tag-group-phrase"
3023
+ - include: "#tag-group-inline.forms"
3024
+ tag-bdo:
3025
+ captures:
3026
+ "1":
3027
+ name: meta.tag.block.bdo.html
3028
+ "2":
3029
+ name: entity.name.tag.block.bdo.html
3030
+ begin: (<(bdo)\b)
3031
+ end: ((bdo)>)
3032
+ patterns:
3033
+ - endCaptures:
3034
+ "1":
3035
+ name: meta.tag.block.bdo.html
3036
+ begin: (?<=>)
3037
+ end: (</(?=bdo))
3038
+ patterns:
3039
+ - include: "#tag-group-inline-master"
3040
+ - name: meta.tag.block.bdo.html
3041
+ begin: ""
3042
+ end: ">"
3043
+ patterns:
3044
+ - include: "#attribute-dir"
3045
+ - include: "#attributes-group-core"
3046
+ - include: "#attributes-group-events"
3047
+ - include: "#attributes-group-i18n"
3048
+ - include: "#attributes-illegal_char"
3049
+ attribute-onsubmit:
3050
+ patterns:
3051
+ - name: meta.attribute-with-value.html
3052
+ begin: (onsubmit)\s*=\s*(?=(["']).*?["'])
3053
+ applyEndPatternLast: "1"
3054
+ beginCaptures:
3055
+ "1":
3056
+ name: entity.other.attribute-name.html
3057
+ end: ""
3058
+ patterns:
3059
+ - name: string.quoted.double.html
3060
+ begin: "\""
3061
+ contentName: source.js.embedded.html
3062
+ end: "\""
3063
+ - name: string.quoted.single.html
3064
+ begin: "'"
3065
+ contentName: source.js.embedded.html
3066
+ end: "'"
3067
+ attribute-data:
3068
+ name: meta.attribute-with-value.html
3069
+ begin: (data)\s*=\s*(?=(["']).*?["'])
3070
+ applyEndPatternLast: "1"
3071
+ beginCaptures:
3072
+ "1":
3073
+ name: entity.other.attribute-name.html
3074
+ end: ""
3075
+ patterns:
3076
+ - include: "#values-generic-valid"
3077
+ attribute-standby:
3078
+ name: meta.attribute-with-value.html
3079
+ begin: (standby)\s*=\s*(?=(["']).*?["'])
3080
+ applyEndPatternLast: "1"
3081
+ beginCaptures:
3082
+ "1":
3083
+ name: entity.other.attribute-name.html
3084
+ end: ""
3085
+ patterns:
3086
+ - include: "#values-generic-valid"
3087
+ attribute-accept:
3088
+ name: meta.attribute-with-value.html
3089
+ begin: (accept)\s*=\s*(?=(["']).*?["'])
3090
+ applyEndPatternLast: "1"
3091
+ beginCaptures:
3092
+ "1":
3093
+ name: entity.other.attribute-name.html
3094
+ end: ""
3095
+ patterns:
3096
+ - include: "#values-generic-valid"
3097
+ attribute-rows:
3098
+ name: meta.attribute-with-value.html
3099
+ begin: (rows)\s*=\s*(?=(["']).*?["'])
3100
+ applyEndPatternLast: "1"
3101
+ beginCaptures:
3102
+ "1":
3103
+ name: entity.other.attribute-name.html
3104
+ end: ""
3105
+ patterns:
3106
+ - name: string.quoted.double.html
3107
+ begin: (?<!"|')"
3108
+ end: "\""
3109
+ patterns:
3110
+ - match: (?<="|')[0-9]+(?="|')
3111
+ - include: "#values-generic-invalid"
3112
+ - name: string.quoted.single.html
3113
+ begin: (?<!"|')'
3114
+ end: "'"
3115
+ patterns:
3116
+ - match: (?<="|')[0-9]+(?="|')
3117
+ - include: "#values-generic-invalid"
3118
+ attributes-group-i18n:
3119
+ patterns:
3120
+ - name: meta.attribute-with-value.html
3121
+ begin: (dir)\s*=\s*(?=(["']).*?["'])
3122
+ applyEndPatternLast: "1"
3123
+ beginCaptures:
3124
+ "1":
3125
+ name: entity.other.attribute-name.html
3126
+ end: ""
3127
+ patterns:
3128
+ - name: string.quoted.double.html
3129
+ begin: (?<!"|')"
3130
+ end: "\""
3131
+ patterns:
3132
+ - match: (?<="|')(ltr|rtl)(?="|')
3133
+ - include: "#values-generic-invalid"
3134
+ - name: string.quoted.single.html
3135
+ begin: (?<!"|')'
3136
+ end: "'"
3137
+ patterns:
3138
+ - match: (?<="|')(ltr|rtl)(?="|')
3139
+ - include: "#values-generic-invalid"
3140
+ - include: "#attribute-xml:lang"
3141
+ - include: "#attribute-lang"
3142
+ tag-fieldset:
3143
+ captures:
3144
+ "1":
3145
+ name: meta.tag.block.fieldset.html
3146
+ "2":
3147
+ name: entity.name.tag.block.fieldset.html
3148
+ begin: (<(fieldset)\b)
3149
+ end: ((fieldset)>)
3150
+ patterns:
3151
+ - endCaptures:
3152
+ "1":
3153
+ name: meta.tag.block.fieldset.html
3154
+ begin: (?<=>)
3155
+ end: (</(?=fieldset))
3156
+ patterns:
3157
+ - include: "#tag-legend"
3158
+ - include: "#tag-form"
3159
+ - include: "#tag-group-block"
3160
+ - include: "#tag-group-inline"
3161
+ - include: "#tag-group-misc"
3162
+ - include: "#pcdata"
3163
+ - name: meta.tag.block.fieldset.html
3164
+ begin: ""
3165
+ end: ">"
3166
+ patterns:
3167
+ - include: "#attributes-group-common"
3168
+ - include: "#attributes-illegal_char"
3169
+ tag-div:
3170
+ captures:
3171
+ "1":
3172
+ name: meta.tag.block.div.html
3173
+ "2":
3174
+ name: entity.name.tag.block.div.html
3175
+ begin: (<(div)\b)
3176
+ end: ((div)>)
3177
+ patterns:
3178
+ - endCaptures:
3179
+ "1":
3180
+ name: meta.tag.block.div.html
3181
+ begin: (?<=>)
3182
+ end: (</(?=div))
3183
+ patterns:
3184
+ - include: "#tag-group-flow"
3185
+ - name: meta.tag.block.div.html
3186
+ begin: ""
3187
+ end: ">"
3188
+ patterns:
3189
+ - include: "#attributes-group-common"
3190
+ - include: "#attributes-illegal_char"
3191
+ tag-body:
3192
+ name: meta.section.html.body.xhtml.1-strict
3193
+ captures:
3194
+ "1":
3195
+ name: meta.tag.segment.body.html
3196
+ "2":
3197
+ name: entity.name.tag.segment.body.html
3198
+ begin: (<(body)\b)
3199
+ end: ((body)>)
3200
+ patterns:
3201
+ - endCaptures:
3202
+ "1":
3203
+ name: meta.tag.segment.body.html
3204
+ begin: (?<=>)
3205
+ end: (</(?=body))
3206
+ patterns:
3207
+ - include: "#tag-group-block-master"
3208
+ - include: "#no-pcdata"
3209
+ - name: meta.tag.segment.body.html
3210
+ begin: ""
3211
+ end: ">"
3212
+ patterns:
3213
+ - include: "#attribute-onload"
3214
+ - include: "#attribute-onunload"
3215
+ - include: "#attributes-group-common"
3216
+ - include: "#attributes-illegal_char"
3217
+ sgml-declarations:
3218
+ begin: (?=<!)
3219
+ applyEndPatternLast: "1"
3220
+ end: (?<=>)
3221
+ patterns:
3222
+ - name: meta.tag.sgml.empty.html
3223
+ match: <!\s*>
3224
+ - name: invalid.illegal.bad-comments-or-CDATA.html
3225
+ begin: <!(?!DOCTYPE|--|\[CDATA\[)
3226
+ end: ">"
3227
+ - name: meta.tag.preprocessor.server-side-includes.html
3228
+ captures:
3229
+ "1":
3230
+ name: support.function.server-side-include.html
3231
+ begin: <!--(#\s*(include|config|echo|exec|fsize|flastmod|printenv|set))
3232
+ end: -->
3233
+ patterns:
3234
+ - name: meta.preprocessor.server-side-includes.html
3235
+ captures:
3236
+ "1":
3237
+ name: entity.other.attribute-name.html
3238
+ "3":
3239
+ name: string.quoted.double.html
3240
+ "4":
3241
+ name: string.quoted.single.html
3242
+ "5":
3243
+ name: string.unquoted.html
3244
+ match: (errmsg|sizefmt|timefmt|var|encoding|cgi|cmd|file|virtual|value)=((".*?")|('.*?')|([^"'>\s]+))
3245
+ - include: "#sgml-comment"
3246
+ - name: meta.scope.xml-cdata.html
3247
+ begin: <!\[CDATA\[
3248
+ end: "]]>"
3249
+ attribute-cellspacing:
3250
+ name: meta.attribute-with-value.html
3251
+ begin: (cellpadding)\s*=\s*(?=(["']).*?["'])
3252
+ applyEndPatternLast: "1"
3253
+ beginCaptures:
3254
+ "1":
3255
+ name: entity.other.attribute-name.html
3256
+ end: ""
3257
+ patterns:
3258
+ - name: string.quoted.double.html
3259
+ begin: (?<!"|')"
3260
+ end: "\""
3261
+ patterns:
3262
+ - match: (?<="|')([0-9]{0,5}|[0-9]{0,4}%)(?="|')
3263
+ - include: "#values-generic-invalid"
3264
+ - name: string.quoted.single.html
3265
+ begin: (?<!"|')'
3266
+ end: "'"
3267
+ patterns:
3268
+ - match: (?<="|')([0-9]{0,5}|[0-9]{0,4}%)(?="|')
3269
+ - include: "#values-generic-invalid"
3270
+ attribute-scheme:
3271
+ name: meta.attribute-with-value.html
3272
+ begin: (scheme)\s*=\s*(?=(["']).*?["'])
3273
+ applyEndPatternLast: "1"
3274
+ beginCaptures:
3275
+ "1":
3276
+ name: entity.other.attribute-name.html
3277
+ end: ""
3278
+ patterns:
3279
+ - include: "#values-generic-valid"
3280
+ attribute-class:
3281
+ name: meta.attribute-with-value.html
3282
+ begin: (class)\s*=\s*(?=(["']).*?["'])
3283
+ applyEndPatternLast: "1"
3284
+ beginCaptures:
3285
+ "1":
3286
+ name: entity.other.attribute-name.html
3287
+ end: ""
3288
+ patterns:
3289
+ - include: "#values-generic-valid"
3290
+ tag-abbr:
3291
+ captures:
3292
+ "1":
3293
+ name: meta.tag.inline.abbr.html
3294
+ "2":
3295
+ name: entity.name.tag.inline.abbr.html
3296
+ begin: (<(abbr)\b)
3297
+ end: ((abbr)>)
3298
+ patterns:
3299
+ - endCaptures:
3300
+ "1":
3301
+ name: meta.tag.inline.abbr.html
3302
+ begin: (?<=>)
3303
+ end: (</(?=abbr))
3304
+ patterns:
3305
+ - include: "#tag-group-inline-master"
3306
+ - name: meta.tag.inline.abbr.html
3307
+ begin: ""
3308
+ end: ">"
3309
+ patterns:
3310
+ - include: "#attributes-group-common"
3311
+ - include: "#attributes-illegal_char"
3312
+ no-pcdata:
3313
+ patterns:
3314
+ - include: "#sgml-declarations"
3315
+ - include: "#entities"
3316
+ - include: "#stray-char"
3317
+ - include: "#bad-tags"
3318
+ attribute-alt:
3319
+ name: meta.attribute-with-value.html
3320
+ begin: (alt)\s*=\s*(?=(["']).*?["'])
3321
+ applyEndPatternLast: "1"
3322
+ beginCaptures:
3323
+ "1":
3324
+ name: entity.other.attribute-name.html
3325
+ end: ""
3326
+ patterns:
3327
+ - include: "#values-generic-valid"
3328
+ tag-a:
3329
+ captures:
3330
+ "1":
3331
+ name: meta.tag.inline.a.html
3332
+ "2":
3333
+ name: entity.name.tag.inline.a.html
3334
+ begin: (<(a)\b)
3335
+ end: ((a)>)
3336
+ patterns:
3337
+ - endCaptures:
3338
+ "1":
3339
+ name: meta.tag.inline.a.html
3340
+ begin: (?<=>)
3341
+ end: (</(?=a))
3342
+ patterns:
3343
+ - include: "#tag-group-a.content"
3344
+ - name: meta.tag.inline.a.html
3345
+ begin: ""
3346
+ end: ">"
3347
+ patterns:
3348
+ - include: "#attribute-charset"
3349
+ - include: "#attribute-href"
3350
+ - include: "#attribute-hreflang"
3351
+ - include: "#attribute-name"
3352
+ - include: "#attribute-rel"
3353
+ - include: "#attribute-rev"
3354
+ - include: "#attribute-target"
3355
+ - include: "#attribute-type"
3356
+ - include: "#attribute-shape"
3357
+ - include: "#attribute-coords"
3358
+ - include: "#attributes-group-common"
3359
+ - include: "#attributes-group-focus"
3360
+ - include: "#attributes-illegal_char"
3361
+ entities:
3362
+ patterns:
3363
+ - name: constant.character.entity.html
3364
+ match: "&([a-zA-Z]+|#[0-9]+|#x[0-9a-fA-F]+);"
3365
+ - name: invalid.illegal.bad-ampersand.html
3366
+ match: "&(?!([a-zA-Z]+|#[0-9]+|#x[0-9a-fA-F]+);)"
3367
+ attribute-axis:
3368
+ name: meta.attribute-with-value.html
3369
+ begin: (axis)\s*=\s*(?=(["']).*?["'])
3370
+ applyEndPatternLast: "1"
3371
+ beginCaptures:
3372
+ "1":
3373
+ name: entity.other.attribute-name.html
3374
+ end: ""
3375
+ patterns:
3376
+ - include: "#values-generic-valid"
3377
+ tag-b:
3378
+ captures:
3379
+ "1":
3380
+ name: meta.tag.inline.b.html
3381
+ "2":
3382
+ name: entity.name.tag.inline.b.html
3383
+ begin: (<(b)\b)
3384
+ end: ((b)>)
3385
+ patterns:
3386
+ - endCaptures:
3387
+ "1":
3388
+ name: meta.tag.inline.b.html
3389
+ begin: (?<=>)
3390
+ end: (</(?=b))
3391
+ patterns:
3392
+ - include: "#tag-group-inline-master"
3393
+ - name: meta.tag.inline.b.html
3394
+ begin: ""
3395
+ end: ">"
3396
+ patterns:
3397
+ - include: "#attributes-group-common"
3398
+ - include: "#attributes-illegal_char"
3399
+ pcdata:
3400
+ patterns:
3401
+ - include: "#sgml-declarations"
3402
+ - include: "#entities"
3403
+ - include: "#bad-tags"
3404
+ attribute-headers:
3405
+ name: meta.attribute-with-value.html
3406
+ begin: (headers)\s*=\s*(?=(["']).*?["'])
3407
+ applyEndPatternLast: "1"
3408
+ beginCaptures:
3409
+ "1":
3410
+ name: entity.other.attribute-name.html
3411
+ end: ""
3412
+ patterns:
3413
+ - name: string.quoted.double.html
3414
+ begin: (?<!"|')"
3415
+ end: "\""
3416
+ patterns:
3417
+ - match: (?<="|')[a-zA-Z][a-zA-Z0-9\-_:.]*(\s+[a-zA-Z][a-zA-Z0-9\-_:.]*)*(?="|')
3418
+ - include: "#values-generic-invalid"
3419
+ - name: string.quoted.single.html
3420
+ begin: (?<!"|')'
3421
+ end: "'"
3422
+ patterns:
3423
+ - match: (?<="|')[a-zA-Z][a-zA-Z0-9\-_:.]*(\s+[a-zA-Z][a-zA-Z0-9\-_:.]*)*(?="|')
3424
+ - include: "#values-generic-invalid"
3425
+ tag-input:
3426
+ endCaptures:
3427
+ "1":
3428
+ name: meta.tag.form.input.html
3429
+ "2":
3430
+ name: invalid.illegal.terminator.html
3431
+ begin: (<(input)\b)
3432
+ beginCaptures:
3433
+ "1":
3434
+ name: meta.tag.form.input.html
3435
+ "2":
3436
+ name: entity.name.tag.form.input.html
3437
+ end: (/>|(>))
3438
+ patterns:
3439
+ - name: meta.tag.form.input.html
3440
+ begin: ""
3441
+ end: (?=/>|>)
3442
+ patterns:
3443
+ - include: "#attribute-accept"
3444
+ - include: "#attribute-alt"
3445
+ - include: "#attribute-checked"
3446
+ - include: "#attribute-disabled"
3447
+ - include: "#attribute-maxlength"
3448
+ - include: "#attribute-name"
3449
+ - include: "#attribute-onchange"
3450
+ - include: "#attribute-onselect"
3451
+ - include: "#attribute-readonly"
3452
+ - include: "#attribute-size"
3453
+ - include: "#attribute-src"
3454
+ - include: "#attribute-type-input"
3455
+ - include: "#attribute-usemap"
3456
+ - include: "#attribute-value"
3457
+ - include: "#attributes-group-common"
3458
+ - include: "#attributes-group-focus"
3459
+ - include: "#attributes-illegal_char"
3460
+ tag-group-inline.forms:
3461
+ patterns:
3462
+ - include: "#tag-input"
3463
+ - include: "#tag-select"
3464
+ - include: "#tag-textarea"
3465
+ - include: "#tag-label"
3466
+ - include: "#tag-button"
3467
+ tag-address:
3468
+ captures:
3469
+ "1":
3470
+ name: meta.tag.block.address.html
3471
+ "2":
3472
+ name: entity.name.tag.block.address.html
3473
+ begin: (<(address)\b)
3474
+ end: ((address)>)
3475
+ patterns:
3476
+ - endCaptures:
3477
+ "1":
3478
+ name: meta.tag.block.address.html
3479
+ begin: (?<=>)
3480
+ end: (</(?=address))
3481
+ patterns:
3482
+ - include: "#tag-group-inline-master"
3483
+ - name: meta.tag.block.address.html
3484
+ begin: ""
3485
+ end: ">"
3486
+ patterns:
3487
+ - include: "#attributes-group-common"
3488
+ - include: "#attributes-illegal_char"
3489
+ attribute-onselect:
3490
+ patterns:
3491
+ - name: meta.attribute-with-value.html
3492
+ begin: (onselect)\s*=\s*(?=(["']).*?["'])
3493
+ applyEndPatternLast: "1"
3494
+ beginCaptures:
3495
+ "1":
3496
+ name: entity.other.attribute-name.html
3497
+ end: ""
3498
+ patterns:
3499
+ - name: string.quoted.double.html
3500
+ begin: "\""
3501
+ contentName: source.js.embedded.html
3502
+ end: "\""
3503
+ - name: string.quoted.single.html
3504
+ begin: "'"
3505
+ contentName: source.js.embedded.html
3506
+ end: "'"
3507
+ attribute-border:
3508
+ name: meta.attribute-with-value.html
3509
+ begin: (border)\s*=\s*(?=(["']).*?["'])
3510
+ applyEndPatternLast: "1"
3511
+ beginCaptures:
3512
+ "1":
3513
+ name: entity.other.attribute-name.html
3514
+ end: ""
3515
+ patterns:
3516
+ - name: string.quoted.double.html
3517
+ begin: (?<!"|')"
3518
+ end: "\""
3519
+ patterns:
3520
+ - match: (?<="|')[0-9]+(?="|')
3521
+ - include: "#values-generic-invalid"
3522
+ - name: string.quoted.single.html
3523
+ begin: (?<!"|')'
3524
+ end: "'"
3525
+ patterns:
3526
+ - match: (?<="|')[0-9]+(?="|')
3527
+ - include: "#values-generic-invalid"
3528
+ attribute-colspan:
3529
+ name: meta.attribute-with-value.html
3530
+ begin: (colspan)\s*=\s*(?=(["']).*?["'])
3531
+ applyEndPatternLast: "1"
3532
+ beginCaptures:
3533
+ "1":
3534
+ name: entity.other.attribute-name.html
3535
+ end: ""
3536
+ patterns:
3537
+ - name: string.quoted.double.html
3538
+ begin: (?<!"|')"
3539
+ end: "\""
3540
+ patterns:
3541
+ - match: (?<="|')[0-9]+(?="|')
3542
+ - include: "#values-generic-invalid"
3543
+ - name: string.quoted.single.html
3544
+ begin: (?<!"|')'
3545
+ end: "'"
3546
+ patterns:
3547
+ - match: (?<="|')[0-9]+(?="|')
3548
+ - include: "#values-generic-invalid"
3549
+ attribute-type-input:
3550
+ name: meta.attribute-with-value.html
3551
+ begin: (type)\s*=\s*(?=(["']).*?["'])
3552
+ applyEndPatternLast: "1"
3553
+ beginCaptures:
3554
+ "1":
3555
+ name: entity.other.attribute-name.html
3556
+ end: ""
3557
+ patterns:
3558
+ - name: string.quoted.double.html
3559
+ begin: (?<!"|')"
3560
+ end: "\""
3561
+ patterns:
3562
+ - match: (?<="|')(text|password|checkbox|button|radio|submit|reset|file|hidden|image)(?="|')
3563
+ - include: "#values-generic-invalid"
3564
+ - name: string.quoted.single.html
3565
+ begin: (?<!"|')'
3566
+ end: "'"
3567
+ patterns:
3568
+ - match: (?<="|')(text|password|checkbox|button|radio|submit|reset|file|hidden|image)(?="|')
3569
+ - include: "#values-generic-invalid"
3570
+ tag-li:
3571
+ captures:
3572
+ "1":
3573
+ name: meta.tag.block.li.html
3574
+ "2":
3575
+ name: entity.name.tag.block.li.html
3576
+ begin: (<(li)\b)
3577
+ end: ((li)>)
3578
+ patterns:
3579
+ - endCaptures:
3580
+ "1":
3581
+ name: meta.tag.block.li.html
3582
+ begin: (?<=>)
3583
+ end: (</(?=li))
3584
+ patterns:
3585
+ - include: "#tag-group-flow"
3586
+ - name: meta.tag.block.li.html
3587
+ begin: ""
3588
+ end: ">"
3589
+ patterns:
3590
+ - include: "#attributes-group-common"
3591
+ - include: "#attributes-illegal_char"
3592
+ tag-legend:
3593
+ captures:
3594
+ "1":
3595
+ name: meta.tag.block.legend.html
3596
+ "2":
3597
+ name: entity.name.tag.block.legend.html
3598
+ begin: (<(legend)\b)
3599
+ end: ((legend)>)
3600
+ patterns:
3601
+ - endCaptures:
3602
+ "1":
3603
+ name: meta.tag.block.legend.html
3604
+ begin: (?<=>)
3605
+ end: (</(?=legend))
3606
+ patterns:
3607
+ - include: "#tag-group-inline-master"
3608
+ - name: meta.tag.block.legend.html
3609
+ begin: ""
3610
+ end: ">"
3611
+ patterns:
3612
+ - include: "#attribute-accesskey"
3613
+ - include: "#attributes-group-common"
3614
+ - include: "#attributes-illegal_char"
3615
+ tag-group-phrase:
3616
+ patterns:
3617
+ - include: "#tag-em"
3618
+ - include: "#tag-strong"
3619
+ - include: "#tag-dfn"
3620
+ - include: "#tag-code"
3621
+ - include: "#tag-q"
3622
+ - include: "#tag-samp"
3623
+ - include: "#tag-kbd"
3624
+ - include: "#tag-var"
3625
+ - include: "#tag-cite"
3626
+ - include: "#tag-abbr"
3627
+ - include: "#tag-acronym"
3628
+ - include: "#tag-sub"
3629
+ - include: "#tag-sup"
3630
+ tag-base:
3631
+ endCaptures:
3632
+ "1":
3633
+ name: meta.tag.meta.base.html
3634
+ "2":
3635
+ name: invalid.illegal.terminator.html
3636
+ begin: (<(base)\b)
3637
+ beginCaptures:
3638
+ "1":
3639
+ name: meta.tag.meta.base.html
3640
+ "2":
3641
+ name: entity.name.tag.meta.base.html
3642
+ end: (/>|(>))
3643
+ patterns:
3644
+ - name: meta.tag.meta.base.html
3645
+ begin: ""
3646
+ end: (?=/>|>)
3647
+ patterns:
3648
+ - include: "#attribute-id"
3649
+ - include: "#attribute-href"
3650
+ - include: "#attributes-illegal_char"
3651
+ attribute-accesskey:
3652
+ name: meta.attribute-with-value.html
3653
+ begin: (accesskey)\s*=\s*(?=(["']).*?["'])
3654
+ applyEndPatternLast: "1"
3655
+ beginCaptures:
3656
+ "1":
3657
+ name: entity.other.attribute-name.html
3658
+ end: ""
3659
+ patterns:
3660
+ - name: string.quoted.double.html
3661
+ begin: (?<!"|')"
3662
+ end: "\""
3663
+ patterns:
3664
+ - match: (?<="|')[[:alnum:]](?="|')
3665
+ - include: "#values-generic-invalid"
3666
+ - name: string.quoted.single.html
3667
+ begin: (?<!"|')'
3668
+ end: "'"
3669
+ patterns:
3670
+ - match: (?<="|')[[:alnum:]](?="|')
3671
+ - include: "#values-generic-invalid"
3672
+ comment: "Bug: Does not correctly represent the single Character attribute."
3673
+ attribute-rowspan:
3674
+ name: meta.attribute-with-value.html
3675
+ begin: (rowspan)\s*=\s*(?=(["']).*?["'])
3676
+ applyEndPatternLast: "1"
3677
+ beginCaptures:
3678
+ "1":
3679
+ name: entity.other.attribute-name.html
3680
+ end: ""
3681
+ patterns:
3682
+ - name: string.quoted.double.html
3683
+ begin: (?<!"|')"
3684
+ end: "\""
3685
+ patterns:
3686
+ - match: (?<="|')[0-9]+(?="|')
3687
+ - include: "#values-generic-invalid"
3688
+ - name: string.quoted.single.html
3689
+ begin: (?<!"|')'
3690
+ end: "'"
3691
+ patterns:
3692
+ - match: (?<="|')[0-9]+(?="|')
3693
+ - include: "#values-generic-invalid"
3694
+ attribute-frame:
3695
+ name: meta.attribute-with-value.html
3696
+ begin: (frame)\s*=\s*(?=(["']).*?["'])
3697
+ applyEndPatternLast: "1"
3698
+ beginCaptures:
3699
+ "1":
3700
+ name: entity.other.attribute-name.html
3701
+ end: ""
3702
+ patterns:
3703
+ - name: string.quoted.double.html
3704
+ begin: (?<!"|')"
3705
+ end: "\""
3706
+ patterns:
3707
+ - match: (?<="|')(void|above|below|hsides|lhs|rhs|vsides|box|border)(?="|')
3708
+ - include: "#values-generic-invalid"
3709
+ - name: string.quoted.single.html
3710
+ begin: (?<!"|')'
3711
+ end: "'"
3712
+ patterns:
3713
+ - match: (?<="|')(void|above|below|hsides|lhs|rhs|vsides|box|border)(?="|')
3714
+ - include: "#values-generic-invalid"
3715
+ attribute-target:
3716
+ name: meta.attribute-with-value.html
3717
+ begin: (target)\s*=\s*(?=(["']).*?["'])
3718
+ applyEndPatternLast: "1"
3719
+ beginCaptures:
3720
+ "1":
3721
+ name: entity.other.attribute-name.html
3722
+ end: ""
3723
+ patterns:
3724
+ - include: "#values-generic-valid"
3725
+ attribute-content:
3726
+ name: meta.attribute-with-value.html
3727
+ begin: (content)\s*=\s*(?=(["']).*?["'])
3728
+ applyEndPatternLast: "1"
3729
+ beginCaptures:
3730
+ "1":
3731
+ name: entity.other.attribute-name.html
3732
+ end: ""
3733
+ patterns:
3734
+ - include: "#values-generic-valid"
3735
+ tag-sup:
3736
+ captures:
3737
+ "1":
3738
+ name: meta.tag.inline.sup.html
3739
+ "2":
3740
+ name: entity.name.tag.inline.sup.html
3741
+ begin: (<(sup)\b)
3742
+ end: ((sup)>)
3743
+ patterns:
3744
+ - endCaptures:
3745
+ "1":
3746
+ name: meta.tag.inline.sup.html
3747
+ begin: (?<=>)
3748
+ end: (</(?=sup))
3749
+ patterns:
3750
+ - include: "#tag-group-inline-master"
3751
+ - name: meta.tag.inline.sup.html
3752
+ begin: ""
3753
+ end: ">"
3754
+ patterns:
3755
+ - include: "#attributes-group-common"
3756
+ - include: "#attributes-illegal_char"
3757
+ tag-h1:
3758
+ captures:
3759
+ "1":
3760
+ name: meta.tag.block.h1.html
3761
+ "2":
3762
+ name: entity.name.tag.block.h1.html
3763
+ begin: (<(h1)\b)
3764
+ end: ((h1)>)
3765
+ patterns:
3766
+ - endCaptures:
3767
+ "1":
3768
+ name: meta.tag.block.h1.html
3769
+ begin: (?<=>)
3770
+ end: (</(?=h1))
3771
+ patterns:
3772
+ - include: "#tag-group-inline-master"
3773
+ - name: meta.tag.block.h1.html
3774
+ begin: ""
3775
+ end: ">"
3776
+ patterns:
3777
+ - include: "#attributes-group-common"
3778
+ - include: "#attributes-illegal_char"
3779
+ tag-group-form.content:
3780
+ patterns:
3781
+ - include: "#tag-group-block"
3782
+ - include: "#tag-group-misc"
3783
+ attribute-onunload:
3784
+ patterns:
3785
+ - name: meta.attribute-with-value.html
3786
+ begin: (onunload)\s*=\s*(?=(["']).*?["'])
3787
+ applyEndPatternLast: "1"
3788
+ beginCaptures:
3789
+ "1":
3790
+ name: entity.other.attribute-name.html
3791
+ end: ""
3792
+ patterns:
3793
+ - name: string.quoted.double.html
3794
+ begin: "\""
3795
+ contentName: source.js.embedded.html
3796
+ end: "\""
3797
+ - name: string.quoted.single.html
3798
+ begin: "'"
3799
+ contentName: source.js.embedded.html
3800
+ end: "'"
3801
+ tag-tr:
3802
+ captures:
3803
+ "1":
3804
+ name: meta.tag.block.tr.html
3805
+ "2":
3806
+ name: entity.name.tag.block.tr.html
3807
+ begin: (<(tr)\b)
3808
+ end: ((tr)>)
3809
+ patterns:
3810
+ - endCaptures:
3811
+ "1":
3812
+ name: meta.tag.block.tr.html
3813
+ begin: (?<=>)
3814
+ end: (</(?=tr))
3815
+ patterns:
3816
+ - include: "#tag-td"
3817
+ - include: "#tag-th"
3818
+ - include: "#no-pcdata"
3819
+ - name: meta.tag.block.tr.html
3820
+ begin: ""
3821
+ end: ">"
3822
+ patterns:
3823
+ - include: "#attribute-align"
3824
+ - include: "#attribute-char"
3825
+ - include: "#attribute-charoff"
3826
+ - include: "#attribute-valign"
3827
+ - include: "#attributes-group-common"
3828
+ - include: "#attributes-illegal_char"
3829
+ tag-title:
3830
+ captures:
3831
+ "1":
3832
+ name: meta.tag.block.title.html
3833
+ "2":
3834
+ name: entity.name.tag.block.title.html
3835
+ begin: (<(title)\b)
3836
+ end: ((title)>)
3837
+ patterns:
3838
+ - endCaptures:
3839
+ "1":
3840
+ name: meta.tag.block.title.html
3841
+ begin: (?<=>)
3842
+ end: (</(?=title))
3843
+ patterns:
3844
+ - include: "#pcdata"
3845
+ - name: meta.tag.block.title.html
3846
+ begin: ""
3847
+ end: ">"
3848
+ patterns:
3849
+ - include: "#attribute-id"
3850
+ - include: "#attributes-group-i18n"
3851
+ - include: "#attributes-illegal_char"
3852
+ tag-samp:
3853
+ captures:
3854
+ "1":
3855
+ name: meta.tag.inline.samp.html
3856
+ "2":
3857
+ name: entity.name.tag.inline.samp.html
3858
+ begin: (<(samp)\b)
3859
+ end: ((samp)>)
3860
+ patterns:
3861
+ - endCaptures:
3862
+ "1":
3863
+ name: meta.tag.inline.samp.html
3864
+ begin: (?<=>)
3865
+ end: (</(?=samp))
3866
+ patterns:
3867
+ - include: "#tag-group-inline-master"
3868
+ - name: meta.tag.inline.samp.html
3869
+ begin: ""
3870
+ end: ">"
3871
+ patterns:
3872
+ - include: "#attributes-group-common"
3873
+ - include: "#attributes-illegal_char"
3874
+ tag-pre:
3875
+ captures:
3876
+ "1":
3877
+ name: meta.tag.block.pre.html
3878
+ "2":
3879
+ name: entity.name.tag.block.pre.html
3880
+ begin: (<(pre)\b)
3881
+ end: ((pre)>)
3882
+ patterns:
3883
+ - endCaptures:
3884
+ "1":
3885
+ name: meta.tag.block.pre.html
3886
+ begin: (?<=>)
3887
+ end: (</(?=pre))
3888
+ patterns:
3889
+ - include: "#tag-group-pre.content"
3890
+ - name: meta.tag.block.pre.html
3891
+ begin: ""
3892
+ end: ">"
3893
+ patterns:
3894
+ - include: "#attribute-xml:space"
3895
+ - include: "#attributes-group-common"
3896
+ - include: "#attributes-illegal_char"
3897
+ tag-param:
3898
+ endCaptures:
3899
+ "1":
3900
+ name: meta.tag.meta.param.html
3901
+ "2":
3902
+ name: invalid.illegal.terminator.html
3903
+ begin: (<(param)\b)
3904
+ beginCaptures:
3905
+ "1":
3906
+ name: meta.tag.meta.param.html
3907
+ "2":
3908
+ name: entity.name.tag.meta.param.html
3909
+ end: (/>|(>))
3910
+ patterns:
3911
+ - name: meta.tag.meta.param.html
3912
+ begin: ""
3913
+ end: (?=/>|>)
3914
+ patterns:
3915
+ - include: "#attribute-id"
3916
+ - include: "#attribute-name"
3917
+ - include: "#attribute-type"
3918
+ - include: "#attribute-value"
3919
+ - include: "#attribute-valuetype"
3920
+ - include: "#attributes-illegal_char"
3921
+ tag-object:
3922
+ endCaptures:
3923
+ "1":
3924
+ name: meta.tag.object.object.html
3925
+ "4":
3926
+ name: entity.name.tag.object.object.html
3927
+ begin: (<(object)\b)
3928
+ beginCaptures:
3929
+ "1":
3930
+ name: meta.tag.object.object.html
3931
+ "2":
3932
+ name: entity.name.tag.object.object.html
3933
+ end: ((/>)|((object)>))
3934
+ patterns:
3935
+ - endCaptures:
3936
+ "1":
3937
+ name: meta.tag.object.object.html
3938
+ begin: (?<=[^/]>)
3939
+ end: (</(?=object))
3940
+ patterns:
3941
+ - include: "#tag-group-block"
3942
+ - include: "#tag-group-inline"
3943
+ - include: "#tag-group-misc"
3944
+ - include: "#tag-param"
3945
+ - include: "#tag-form"
3946
+ - include: "#pcdata"
3947
+ - name: meta.tag.object.object.html
3948
+ begin: ""
3949
+ end: ((?=/>)|>)
3950
+ patterns:
3951
+ - include: "#attribute-classid"
3952
+ - include: "#attribute-codebase"
3953
+ - include: "#attribute-codetype"
3954
+ - include: "#attribute-data"
3955
+ - include: "#attribute-declare"
3956
+ - include: "#attribute-height"
3957
+ - include: "#attribute-name"
3958
+ - include: "#attribute-standby"
3959
+ - include: "#attribute-tabindex"
3960
+ - include: "#attribute-type"
3961
+ - include: "#attribute-usemap"
3962
+ - include: "#attribute-width"
3963
+ - include: "#attributes-group-common"
3964
+ - include: "#attributes-illegal_char"
3965
+ tag-h2:
3966
+ captures:
3967
+ "1":
3968
+ name: meta.tag.block.h2.html
3969
+ "2":
3970
+ name: entity.name.tag.block.h2.html
3971
+ begin: (<(h2)\b)
3972
+ end: ((h2)>)
3973
+ patterns:
3974
+ - endCaptures:
3975
+ "1":
3976
+ name: meta.tag.block.h2.html
3977
+ begin: (?<=>)
3978
+ end: (</(?=h2))
3979
+ patterns:
3980
+ - include: "#tag-group-inline-master"
3981
+ - name: meta.tag.block.h2.html
3982
+ begin: ""
3983
+ end: ">"
3984
+ patterns:
3985
+ - include: "#attributes-group-common"
3986
+ - include: "#attributes-illegal_char"
3987
+ tag-dd:
3988
+ captures:
3989
+ "1":
3990
+ name: meta.tag.block.dd.html
3991
+ "2":
3992
+ name: entity.name.tag.block.dd.html
3993
+ begin: (<(dd)\b)
3994
+ end: ((dd)>)
3995
+ patterns:
3996
+ - endCaptures:
3997
+ "1":
3998
+ name: meta.tag.block.dd.html
3999
+ begin: (?<=>)
4000
+ end: (</(?=dd))
4001
+ patterns:
4002
+ - include: "#tag-group-flow"
4003
+ - name: meta.tag.block.dd.html
4004
+ begin: ""
4005
+ end: ">"
4006
+ patterns:
4007
+ - include: "#attributes-group-common"
4008
+ - include: "#attributes-illegal_char"
4009
+ attribute-coords:
4010
+ name: meta.attribute-with-value.html
4011
+ begin: (coords)\s*=\s*(?=(["']).*?["'])
4012
+ applyEndPatternLast: "1"
4013
+ beginCaptures:
4014
+ "1":
4015
+ name: entity.other.attribute-name.html
4016
+ end: ""
4017
+ patterns:
4018
+ - include: "#values-generic-valid"
4019
+ uuid: 65A224BD-5EEF-4D5D-8630-D3EAD551B8F0
4020
+ foldingStartMarker: (<(?i:(head|table|thead|tbody|tfoot|tr|div|fieldset|style|script|ul|ol|form|dl))\b.*?>|\{\{?(if|foreach|capture|literal|foreach|php|section|strip)|\{\s*$)
4021
+ patterns:
4022
+ - include: "#xml-preprocessor"
4023
+ - include: "#sgml-declarations-preprocessor"
4024
+ - include: "#tag-html"
4025
+ - include: "#stray-char"
4026
+ foldingStopMarker: (</(?i:(head|table|thead|tbody|tfoot|tr|div|fieldset|style|script|ul|ol|form|dl))>|\{\{?/(if|foreach|capture|literal|foreach|php|section|strip)|(^|\s)\})
4027
+ keyEquivalent: ^~X