├── icon.png ├── .vscodeignore ├── .vscode └── launch.json ├── README.md ├── language-configuration.json ├── package.json ├── syntaxes ├── cpp-extension.json └── htcpp.tmLanguage.json └── LICENSE.md /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamchatka-volcano/htcpp-vscode/master/icon.png -------------------------------------------------------------------------------- /.vscodeignore: -------------------------------------------------------------------------------- 1 | .vscode/** 2 | .vscode-test/** 3 | .gitignore 4 | vsc-extension-quickstart.md 5 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | // A launch configuration that launches the extension inside a new window 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | { 6 | "version": "0.2.0", 7 | "configurations": [ 8 | { 9 | "name": "Extension", 10 | "type": "extensionHost", 11 | "request": "launch", 12 | "args": [ 13 | "--extensionDevelopmentPath=${workspaceFolder}" 14 | ] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # `htcpp` 2 | This repository contains Visual Studio Code [extension](https://marketplace.visualstudio.com/items?itemName=kamchatka-volcano.htcpp) for `htcpp` syntax highlighting. 3 | `.htcpp` is a file format used by [hypertextcpp]() - a C++ HTML templating system. 4 | 5 | #### dev notes 6 | 7 | `syntaxes/htcpp.tmLanguage.json` is a modified [html.tmLanguage.json](https://github.com/Microsoft/vscode/blob/main/extensions/html/syntaxes/html.tmLanguage.json), all entities related to `htcpp` support are named with the prefix `htcpp-`. 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /language-configuration.json: -------------------------------------------------------------------------------- 1 | { 2 | "comments": { 3 | // symbol used for single line comment. Remove this entry if your language does not support line comments 4 | "lineComment": "//", 5 | // symbols used for start and end a block comment. Remove this entry if your language does not support block comments 6 | "blockComment": [ "/*", "*/" ] 7 | }, 8 | // symbols used as brackets 9 | "brackets": [ 10 | ["{", "}"], 11 | ["[[", "]]"], 12 | ["(", ")"] 13 | ], 14 | // symbols that are auto closed when typing 15 | "autoClosingPairs": [ 16 | ["{", "}"], 17 | ["[[", "]]"], 18 | ["(", ")"], 19 | ["\"", "\""], 20 | ["'", "'"], 21 | ["`", "`"] 22 | ], 23 | // symbols that can be used to surround a selection 24 | "surroundingPairs": [ 25 | ["{", "}"], 26 | ["[", "]"], 27 | ["(", ")"], 28 | ["\"", "\""], 29 | ["'", "'"], 30 | ["`", "`"] 31 | ] 32 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "htcpp", 3 | "displayName": "htcpp", 4 | "description": "Syntax highlighting for the htcpp template format used by hypertextcpp - a C++ HTML templating system", 5 | "version": "1.0.0", 6 | "engines": { 7 | "vscode": "^1.92.0" 8 | }, 9 | "categories": [ 10 | "Programming Languages" 11 | ], 12 | "contributes": { 13 | "languages": [{ 14 | "id": "htcpp", 15 | "aliases": ["htcpp", "htcpp"], 16 | "extensions": ["htcpp"], 17 | "configuration": "./language-configuration.json" 18 | }], 19 | "grammars": [ 20 | { 21 | "path": "./syntaxes/cpp-extension.json", 22 | "scopeName": "cpp.extension", 23 | "injectTo": ["template.htcpp"] 24 | }, 25 | { 26 | "language": "htcpp", 27 | "scopeName": "template.htcpp", 28 | "path": "./syntaxes/htcpp.tmLanguage.json" 29 | } 30 | ] 31 | }, 32 | "publisher": "kamchatka-volcano", 33 | "repository": { 34 | "type": "git", 35 | "url": "https://github.com/kamchatka-volcano/htcpp-vscode" 36 | }, 37 | "license": "MS-PL", 38 | "keywords": [ 39 | "hypertextcpp", 40 | "htcpp" 41 | ], 42 | "icon": "icon.png" 43 | } 44 | -------------------------------------------------------------------------------- /syntaxes/cpp-extension.json: -------------------------------------------------------------------------------- 1 | { 2 | "scopeName": "cpp.extension", 3 | "injectionSelector": "L:meta.embedded.block.cpp", 4 | "patterns": [ 5 | { 6 | "include": "#backtick_string" 7 | } 8 | ], 9 | "repository": { 10 | "backtick_string": { 11 | "patterns": [ 12 | { 13 | "match": "`(.*?)`", 14 | "name": "string.quoted.backtick.cpp", 15 | "patterns": [ 16 | { 17 | "match": "(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8})", 18 | "name": "constant.character.escape.cpp" 19 | }, 20 | { 21 | "match": "\\\\['\"`?\\\\abfnrtv]", 22 | "name": "constant.character.escape.cpp" 23 | }, 24 | { 25 | "match": "\\\\[0-7]{1,3}", 26 | "name": "constant.character.escape.cpp" 27 | }, 28 | { 29 | "match": "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))", 30 | "captures": { 31 | "1": { 32 | "name": "constant.character.escape.cpp" 33 | }, 34 | "2": { 35 | "name": "invalid.illegal.unknown-escape.cpp" 36 | } 37 | } 38 | }, 39 | { 40 | "include": "#string_escapes_context_c" 41 | } 42 | ] 43 | }] 44 | } 45 | } 46 | } -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Microsoft Public License (Ms-PL) 2 | Copyright 2024 Gorelyy PA 3 | 4 | This license governs use of the accompanying software. If you use the software, 5 | you accept this license. If you do not accept the license, do not use the 6 | software. 7 | 8 | 1. Definitions 9 | 10 | The terms "reproduce," "reproduction," "derivative works," and "distribution" 11 | have the same meaning here as under U.S. copyright law. 12 | 13 | A "contribution" is the original software, or any additions or changes to the 14 | software. 15 | 16 | A "contributor" is any person that distributes its contribution under this 17 | license. 18 | 19 | "Licensed patents" are a contributor's patent claims that read directly on its 20 | contribution. 21 | 22 | 2. Grant of Rights 23 | 24 | (A) Copyright Grant- Subject to the terms of this license, including the 25 | license conditions and limitations in section 3, each contributor grants you a 26 | non-exclusive, worldwide, royalty-free copyright license to reproduce its 27 | contribution, prepare derivative works of its contribution, and distribute its 28 | contribution or any derivative works that you create. 29 | 30 | (B) Patent Grant- Subject to the terms of this license, including the license 31 | conditions and limitations in section 3, each contributor grants you a 32 | non-exclusive, worldwide, royalty-free license under its licensed patents to 33 | make, have made, use, sell, offer for sale, import, and/or otherwise dispose of 34 | its contribution in the software or derivative works of the contribution in the 35 | software. 36 | 37 | 3. Conditions and Limitations 38 | 39 | (A) No Trademark License- This license does not grant you rights to use any 40 | contributors' name, logo, or trademarks. 41 | 42 | (B) If you bring a patent claim against any contributor over patents that you 43 | claim are infringed by the software, your patent license from such contributor 44 | to the software ends automatically. 45 | 46 | (C) If you distribute any portion of the software, you must retain all 47 | copyright, patent, trademark, and attribution notices that are present in the 48 | software. 49 | 50 | (D) If you distribute any portion of the software in source code form, you may 51 | do so only under this license by including a complete copy of this license with 52 | your distribution. If you distribute any portion of the software in compiled or 53 | object code form, you may only do so under a license that complies with this 54 | license. 55 | 56 | (E) The software is licensed "as-is." You bear the risk of using it. The 57 | contributors give no express warranties, guarantees or conditions. You may have 58 | additional consumer rights under your local laws which this license cannot 59 | change. To the extent permitted under your local laws, the contributors exclude 60 | the implied warranties of merchantability, fitness for a particular purpose and 61 | non-infringement. 62 | -------------------------------------------------------------------------------- /syntaxes/htcpp.tmLanguage.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "htcpp", 3 | "scopeName": "template.htcpp", 4 | "injections": { 5 | "R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)": { 6 | "comment": "Uses R: to ensure this matches after any other injections.", 7 | "patterns": [ 8 | { 9 | "match": "<", 10 | "name": "invalid.illegal.bad-angle-bracket.html" 11 | } 12 | ] 13 | } 14 | }, 15 | "patterns": [ 16 | { 17 | "include": "#xml-processing" 18 | }, 19 | { 20 | "include": "#comment" 21 | }, 22 | { 23 | "include": "#doctype" 24 | }, 25 | { 26 | "include": "#cdata" 27 | }, 28 | { 29 | "include": "#tags-valid" 30 | }, 31 | { 32 | "include": "#tags-invalid" 33 | }, 34 | { 35 | "include": "#entities" 36 | }, 37 | { 38 | "include": "#htcpp-section" 39 | }, 40 | { 41 | "include": "#htcpp-procedure" 42 | }, 43 | { 44 | "include": "#htcpp-global-statement" 45 | }, 46 | { 47 | "include": "#htcpp-nested-elements" 48 | } 49 | ], 50 | "repository": { 51 | "attribute": { 52 | "patterns": [ 53 | { 54 | "include": "#htcpp-attribute-elements" 55 | }, 56 | { 57 | "begin": "(s(hape|cope|t(ep|art)|ize(s)?|p(ellcheck|an)|elected|lot|andbox|rc(set|doc|lang)?)|h(ttp-equiv|i(dden|gh)|e(ight|aders)|ref(lang)?)|n(o(nce|validate|module)|ame)|c(h(ecked|arset)|ite|o(nt(ent(editable)?|rols)|ords|l(s(pan)?|or))|lass|rossorigin)|t(ype(mustmatch)?|itle|a(rget|bindex)|ranslate)|i(s(map)?|n(tegrity|putmode)|tem(scope|type|id|prop|ref)|d)|op(timum|en)|d(i(sabled|r(name)?)|ownload|e(coding|f(er|ault))|at(etime|a)|raggable)|usemap|p(ing|oster|la(ysinline|ceholder)|attern|reload)|enctype|value|kind|for(m(novalidate|target|enctype|action|method)?)?|w(idth|rap)|l(ist|o(op|w)|a(ng|bel))|a(s(ync)?|c(ce(sskey|pt(-charset)?)|tion)|uto(c(omplete|apitalize)|play|focus)|l(t|low(usermedia|paymentrequest|fullscreen))|bbr)|r(ows(pan)?|e(versed|quired|ferrerpolicy|l|adonly))|m(in(length)?|u(ted|ltiple)|e(thod|dia)|a(nifest|x(length)?)))(?![\\w:-])", 58 | "beginCaptures": { 59 | "0": { 60 | "name": "entity.other.attribute-name.html" 61 | } 62 | }, 63 | "comment": "HTML5 attributes, not event handlers", 64 | "end": "(?=\\s*+[^=\\s])", 65 | "name": "meta.attribute.$1.html", 66 | "patterns": [ 67 | { 68 | "include": "#attribute-interior" 69 | } 70 | ] 71 | }, 72 | { 73 | "begin": "style(?![\\w:-])", 74 | "beginCaptures": { 75 | "0": { 76 | "name": "entity.other.attribute-name.html" 77 | } 78 | }, 79 | "comment": "HTML5 style attribute", 80 | "end": "(?=\\s*+[^=\\s])", 81 | "name": "meta.attribute.style.html", 82 | "patterns": [ 83 | { 84 | "begin": "=", 85 | "beginCaptures": { 86 | "0": { 87 | "name": "punctuation.separator.key-value.html" 88 | } 89 | }, 90 | "end": "(?<=[^\\s=])(?!\\s*=)|(?=/?>)", 91 | "patterns": [ 92 | { 93 | "begin": "(?=[^\\s=<>`/]|/(?!>))", 94 | "end": "(?!\\G)", 95 | "name": "meta.embedded.line.css", 96 | "patterns": [ 97 | { 98 | "captures": { 99 | "0": { 100 | "name": "source.css" 101 | } 102 | }, 103 | "match": "([^\\s\"'=<>`/]|/(?!>))+", 104 | "name": "string.unquoted.html" 105 | }, 106 | { 107 | "begin": "\"", 108 | "beginCaptures": { 109 | "0": { 110 | "name": "punctuation.definition.string.begin.html" 111 | } 112 | }, 113 | "contentName": "source.css", 114 | "end": "(\")", 115 | "endCaptures": { 116 | "0": { 117 | "name": "punctuation.definition.string.end.html" 118 | }, 119 | "1": { 120 | "name": "source.css" 121 | } 122 | }, 123 | "name": "string.quoted.double.html", 124 | "patterns": [ 125 | { 126 | "include": "#entities" 127 | }, 128 | { 129 | "include": "#htcpp-nested-elements" 130 | } 131 | ] 132 | }, 133 | { 134 | "begin": "'", 135 | "beginCaptures": { 136 | "0": { 137 | "name": "punctuation.definition.string.begin.html" 138 | } 139 | }, 140 | "contentName": "source.css", 141 | "end": "(')", 142 | "endCaptures": { 143 | "0": { 144 | "name": "punctuation.definition.string.end.html" 145 | }, 146 | "1": { 147 | "name": "source.css" 148 | } 149 | }, 150 | "name": "string.quoted.single.html", 151 | "patterns": [ 152 | { 153 | "include": "#entities" 154 | } 155 | ] 156 | } 157 | ] 158 | }, 159 | { 160 | "match": "=", 161 | "name": "invalid.illegal.unexpected-equals-sign.html" 162 | } 163 | ] 164 | } 165 | ] 166 | }, 167 | { 168 | "begin": "on(s(croll|t(orage|alled)|u(spend|bmit)|e(curitypolicyviolation|ek(ing|ed)|lect))|hashchange|c(hange|o(ntextmenu|py)|u(t|echange)|l(ick|ose)|an(cel|play(through)?))|t(imeupdate|oggle)|in(put|valid)|o(nline|ffline)|d(urationchange|r(op|ag(start|over|e(n(ter|d)|xit)|leave)?)|blclick)|un(handledrejection|load)|p(opstate|lay(ing)?|a(ste|use|ge(show|hide))|rogress)|e(nded|rror|mptied)|volumechange|key(down|up|press)|focus|w(heel|aiting)|l(oad(start|e(nd|d(data|metadata)))?|anguagechange)|a(uxclick|fterprint|bort)|r(e(s(ize|et)|jectionhandled)|atechange)|m(ouse(o(ut|ver)|down|up|enter|leave|move)|essage(error)?)|b(efore(unload|print)|lur))(?![\\w:-])", 169 | "beginCaptures": { 170 | "0": { 171 | "name": "entity.other.attribute-name.html" 172 | } 173 | }, 174 | "comment": "HTML5 attributes, event handlers", 175 | "end": "(?=\\s*+[^=\\s])", 176 | "name": "meta.attribute.event-handler.$1.html", 177 | "patterns": [ 178 | { 179 | "begin": "=", 180 | "beginCaptures": { 181 | "0": { 182 | "name": "punctuation.separator.key-value.html" 183 | } 184 | }, 185 | "end": "(?<=[^\\s=])(?!\\s*=)|(?=/?>)", 186 | "patterns": [ 187 | { 188 | "begin": "(?=[^\\s=<>`/]|/(?!>))", 189 | "end": "(?!\\G)", 190 | "name": "meta.embedded.line.js", 191 | "patterns": [ 192 | { 193 | "captures": { 194 | "0": { 195 | "name": "source.js" 196 | }, 197 | "1": { 198 | "patterns": [ 199 | { 200 | "include": "source.js" 201 | } 202 | ] 203 | } 204 | }, 205 | "match": "(([^\\s\"'=<>`/]|/(?!>))+)", 206 | "name": "string.unquoted.html" 207 | }, 208 | { 209 | "begin": "\"", 210 | "beginCaptures": { 211 | "0": { 212 | "name": "punctuation.definition.string.begin.html" 213 | } 214 | }, 215 | "contentName": "source.js", 216 | "end": "(\")", 217 | "endCaptures": { 218 | "0": { 219 | "name": "punctuation.definition.string.end.html" 220 | }, 221 | "1": { 222 | "name": "source.js" 223 | } 224 | }, 225 | "name": "string.quoted.double.html", 226 | "patterns": [ 227 | { 228 | "captures": { 229 | "0": { 230 | "patterns": [ 231 | { 232 | "include": "source.js" 233 | } 234 | ] 235 | } 236 | }, 237 | "match": "([^\\n\"/]|/(?![/*]))+" 238 | }, 239 | { 240 | "begin": "//", 241 | "beginCaptures": { 242 | "0": { 243 | "name": "punctuation.definition.comment.js" 244 | } 245 | }, 246 | "end": "(?=\")|\\n", 247 | "name": "comment.line.double-slash.js" 248 | }, 249 | { 250 | "begin": "/\\*", 251 | "beginCaptures": { 252 | "0": { 253 | "name": "punctuation.definition.comment.begin.js" 254 | } 255 | }, 256 | "end": "(?=\")|\\*/", 257 | "endCaptures": { 258 | "0": { 259 | "name": "punctuation.definition.comment.end.js" 260 | } 261 | }, 262 | "name": "comment.block.js" 263 | }, 264 | { 265 | "include": "#htcpp-nested-elements" 266 | } 267 | ] 268 | }, 269 | { 270 | "begin": "'", 271 | "beginCaptures": { 272 | "0": { 273 | "name": "punctuation.definition.string.begin.html" 274 | } 275 | }, 276 | "contentName": "source.js", 277 | "end": "(')", 278 | "endCaptures": { 279 | "0": { 280 | "name": "punctuation.definition.string.end.html" 281 | }, 282 | "1": { 283 | "name": "source.js" 284 | } 285 | }, 286 | "name": "string.quoted.single.html", 287 | "patterns": [ 288 | { 289 | "captures": { 290 | "0": { 291 | "patterns": [ 292 | { 293 | "include": "source.js" 294 | } 295 | ] 296 | } 297 | }, 298 | "match": "([^\\n'/]|/(?![/*]))+" 299 | }, 300 | { 301 | "begin": "//", 302 | "beginCaptures": { 303 | "0": { 304 | "name": "punctuation.definition.comment.js" 305 | } 306 | }, 307 | "end": "(?=')|\\n", 308 | "name": "comment.line.double-slash.js" 309 | }, 310 | { 311 | "begin": "/\\*", 312 | "beginCaptures": { 313 | "0": { 314 | "name": "punctuation.definition.comment.begin.js" 315 | } 316 | }, 317 | "end": "(?=')|\\*/", 318 | "endCaptures": { 319 | "0": { 320 | "name": "punctuation.definition.comment.end.js" 321 | } 322 | }, 323 | "name": "comment.block.js" 324 | } 325 | ] 326 | } 327 | ] 328 | }, 329 | { 330 | "match": "=", 331 | "name": "invalid.illegal.unexpected-equals-sign.html" 332 | } 333 | ] 334 | } 335 | ] 336 | }, 337 | { 338 | "begin": "(data-[a-z\\-]+)(?![\\w:-])", 339 | "beginCaptures": { 340 | "0": { 341 | "name": "entity.other.attribute-name.html" 342 | } 343 | }, 344 | "comment": "HTML5 attributes, data-*", 345 | "end": "(?=\\s*+[^=\\s])", 346 | "name": "meta.attribute.data-x.$1.html", 347 | "patterns": [ 348 | { 349 | "include": "#attribute-interior" 350 | } 351 | ] 352 | }, 353 | { 354 | "begin": "(align|bgcolor|border)(?![\\w:-])", 355 | "beginCaptures": { 356 | "0": { 357 | "name": "invalid.deprecated.entity.other.attribute-name.html" 358 | } 359 | }, 360 | "comment": "HTML attributes, deprecated", 361 | "end": "(?=\\s*+[^=\\s])", 362 | "name": "meta.attribute.$1.html", 363 | "patterns": [ 364 | { 365 | "include": "#attribute-interior" 366 | } 367 | ] 368 | }, 369 | { 370 | "begin": "([^\\x{0020}\"'<>/=\\x{0000}-\\x{001F}\\x{007F}-\\x{009F}\\x{FDD0}-\\x{FDEF}\\x{FFFE}\\x{FFFF}\\x{1FFFE}\\x{1FFFF}\\x{2FFFE}\\x{2FFFF}\\x{3FFFE}\\x{3FFFF}\\x{4FFFE}\\x{4FFFF}\\x{5FFFE}\\x{5FFFF}\\x{6FFFE}\\x{6FFFF}\\x{7FFFE}\\x{7FFFF}\\x{8FFFE}\\x{8FFFF}\\x{9FFFE}\\x{9FFFF}\\x{AFFFE}\\x{AFFFF}\\x{BFFFE}\\x{BFFFF}\\x{CFFFE}\\x{CFFFF}\\x{DFFFE}\\x{DFFFF}\\x{EFFFE}\\x{EFFFF}\\x{FFFFE}\\x{FFFFF}\\x{10FFFE}\\x{10FFFF}]+)", 371 | "beginCaptures": { 372 | "0": { 373 | "name": "entity.other.attribute-name.html" 374 | } 375 | }, 376 | "comment": "Anything else that is valid", 377 | "end": "(?=\\s*+[^=\\s])", 378 | "name": "meta.attribute.unrecognized.$1.html", 379 | "patterns": [ 380 | { 381 | "include": "#attribute-interior" 382 | } 383 | ] 384 | }, 385 | { 386 | "match": "[^\\s>]+", 387 | "name": "invalid.illegal.character-not-allowed-here.html" 388 | } 389 | ] 390 | }, 391 | "attribute-interior": { 392 | "patterns": [ 393 | { 394 | "begin": "=", 395 | "beginCaptures": { 396 | "0": { 397 | "name": "punctuation.separator.key-value.html" 398 | } 399 | }, 400 | "end": "(?<=[^\\s=])(?!\\s*=)|(?=/?>)", 401 | "patterns": [ 402 | { 403 | "match": "([^\\s\"'=<>`/]|/(?!>))+", 404 | "name": "string.unquoted.html" 405 | }, 406 | { 407 | "begin": "\"", 408 | "beginCaptures": { 409 | "0": { 410 | "name": "punctuation.definition.string.begin.html" 411 | } 412 | }, 413 | "end": "\"", 414 | "endCaptures": { 415 | "0": { 416 | "name": "punctuation.definition.string.end.html" 417 | } 418 | }, 419 | "name": "string.quoted.double.html", 420 | "patterns": [ 421 | { 422 | "include": "#entities" 423 | }, 424 | { 425 | "include": "#htcpp-nested-elements" 426 | } 427 | ] 428 | }, 429 | { 430 | "begin": "'", 431 | "beginCaptures": { 432 | "0": { 433 | "name": "punctuation.definition.string.begin.html" 434 | } 435 | }, 436 | "end": "'", 437 | "endCaptures": { 438 | "0": { 439 | "name": "punctuation.definition.string.end.html" 440 | } 441 | }, 442 | "name": "string.quoted.single.html", 443 | "patterns": [ 444 | { 445 | "include": "#entities" 446 | } 447 | ] 448 | }, 449 | { 450 | "match": "=", 451 | "name": "invalid.illegal.unexpected-equals-sign.html" 452 | } 453 | ] 454 | } 455 | ] 456 | }, 457 | "cdata": { 458 | "begin": "", 466 | "endCaptures": { 467 | "0": { 468 | "name": "punctuation.definition.tag.end.html" 469 | } 470 | }, 471 | "name": "meta.tag.metadata.cdata.html" 472 | }, 473 | "comment": { 474 | "begin": "", 481 | "name": "comment.block.html", 482 | "patterns": [ 483 | { 484 | "match": "\\G-?>", 485 | "name": "invalid.illegal.characters-not-allowed-here.html" 486 | }, 487 | { 488 | "match": ")", 489 | "name": "invalid.illegal.characters-not-allowed-here.html" 490 | }, 491 | { 492 | "match": "--!>", 493 | "name": "invalid.illegal.characters-not-allowed-here.html" 494 | } 495 | ] 496 | }, 497 | "core-minus-invalid": { 498 | "comment": "This should be the root pattern array includes minus #tags-invalid", 499 | "patterns": [ 500 | { 501 | "include": "#xml-processing" 502 | }, 503 | { 504 | "include": "#comment" 505 | }, 506 | { 507 | "include": "#doctype" 508 | }, 509 | { 510 | "include": "#cdata" 511 | }, 512 | { 513 | "include": "#tags-valid" 514 | }, 515 | { 516 | "include": "#entities" 517 | } 518 | ] 519 | }, 520 | "doctype": { 521 | "begin": "", 528 | "endCaptures": { 529 | "0": { 530 | "name": "punctuation.definition.tag.end.html" 531 | } 532 | }, 533 | "name": "meta.tag.metadata.doctype.html", 534 | "patterns": [ 535 | { 536 | "match": "\\G(?i:DOCTYPE)", 537 | "name": "entity.name.tag.html" 538 | }, 539 | { 540 | "begin": "\"", 541 | "end": "\"", 542 | "name": "string.quoted.double.html" 543 | }, 544 | { 545 | "match": "[^\\s>]+", 546 | "name": "entity.other.attribute-name.html" 547 | } 548 | ] 549 | }, 550 | "entities": { 551 | "patterns": [ 552 | { 553 | "captures": { 554 | "1": { 555 | "name": "punctuation.definition.entity.html" 556 | }, 557 | "912": { 558 | "name": "punctuation.definition.entity.html" 559 | } 560 | }, 561 | "comment": "Yes this is a bit ridiculous, there are quite a lot of these", 562 | "match": "(?x)\n\t\t\t\t\t\t(&)\t(?=[a-zA-Z])\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t(a(s(ymp(eq)?|cr|t)|n(d(slope|d|v|and)?|g(s(t|ph)|zarr|e|le|rt(vb(d)?)?|msd(a(h|c|d|e|f|a|g|b))?)?)|c(y|irc|d|ute|E)?|tilde|o(pf|gon)|uml|p(id|os|prox(eq)?|e|E|acir)?|elig|f(r)?|w(conint|int)|l(pha|e(ph|fsym))|acute|ring|grave|m(p|a(cr|lg))|breve)|A(s(sign|cr)|nd|MP|c(y|irc)|tilde|o(pf|gon)|uml|pplyFunction|fr|Elig|lpha|acute|ring|grave|macr|breve))\n\t\t\t\t\t\t | (B(scr|cy|opf|umpeq|e(cause|ta|rnoullis)|fr|a(ckslash|r(v|wed))|reve)|b(s(cr|im(e)?|ol(hsub|b)?|emi)|n(ot|e(quiv)?)|c(y|ong)|ig(s(tar|qcup)|c(irc|up|ap)|triangle(down|up)|o(times|dot|plus)|uplus|vee|wedge)|o(t(tom)?|pf|wtie|x(h(d|u|D|U)?|times|H(d|u|D|U)?|d(R|l|r|L)|u(R|l|r|L)|plus|D(R|l|r|L)|v(R|h|H|l|r|L)?|U(R|l|r|L)|V(R|h|H|l|r|L)?|minus|box))|Not|dquo|u(ll(et)?|mp(e(q)?|E)?)|prime|e(caus(e)?|t(h|ween|a)|psi|rnou|mptyv)|karow|fr|l(ock|k(1(2|4)|34)|a(nk|ck(square|triangle(down|left|right)?|lozenge)))|a(ck(sim(eq)?|cong|prime|epsilon)|r(vee|wed(ge)?))|r(eve|vbar)|brk(tbrk)?))\n\t\t\t\t\t\t | (c(s(cr|u(p(e)?|b(e)?))|h(cy|i|eck(mark)?)|ylcty|c(irc|ups(sm)?|edil|a(ps|ron))|tdot|ir(scir|c(eq|le(d(R|circ|S|dash|ast)|arrow(left|right)))?|e|fnint|E|mid)?|o(n(int|g(dot)?)|p(y(sr)?|f|rod)|lon(e(q)?)?|m(p(fn|le(xes|ment))?|ma(t)?))|dot|u(darr(l|r)|p(s|c(up|ap)|or|dot|brcap)?|e(sc|pr)|vee|wed|larr(p)?|r(vearrow(left|right)|ly(eq(succ|prec)|vee|wedge)|arr(m)?|ren))|e(nt(erdot)?|dil|mptyv)|fr|w(conint|int)|lubs(uit)?|a(cute|p(s|c(up|ap)|dot|and|brcup)?|r(on|et))|r(oss|arr))|C(scr|hi|c(irc|onint|edil|aron)|ircle(Minus|Times|Dot|Plus)|Hcy|o(n(tourIntegral|int|gruent)|unterClockwiseContourIntegral|p(f|roduct)|lon(e)?)|dot|up(Cap)?|OPY|e(nterDot|dilla)|fr|lo(seCurly(DoubleQuote|Quote)|ckwiseContourIntegral)|a(yleys|cute|p(italDifferentialD)?)|ross))\n\t\t\t\t\t\t | (d(s(c(y|r)|trok|ol)|har(l|r)|c(y|aron)|t(dot|ri(f)?)|i(sin|e|v(ide(ontimes)?|onx)?|am(s|ond(suit)?)?|gamma)|Har|z(cy|igrarr)|o(t(square|plus|eq(dot)?|minus)?|ublebarwedge|pf|wn(harpoon(left|right)|downarrows|arrow)|llar)|d(otseq|a(rr|gger))?|u(har|arr)|jcy|e(lta|g|mptyv)|f(isht|r)|wangle|lc(orn|rop)|a(sh(v)?|leth|rr|gger)|r(c(orn|rop)|bkarow)|b(karow|lac)|Arr)|D(s(cr|trok)|c(y|aron)|Scy|i(fferentialD|a(critical(Grave|Tilde|Do(t|ubleAcute)|Acute)|mond))|o(t(Dot|Equal)?|uble(Right(Tee|Arrow)|ContourIntegral|Do(t|wnArrow)|Up(DownArrow|Arrow)|VerticalBar|L(ong(RightArrow|Left(RightArrow|Arrow))|eft(RightArrow|Tee|Arrow)))|pf|wn(Right(TeeVector|Vector(Bar)?)|Breve|Tee(Arrow)?|arrow|Left(RightVector|TeeVector|Vector(Bar)?)|Arrow(Bar|UpArrow)?))|Zcy|el(ta)?|D(otrahd)?|Jcy|fr|a(shv|rr|gger)))\n\t\t\t\t\t\t | (e(s(cr|im|dot)|n(sp|g)|c(y|ir(c)?|olon|aron)|t(h|a)|o(pf|gon)|dot|u(ro|ml)|p(si(v|lon)?|lus|ar(sl)?)|e|D(ot|Dot)|q(s(im|lant(less|gtr))|c(irc|olon)|u(iv(DD)?|est|als)|vparsl)|f(Dot|r)|l(s(dot)?|inters|l)?|a(ster|cute)|r(Dot|arr)|g(s(dot)?|rave)?|x(cl|ist|p(onentiale|ectation))|m(sp(1(3|4))?|pty(set|v)?|acr))|E(s(cr|im)|c(y|irc|aron)|ta|o(pf|gon)|NG|dot|uml|TH|psilon|qu(ilibrium|al(Tilde)?)|fr|lement|acute|grave|x(ists|ponentialE)|m(pty(SmallSquare|VerySmallSquare)|acr)))\n\t\t\t\t\t\t | (f(scr|nof|cy|ilig|o(pf|r(k(v)?|all))|jlig|partint|emale|f(ilig|l(ig|lig)|r)|l(tns|lig|at)|allingdotseq|r(own|a(sl|c(1(2|8|3|4|5|6)|78|2(3|5)|3(8|4|5)|45|5(8|6)))))|F(scr|cy|illed(SmallSquare|VerySmallSquare)|o(uriertrf|pf|rAll)|fr))\n\t\t\t\t\t\t | (G(scr|c(y|irc|edil)|t|opf|dot|T|Jcy|fr|amma(d)?|reater(Greater|SlantEqual|Tilde|Equal(Less)?|FullEqual|Less)|g|breve)|g(s(cr|im(e|l)?)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|irc)|t(c(c|ir)|dot|quest|lPar|r(sim|dot|eq(qless|less)|less|a(pprox|rr)))?|imel|opf|dot|jcy|e(s(cc|dot(o(l)?)?|l(es)?)?|q(slant|q)?|l)?|v(nE|ertneqq)|fr|E(l)?|l(j|E|a)?|a(cute|p|mma(d)?)|rave|g(g)?|breve))\n\t\t\t\t\t\t | (h(s(cr|trok|lash)|y(phen|bull)|circ|o(ok(leftarrow|rightarrow)|pf|arr|rbar|mtht)|e(llip|arts(uit)?|rcon)|ks(earow|warow)|fr|a(irsp|lf|r(dcy|r(cir|w)?)|milt)|bar|Arr)|H(s(cr|trok)|circ|ilbertSpace|o(pf|rizontalLine)|ump(DownHump|Equal)|fr|a(cek|t)|ARDcy))\n\t\t\t\t\t\t | (i(s(cr|in(s(v)?|dot|v|E)?)|n(care|t(cal|prod|e(rcal|gers)|larhk)?|odot|fin(tie)?)?|c(y|irc)?|t(ilde)?|i(nfin|i(nt|int)|ota)?|o(cy|ta|pf|gon)|u(kcy|ml)|jlig|prod|e(cy|xcl)|quest|f(f|r)|acute|grave|m(of|ped|a(cr|th|g(part|e|line))))|I(scr|n(t(e(rsection|gral))?|visible(Comma|Times))|c(y|irc)|tilde|o(ta|pf|gon)|dot|u(kcy|ml)|Ocy|Jlig|fr|Ecy|acute|grave|m(plies|a(cr|ginaryI))?))\n\t\t\t\t\t\t | (j(s(cr|ercy)|c(y|irc)|opf|ukcy|fr|math)|J(s(cr|ercy)|c(y|irc)|opf|ukcy|fr))\n\t\t\t\t\t\t | (k(scr|hcy|c(y|edil)|opf|jcy|fr|appa(v)?|green)|K(scr|c(y|edil)|Hcy|opf|Jcy|fr|appa))\n\t\t\t\t\t\t | (l(s(h|cr|trok|im(e|g)?|q(uo(r)?|b)|aquo)|h(ar(d|u(l)?)|blk)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|ub|e(il|dil)|aron)|Barr|t(hree|c(c|ir)|imes|dot|quest|larr|r(i(e|f)?|Par))?|Har|o(ng(left(arrow|rightarrow)|rightarrow|mapsto)|times|z(enge|f)?|oparrow(left|right)|p(f|lus|ar)|w(ast|bar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|r(dhar|ushar))|ur(dshar|uhar)|jcy|par(lt)?|e(s(s(sim|dot|eq(qgtr|gtr)|approx|gtr)|cc|dot(o(r)?)?|g(es)?)?|q(slant|q)?|ft(harpoon(down|up)|threetimes|leftarrows|arrow(tail)?|right(squigarrow|harpoons|arrow(s)?))|g)?|v(nE|ertneqq)|f(isht|loor|r)|E(g)?|l(hard|corner|tri|arr)?|a(ng(d|le)?|cute|t(e(s)?|ail)?|p|emptyv|quo|rr(sim|hk|tl|pl|fs|lp|b(fs)?)?|gran|mbda)|r(har(d)?|corner|tri|arr|m)|g(E)?|m(idot|oust(ache)?)|b(arr|r(k(sl(d|u)|e)|ac(e|k))|brk)|A(tail|arr|rr))|L(s(h|cr|trok)|c(y|edil|aron)|t|o(ng(RightArrow|left(arrow|rightarrow)|rightarrow|Left(RightArrow|Arrow))|pf|wer(RightArrow|LeftArrow))|T|e(ss(Greater|SlantEqual|Tilde|EqualGreater|FullEqual|Less)|ft(Right(Vector|Arrow)|Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|rightarrow|Floor|A(ngleBracket|rrow(RightArrow|Bar)?)))|Jcy|fr|l(eftarrow)?|a(ng|cute|placetrf|rr|mbda)|midot))\n\t\t\t\t\t\t | (M(scr|cy|inusPlus|opf|u|e(diumSpace|llintrf)|fr|ap)|m(s(cr|tpos)|ho|nplus|c(y|omma)|i(nus(d(u)?|b)?|cro|d(cir|dot|ast)?)|o(dels|pf)|dash|u(ltimap|map)?|p|easuredangle|DDot|fr|l(cp|dr)|a(cr|p(sto(down|up|left)?)?|l(t(ese)?|e)|rker)))\n\t\t\t\t\t\t | (n(s(hort(parallel|mid)|c(cue|e|r)?|im(e(q)?)?|u(cc(eq)?|p(set(eq(q)?)?|e|E)?|b(set(eq(q)?)?|e|E)?)|par|qsu(pe|be)|mid)|Rightarrow|h(par|arr|Arr)|G(t(v)?|g)|c(y|ong(dot)?|up|edil|a(p|ron))|t(ilde|lg|riangle(left(eq)?|right(eq)?)|gl)|i(s(d)?|v)?|o(t(ni(v(c|a|b))?|in(dot|v(c|a|b)|E)?)?|pf)|dash|u(m(sp|ero)?)?|jcy|p(olint|ar(sl|t|allel)?|r(cue|e(c(eq)?)?)?)|e(s(im|ear)|dot|quiv|ar(hk|r(ow)?)|xist(s)?|Arr)?|v(sim|infin|Harr|dash|Dash|l(t(rie)?|e|Arr)|ap|r(trie|Arr)|g(t|e))|fr|w(near|ar(hk|r(ow)?)|Arr)|V(dash|Dash)|l(sim|t(ri(e)?)?|dr|e(s(s)?|q(slant|q)?|ft(arrow|rightarrow))?|E|arr|Arr)|a(ng|cute|tur(al(s)?)?|p(id|os|prox|E)?|bla)|r(tri(e)?|ightarrow|arr(c|w)?|Arr)|g(sim|t(r)?|e(s|q(slant|q)?)?|E)|mid|L(t(v)?|eft(arrow|rightarrow)|l)|b(sp|ump(e)?))|N(scr|c(y|edil|aron)|tilde|o(nBreakingSpace|Break|t(R(ightTriangle(Bar|Equal)?|everseElement)|Greater(Greater|SlantEqual|Tilde|Equal|FullEqual|Less)?|S(u(cceeds(SlantEqual|Tilde|Equal)?|perset(Equal)?|bset(Equal)?)|quareSu(perset(Equal)?|bset(Equal)?))|Hump(DownHump|Equal)|Nested(GreaterGreater|LessLess)|C(ongruent|upCap)|Tilde(Tilde|Equal|FullEqual)?|DoubleVerticalBar|Precedes(SlantEqual|Equal)?|E(qual(Tilde)?|lement|xists)|VerticalBar|Le(ss(Greater|SlantEqual|Tilde|Equal|Less)?|ftTriangle(Bar|Equal)?))?|pf)|u|e(sted(GreaterGreater|LessLess)|wLine|gative(MediumSpace|Thi(nSpace|ckSpace)|VeryThinSpace))|Jcy|fr|acute))\n\t\t\t\t\t\t | (o(s(cr|ol|lash)|h(m|bar)|c(y|ir(c)?)|ti(lde|mes(as)?)|S|int|opf|d(sold|iv|ot|ash|blac)|uml|p(erp|lus|ar)|elig|vbar|f(cir|r)|l(c(ir|ross)|t|ine|arr)|a(st|cute)|r(slope|igof|or|d(er(of)?|f|m)?|v|arr)?|g(t|on|rave)|m(i(nus|cron|d)|ega|acr))|O(s(cr|lash)|c(y|irc)|ti(lde|mes)|opf|dblac|uml|penCurly(DoubleQuote|Quote)|ver(B(ar|rac(e|ket))|Parenthesis)|fr|Elig|acute|r|grave|m(icron|ega|acr)))\n\t\t\t\t\t\t | (p(s(cr|i)|h(i(v)?|one|mmat)|cy|i(tchfork|v)?|o(intint|und|pf)|uncsp|er(cnt|tenk|iod|p|mil)|fr|l(us(sim|cir|two|d(o|u)|e|acir|mn|b)?|an(ck(h)?|kv))|ar(s(im|l)|t|a(llel)?)?|r(sim|n(sim|E|ap)|cue|ime(s)?|o(d|p(to)?|f(surf|line|alar))|urel|e(c(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?)?|E|ap)?|m)|P(s(cr|i)|hi|cy|i|o(incareplane|pf)|fr|lusMinus|artialD|r(ime|o(duct|portion(al)?)|ecedes(SlantEqual|Tilde|Equal)?)?))\n\t\t\t\t\t\t | (q(scr|int|opf|u(ot|est(eq)?|at(int|ernions))|prime|fr)|Q(scr|opf|UOT|fr))\n\t\t\t\t\t\t | (R(s(h|cr)|ho|c(y|edil|aron)|Barr|ight(Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|Floor|A(ngleBracket|rrow(Bar|LeftArrow)?))|o(undImplies|pf)|uleDelayed|e(verse(UpEquilibrium|E(quilibrium|lement)))?|fr|EG|a(ng|cute|rr(tl)?)|rightarrow)|r(s(h|cr|q(uo(r)?|b)|aquo)|h(o(v)?|ar(d|u(l)?))|nmid|c(y|ub|e(il|dil)|aron)|Barr|t(hree|imes|ri(e|f|ltri)?)|i(singdotseq|ng|ght(squigarrow|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(tail)?|rightarrows))|Har|o(times|p(f|lus|ar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|ldhar)|uluhar|p(polint|ar(gt)?)|e(ct|al(s|ine|part)?|g)|f(isht|loor|r)|l(har|arr|m)|a(ng(d|e|le)?|c(ute|e)|t(io(nals)?|ail)|dic|emptyv|quo|rr(sim|hk|c|tl|pl|fs|w|lp|ap|b(fs)?)?)|rarr|x|moust(ache)?|b(arr|r(k(sl(d|u)|e)|ac(e|k))|brk)|A(tail|arr|rr)))\n\t\t\t\t\t\t | (s(s(cr|tarf|etmn|mile)|h(y|c(hcy|y)|ort(parallel|mid)|arp)|c(sim|y|n(sim|E|ap)|cue|irc|polint|e(dil)?|E|a(p|ron))?|t(ar(f)?|r(ns|aight(phi|epsilon)))|i(gma(v|f)?|m(ne|dot|plus|e(q)?|l(E)?|rarr|g(E)?)?)|zlig|o(pf|ftcy|l(b(ar)?)?)|dot(e|b)?|u(ng|cc(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?|p(s(im|u(p|b)|et(neq(q)?|eq(q)?)?)|hs(ol|ub)|1|n(e|E)|2|d(sub|ot)|3|plus|e(dot)?|E|larr|mult)?|m|b(s(im|u(p|b)|et(neq(q)?|eq(q)?)?)|n(e|E)|dot|plus|e(dot)?|E|rarr|mult)?)|pa(des(uit)?|r)|e(swar|ct|tm(n|inus)|ar(hk|r(ow)?)|xt|mi|Arr)|q(su(p(set(eq)?|e)?|b(set(eq)?|e)?)|c(up(s)?|ap(s)?)|u(f|ar(e|f))?)|fr(own)?|w(nwar|ar(hk|r(ow)?)|Arr)|larr|acute|rarr|m(t(e(s)?)?|i(d|le)|eparsl|a(shp|llsetminus))|bquo)|S(scr|hort(RightArrow|DownArrow|UpArrow|LeftArrow)|c(y|irc|edil|aron)?|tar|igma|H(cy|CHcy)|opf|u(c(hThat|ceeds(SlantEqual|Tilde|Equal)?)|p(set|erset(Equal)?)?|m|b(set(Equal)?)?)|OFTcy|q(uare(Su(perset(Equal)?|bset(Equal)?)|Intersection|Union)?|rt)|fr|acute|mallCircle))\n\t\t\t\t\t\t | (t(s(hcy|c(y|r)|trok)|h(i(nsp|ck(sim|approx))|orn|e(ta(sym|v)?|re(4|fore))|k(sim|ap))|c(y|edil|aron)|i(nt|lde|mes(d|b(ar)?)?)|o(sa|p(cir|f(ork)?|bot)?|ea)|dot|prime|elrec|fr|w(ixt|ohead(leftarrow|rightarrow))|a(u|rget)|r(i(sb|time|dot|plus|e|angle(down|q|left(eq)?|right(eq)?)?|minus)|pezium|ade)|brk)|T(s(cr|trok)|RADE|h(i(nSpace|ckSpace)|e(ta|refore))|c(y|edil|aron)|S(cy|Hcy)|ilde(Tilde|Equal|FullEqual)?|HORN|opf|fr|a(u|b)|ripleDot))\n\t\t\t\t\t\t | (u(scr|h(ar(l|r)|blk)|c(y|irc)|t(ilde|dot|ri(f)?)|Har|o(pf|gon)|d(har|arr|blac)|u(arr|ml)|p(si(h|lon)?|harpoon(left|right)|downarrow|uparrows|lus|arrow)|f(isht|r)|wangle|l(c(orn(er)?|rop)|tri)|a(cute|rr)|r(c(orn(er)?|rop)|tri|ing)|grave|m(l|acr)|br(cy|eve)|Arr)|U(scr|n(ion(Plus)?|der(B(ar|rac(e|ket))|Parenthesis))|c(y|irc)|tilde|o(pf|gon)|dblac|uml|p(si(lon)?|downarrow|Tee(Arrow)?|per(RightArrow|LeftArrow)|DownArrow|Equilibrium|arrow|Arrow(Bar|DownArrow)?)|fr|a(cute|rr(ocir)?)|ring|grave|macr|br(cy|eve)))\n\t\t\t\t\t\t | (v(s(cr|u(pn(e|E)|bn(e|E)))|nsu(p|b)|cy|Bar(v)?|zigzag|opf|dash|prop|e(e(eq|bar)?|llip|r(t|bar))|Dash|fr|ltri|a(ngrt|r(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|t(heta|riangle(left|right))|p(hi|i|ropto)|epsilon|kappa|r(ho)?))|rtri|Arr)|V(scr|cy|opf|dash(l)?|e(e|r(yThinSpace|t(ical(Bar|Separator|Tilde|Line))?|bar))|Dash|vdash|fr|bar))\n\t\t\t\t\t\t | (w(scr|circ|opf|p|e(ierp|d(ge(q)?|bar))|fr|r(eath)?)|W(scr|circ|opf|edge|fr))\n\t\t\t\t\t\t | (X(scr|i|opf|fr)|x(s(cr|qcup)|h(arr|Arr)|nis|c(irc|up|ap)|i|o(time|dot|p(f|lus))|dtri|u(tri|plus)|vee|fr|wedge|l(arr|Arr)|r(arr|Arr)|map))\n\t\t\t\t\t\t | (y(scr|c(y|irc)|icy|opf|u(cy|ml)|en|fr|ac(y|ute))|Y(scr|c(y|irc)|opf|uml|Icy|Ucy|fr|acute|Acy))\n\t\t\t\t\t\t | (z(scr|hcy|c(y|aron)|igrarr|opf|dot|e(ta|etrf)|fr|w(nj|j)|acute)|Z(scr|c(y|aron)|Hcy|opf|dot|e(ta|roWidthSpace)|fr|acute))\n\t\t\t\t\t\t)\n\t\t\t\t\t\t(;)\n\t\t\t\t\t", 563 | "name": "constant.character.entity.named.$2.html" 564 | }, 565 | { 566 | "captures": { 567 | "1": { 568 | "name": "punctuation.definition.entity.html" 569 | }, 570 | "3": { 571 | "name": "punctuation.definition.entity.html" 572 | } 573 | }, 574 | "match": "(&)#[0-9]+(;)", 575 | "name": "constant.character.entity.numeric.decimal.html" 576 | }, 577 | { 578 | "captures": { 579 | "1": { 580 | "name": "punctuation.definition.entity.html" 581 | }, 582 | "3": { 583 | "name": "punctuation.definition.entity.html" 584 | } 585 | }, 586 | "match": "(&)#[xX][0-9a-fA-F]+(;)", 587 | "name": "constant.character.entity.numeric.hexadecimal.html" 588 | }, 589 | { 590 | "match": "&(?=[a-zA-Z0-9]+;)", 591 | "name": "invalid.illegal.ambiguous-ampersand.html" 592 | } 593 | ] 594 | }, 595 | "math": { 596 | "patterns": [ 597 | { 598 | "begin": "(?i)(<)(math)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?", 599 | "beginCaptures": { 600 | "0": { 601 | "name": "meta.tag.structure.$2.start.html" 602 | }, 603 | "1": { 604 | "name": "punctuation.definition.tag.begin.html" 605 | }, 606 | "2": { 607 | "name": "entity.name.tag.html" 608 | }, 609 | "3": { 610 | "patterns": [ 611 | { 612 | "include": "#attribute" 613 | } 614 | ] 615 | }, 616 | "5": { 617 | "name": "punctuation.definition.tag.end.html" 618 | } 619 | }, 620 | "end": "(?i)()", 621 | "endCaptures": { 622 | "0": { 623 | "name": "meta.tag.structure.$2.end.html" 624 | }, 625 | "1": { 626 | "name": "punctuation.definition.tag.begin.html" 627 | }, 628 | "2": { 629 | "name": "entity.name.tag.html" 630 | }, 631 | "3": { 632 | "name": "punctuation.definition.tag.end.html" 633 | } 634 | }, 635 | "name": "meta.element.structure.$2.html", 636 | "patterns": [ 637 | { 638 | "begin": "(?)\\G", 639 | "end": ">", 640 | "endCaptures": { 641 | "0": { 642 | "name": "punctuation.definition.tag.end.html" 643 | } 644 | }, 645 | "name": "meta.tag.structure.start.html", 646 | "patterns": [ 647 | { 648 | "include": "#attribute" 649 | } 650 | ] 651 | }, 652 | { 653 | "include": "#tags" 654 | } 655 | ] 656 | } 657 | ], 658 | "repository": { 659 | "attribute": { 660 | "patterns": [ 661 | { 662 | "begin": "(s(hift|ymmetric|cript(sizemultiplier|level|minsize)|t(ackalign|retchy)|ide|u(pscriptshift|bscriptshift)|e(parator(s)?|lection)|rc)|h(eight|ref)|n(otation|umalign)|c(haralign|olumn(spa(n|cing)|width|lines|align)|lose|rossout)|i(n(dent(shift(first|last)?|target|align(first|last)?)|fixlinebreakstyle)|d)|o(pen|verflow)|d(i(splay(style)?|r)|e(nomalign|cimalpoint|pth))|position|e(dge|qual(columns|rows))|voffset|f(orm|ence|rame(spacing)?)|width|l(space|ine(thickness|leading|break(style|multchar)?)|o(ngdivstyle|cation)|ength|quote|argeop)|a(c(cent(under)?|tiontype)|l(t(text|img(-(height|valign|width))?)|ign(mentscope)?))|r(space|ow(spa(n|cing)|lines|align)|quote)|groupalign|x(link:href|mlns)|m(in(size|labelspacing)|ovablelimits|a(th(size|color|variant|background)|xsize))|bevelled)(?![\\w:-])", 663 | "beginCaptures": { 664 | "0": { 665 | "name": "entity.other.attribute-name.html" 666 | } 667 | }, 668 | "end": "(?=\\s*+[^=\\s])", 669 | "name": "meta.attribute.$1.html", 670 | "patterns": [ 671 | { 672 | "include": "#attribute-interior" 673 | } 674 | ] 675 | }, 676 | { 677 | "begin": "([^\\x{0020}\"'<>/=\\x{0000}-\\x{001F}\\x{007F}-\\x{009F}\\x{FDD0}-\\x{FDEF}\\x{FFFE}\\x{FFFF}\\x{1FFFE}\\x{1FFFF}\\x{2FFFE}\\x{2FFFF}\\x{3FFFE}\\x{3FFFF}\\x{4FFFE}\\x{4FFFF}\\x{5FFFE}\\x{5FFFF}\\x{6FFFE}\\x{6FFFF}\\x{7FFFE}\\x{7FFFF}\\x{8FFFE}\\x{8FFFF}\\x{9FFFE}\\x{9FFFF}\\x{AFFFE}\\x{AFFFF}\\x{BFFFE}\\x{BFFFF}\\x{CFFFE}\\x{CFFFF}\\x{DFFFE}\\x{DFFFF}\\x{EFFFE}\\x{EFFFF}\\x{FFFFE}\\x{FFFFF}\\x{10FFFE}\\x{10FFFF}]+)", 678 | "beginCaptures": { 679 | "0": { 680 | "name": "entity.other.attribute-name.html" 681 | } 682 | }, 683 | "comment": "Anything else that is valid", 684 | "end": "(?=\\s*+[^=\\s])", 685 | "name": "meta.attribute.unrecognized.$1.html", 686 | "patterns": [ 687 | { 688 | "include": "#attribute-interior" 689 | } 690 | ] 691 | }, 692 | { 693 | "match": "[^\\s>]+", 694 | "name": "invalid.illegal.character-not-allowed-here.html" 695 | } 696 | ] 697 | }, 698 | "tags": { 699 | "patterns": [ 700 | { 701 | "include": "#comment" 702 | }, 703 | { 704 | "include": "#cdata" 705 | }, 706 | { 707 | "captures": { 708 | "0": { 709 | "name": "meta.tag.structure.math.$2.void.html" 710 | }, 711 | "1": { 712 | "name": "punctuation.definition.tag.begin.html" 713 | }, 714 | "2": { 715 | "name": "entity.name.tag.html" 716 | }, 717 | "3": { 718 | "patterns": [ 719 | { 720 | "include": "#attribute" 721 | } 722 | ] 723 | }, 724 | "5": { 725 | "name": "punctuation.definition.tag.end.html" 726 | } 727 | }, 728 | "match": "(?i)(<)(annotation|annotation-xml|semantics|menclose|merror|mfenced|mfrac|mpadded|mphantom|mroot|mrow|msqrt|mstyle|mmultiscripts|mover|mprescripts|msub|msubsup|msup|munder|munderover|none|mlabeledtr|mtable|mtd|mtr|mlongdiv|mscarries|mscarry|msgroup|msline|msrow|mstack|maction)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))", 729 | "name": "meta.element.structure.math.$2.html" 730 | }, 731 | { 732 | "begin": "(?i)(<)(annotation|annotation-xml|semantics|menclose|merror|mfenced|mfrac|mpadded|mphantom|mroot|mrow|msqrt|mstyle|mmultiscripts|mover|mprescripts|msub|msubsup|msup|munder|munderover|none|mlabeledtr|mtable|mtd|mtr|mlongdiv|mscarries|mscarry|msgroup|msline|msrow|mstack|maction)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?", 733 | "beginCaptures": { 734 | "0": { 735 | "name": "meta.tag.structure.math.$2.start.html" 736 | }, 737 | "1": { 738 | "name": "punctuation.definition.tag.begin.html" 739 | }, 740 | "2": { 741 | "name": "entity.name.tag.html" 742 | }, 743 | "3": { 744 | "patterns": [ 745 | { 746 | "include": "#attribute" 747 | } 748 | ] 749 | }, 750 | "5": { 751 | "name": "punctuation.definition.tag.end.html" 752 | } 753 | }, 754 | "end": "(?i)()|(/>)|(?=)\\G", 776 | "end": "(?=/>)|>", 777 | "endCaptures": { 778 | "0": { 779 | "name": "punctuation.definition.tag.end.html" 780 | } 781 | }, 782 | "name": "meta.tag.structure.start.html", 783 | "patterns": [ 784 | { 785 | "include": "#attribute" 786 | } 787 | ] 788 | }, 789 | { 790 | "include": "#tags" 791 | } 792 | ] 793 | }, 794 | { 795 | "captures": { 796 | "0": { 797 | "name": "meta.tag.inline.math.$2.void.html" 798 | }, 799 | "1": { 800 | "name": "punctuation.definition.tag.begin.html" 801 | }, 802 | "2": { 803 | "name": "entity.name.tag.html" 804 | }, 805 | "3": { 806 | "patterns": [ 807 | { 808 | "include": "#attribute" 809 | } 810 | ] 811 | }, 812 | "5": { 813 | "name": "punctuation.definition.tag.end.html" 814 | } 815 | }, 816 | "match": "(?i)(<)(mi|mn|mo|ms|mspace|mtext|maligngroup|malignmark)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))", 817 | "name": "meta.element.inline.math.$2.html" 818 | }, 819 | { 820 | "begin": "(?i)(<)(mi|mn|mo|ms|mspace|mtext|maligngroup|malignmark)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?", 821 | "beginCaptures": { 822 | "0": { 823 | "name": "meta.tag.inline.math.$2.start.html" 824 | }, 825 | "1": { 826 | "name": "punctuation.definition.tag.begin.html" 827 | }, 828 | "2": { 829 | "name": "entity.name.tag.html" 830 | }, 831 | "3": { 832 | "patterns": [ 833 | { 834 | "include": "#attribute" 835 | } 836 | ] 837 | }, 838 | "5": { 839 | "name": "punctuation.definition.tag.end.html" 840 | } 841 | }, 842 | "end": "(?i)()|(/>)|(?=)\\G", 864 | "end": "(?=/>)|>", 865 | "endCaptures": { 866 | "0": { 867 | "name": "punctuation.definition.tag.end.html" 868 | } 869 | }, 870 | "name": "meta.tag.inline.start.html", 871 | "patterns": [ 872 | { 873 | "include": "#attribute" 874 | } 875 | ] 876 | }, 877 | { 878 | "include": "#tags" 879 | } 880 | ] 881 | }, 882 | { 883 | "captures": { 884 | "0": { 885 | "name": "meta.tag.object.math.$2.void.html" 886 | }, 887 | "1": { 888 | "name": "punctuation.definition.tag.begin.html" 889 | }, 890 | "2": { 891 | "name": "entity.name.tag.html" 892 | }, 893 | "3": { 894 | "patterns": [ 895 | { 896 | "include": "#attribute" 897 | } 898 | ] 899 | }, 900 | "5": { 901 | "name": "punctuation.definition.tag.end.html" 902 | } 903 | }, 904 | "match": "(?i)(<)(mglyph)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))", 905 | "name": "meta.element.object.math.$2.html" 906 | }, 907 | { 908 | "begin": "(?i)(<)(mglyph)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?", 909 | "beginCaptures": { 910 | "0": { 911 | "name": "meta.tag.object.math.$2.start.html" 912 | }, 913 | "1": { 914 | "name": "punctuation.definition.tag.begin.html" 915 | }, 916 | "2": { 917 | "name": "entity.name.tag.html" 918 | }, 919 | "3": { 920 | "patterns": [ 921 | { 922 | "include": "#attribute" 923 | } 924 | ] 925 | }, 926 | "5": { 927 | "name": "punctuation.definition.tag.end.html" 928 | } 929 | }, 930 | "end": "(?i)()|(/>)|(?=)\\G", 952 | "end": "(?=/>)|>", 953 | "endCaptures": { 954 | "0": { 955 | "name": "punctuation.definition.tag.end.html" 956 | } 957 | }, 958 | "name": "meta.tag.object.start.html", 959 | "patterns": [ 960 | { 961 | "include": "#attribute" 962 | } 963 | ] 964 | }, 965 | { 966 | "include": "#tags" 967 | } 968 | ] 969 | }, 970 | { 971 | "captures": { 972 | "0": { 973 | "name": "meta.tag.other.invalid.void.html" 974 | }, 975 | "1": { 976 | "name": "punctuation.definition.tag.begin.html" 977 | }, 978 | "2": { 979 | "name": "entity.name.tag.html" 980 | }, 981 | "3": { 982 | "name": "invalid.illegal.unrecognized-tag.html" 983 | }, 984 | "4": { 985 | "patterns": [ 986 | { 987 | "include": "#attribute" 988 | } 989 | ] 990 | }, 991 | "6": { 992 | "name": "punctuation.definition.tag.end.html" 993 | } 994 | }, 995 | "match": "(?i)(<)(([\\w:]+))(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))", 996 | "name": "meta.element.other.invalid.html" 997 | }, 998 | { 999 | "begin": "(?i)(<)((\\w[^\\s>]*))(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?", 1000 | "beginCaptures": { 1001 | "0": { 1002 | "name": "meta.tag.other.invalid.start.html" 1003 | }, 1004 | "1": { 1005 | "name": "punctuation.definition.tag.begin.html" 1006 | }, 1007 | "2": { 1008 | "name": "entity.name.tag.html" 1009 | }, 1010 | "3": { 1011 | "name": "invalid.illegal.unrecognized-tag.html" 1012 | }, 1013 | "4": { 1014 | "patterns": [ 1015 | { 1016 | "include": "#attribute" 1017 | } 1018 | ] 1019 | }, 1020 | "6": { 1021 | "name": "punctuation.definition.tag.end.html" 1022 | } 1023 | }, 1024 | "end": "(?i)()|(/>)|(?=)\\G", 1049 | "end": "(?=/>)|>", 1050 | "endCaptures": { 1051 | "0": { 1052 | "name": "punctuation.definition.tag.end.html" 1053 | } 1054 | }, 1055 | "name": "meta.tag.other.invalid.start.html", 1056 | "patterns": [ 1057 | { 1058 | "include": "#attribute" 1059 | } 1060 | ] 1061 | }, 1062 | { 1063 | "include": "#tags" 1064 | } 1065 | ] 1066 | }, 1067 | { 1068 | "include": "#tags-invalid" 1069 | } 1070 | ] 1071 | } 1072 | } 1073 | }, 1074 | "svg": { 1075 | "patterns": [ 1076 | { 1077 | "begin": "(?i)(<)(svg)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?", 1078 | "beginCaptures": { 1079 | "0": { 1080 | "name": "meta.tag.structure.$2.start.html" 1081 | }, 1082 | "1": { 1083 | "name": "punctuation.definition.tag.begin.html" 1084 | }, 1085 | "2": { 1086 | "name": "entity.name.tag.html" 1087 | }, 1088 | "3": { 1089 | "patterns": [ 1090 | { 1091 | "include": "#attribute" 1092 | } 1093 | ] 1094 | }, 1095 | "5": { 1096 | "name": "punctuation.definition.tag.end.html" 1097 | } 1098 | }, 1099 | "end": "(?i)()", 1100 | "endCaptures": { 1101 | "0": { 1102 | "name": "meta.tag.structure.$2.end.html" 1103 | }, 1104 | "1": { 1105 | "name": "punctuation.definition.tag.begin.html" 1106 | }, 1107 | "2": { 1108 | "name": "entity.name.tag.html" 1109 | }, 1110 | "3": { 1111 | "name": "punctuation.definition.tag.end.html" 1112 | } 1113 | }, 1114 | "name": "meta.element.structure.$2.html", 1115 | "patterns": [ 1116 | { 1117 | "begin": "(?)\\G", 1118 | "end": ">", 1119 | "endCaptures": { 1120 | "0": { 1121 | "name": "punctuation.definition.tag.end.html" 1122 | } 1123 | }, 1124 | "name": "meta.tag.structure.start.html", 1125 | "patterns": [ 1126 | { 1127 | "include": "#attribute" 1128 | } 1129 | ] 1130 | }, 1131 | { 1132 | "include": "#tags" 1133 | } 1134 | ] 1135 | } 1136 | ], 1137 | "repository": { 1138 | "attribute": { 1139 | "patterns": [ 1140 | { 1141 | "begin": "(s(hape-rendering|ystemLanguage|cale|t(yle|itchTiles|op-(color|opacity)|dDeviation|em(h|v)|artOffset|r(i(ng|kethrough-(thickness|position))|oke(-(opacity|dash(offset|array)|width|line(cap|join)|miterlimit))?))|urfaceScale|p(e(cular(Constant|Exponent)|ed)|acing|readMethod)|eed|lope)|h(oriz-(origin-x|adv-x)|eight|anging|ref(lang)?)|y(1|2|ChannelSelector)?|n(umOctaves|ame)|c(y|o(ntentS(criptType|tyleType)|lor(-(interpolation(-filters)?|profile|rendering))?)|ursor|l(ip(-(path|rule)|PathUnits)?|ass)|a(p-height|lcMode)|x)|t(ype|o|ext(-(decoration|anchor|rendering)|Length)|a(rget(X|Y)?|b(index|leValues))|ransform)|i(n(tercept|2)?|d(eographic)?|mage-rendering)|z(oomAndPan)?|o(p(erator|acity)|ver(flow|line-(thickness|position))|ffset|r(i(ent(ation)?|gin)|der))|d(y|i(splay|visor|ffuseConstant|rection)|ominant-baseline|ur|e(scent|celerate)|x)?|u(1|n(i(code(-(range|bidi))?|ts-per-em)|derline-(thickness|position))|2)|p(ing|oint(s(At(X|Y|Z))?|er-events)|a(nose-1|t(h(Length)?|tern(ContentUnits|Transform|Units))|int-order)|r(imitiveUnits|eserveA(spectRatio|lpha)))|e(n(d|able-background)|dgeMode|levation|x(ternalResourcesRequired|ponent))|v(i(sibility|ew(Box|Target))|-(hanging|ideographic|alphabetic|mathematical)|e(ctor-effect|r(sion|t-(origin-(y|x)|adv-y)))|alues)|k(1|2|3|e(y(Splines|Times|Points)|rn(ing|el(Matrix|UnitLength)))|4)?|f(y|il(ter(Res|Units)?|l(-(opacity|rule))?)|o(nt-(s(t(yle|retch)|ize(-adjust)?)|variant|family|weight)|rmat)|lood-(color|opacity)|r(om)?|x)|w(idth(s)?|ord-spacing|riting-mode)|l(i(ghting-color|mitingConeAngle)|ocal|e(ngthAdjust|tter-spacing)|ang)|a(scent|cc(umulate|ent-height)|ttribute(Name|Type)|zimuth|dditive|utoReverse|l(ignment-baseline|phabetic|lowReorder)|rabic-form|mplitude)|r(y|otate|e(s(tart|ult)|ndering-intent|peat(Count|Dur)|quired(Extensions|Features)|f(X|Y|errerPolicy)|l)|adius|x)?|g(1|2|lyph(Ref|-(name|orientation-(horizontal|vertical)))|radient(Transform|Units))|x(1|2|ChannelSelector|-height|link:(show|href|t(ype|itle)|a(ctuate|rcrole)|role)|ml:(space|lang|base))?|m(in|ode|e(thod|dia)|a(sk(ContentUnits|Units)?|thematical|rker(Height|-(start|end|mid)|Units|Width)|x))|b(y|ias|egin|ase(Profile|line-shift|Frequency)|box))(?![\\w:-])", 1142 | "beginCaptures": { 1143 | "0": { 1144 | "name": "entity.other.attribute-name.html" 1145 | } 1146 | }, 1147 | "end": "(?=\\s*+[^=\\s])", 1148 | "name": "meta.attribute.$1.html", 1149 | "patterns": [ 1150 | { 1151 | "include": "#attribute-interior" 1152 | } 1153 | ] 1154 | }, 1155 | { 1156 | "begin": "([^\\x{0020}\"'<>/=\\x{0000}-\\x{001F}\\x{007F}-\\x{009F}\\x{FDD0}-\\x{FDEF}\\x{FFFE}\\x{FFFF}\\x{1FFFE}\\x{1FFFF}\\x{2FFFE}\\x{2FFFF}\\x{3FFFE}\\x{3FFFF}\\x{4FFFE}\\x{4FFFF}\\x{5FFFE}\\x{5FFFF}\\x{6FFFE}\\x{6FFFF}\\x{7FFFE}\\x{7FFFF}\\x{8FFFE}\\x{8FFFF}\\x{9FFFE}\\x{9FFFF}\\x{AFFFE}\\x{AFFFF}\\x{BFFFE}\\x{BFFFF}\\x{CFFFE}\\x{CFFFF}\\x{DFFFE}\\x{DFFFF}\\x{EFFFE}\\x{EFFFF}\\x{FFFFE}\\x{FFFFF}\\x{10FFFE}\\x{10FFFF}]+)", 1157 | "beginCaptures": { 1158 | "0": { 1159 | "name": "entity.other.attribute-name.html" 1160 | } 1161 | }, 1162 | "comment": "Anything else that is valid", 1163 | "end": "(?=\\s*+[^=\\s])", 1164 | "name": "meta.attribute.unrecognized.$1.html", 1165 | "patterns": [ 1166 | { 1167 | "include": "#attribute-interior" 1168 | } 1169 | ] 1170 | }, 1171 | { 1172 | "match": "[^\\s>]+", 1173 | "name": "invalid.illegal.character-not-allowed-here.html" 1174 | } 1175 | ] 1176 | }, 1177 | "tags": { 1178 | "patterns": [ 1179 | { 1180 | "include": "#comment" 1181 | }, 1182 | { 1183 | "include": "#cdata" 1184 | }, 1185 | { 1186 | "captures": { 1187 | "0": { 1188 | "name": "meta.tag.metadata.svg.$2.void.html" 1189 | }, 1190 | "1": { 1191 | "name": "punctuation.definition.tag.begin.html" 1192 | }, 1193 | "2": { 1194 | "name": "entity.name.tag.html" 1195 | }, 1196 | "3": { 1197 | "patterns": [ 1198 | { 1199 | "include": "#attribute" 1200 | } 1201 | ] 1202 | }, 1203 | "5": { 1204 | "name": "punctuation.definition.tag.end.html" 1205 | } 1206 | }, 1207 | "match": "(?i)(<)(color-profile|desc|metadata|script|style|title)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))", 1208 | "name": "meta.element.metadata.svg.$2.html" 1209 | }, 1210 | { 1211 | "begin": "(?i)(<)(color-profile|desc|metadata|script|style|title)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?", 1212 | "beginCaptures": { 1213 | "0": { 1214 | "name": "meta.tag.metadata.svg.$2.start.html" 1215 | }, 1216 | "1": { 1217 | "name": "punctuation.definition.tag.begin.html" 1218 | }, 1219 | "2": { 1220 | "name": "entity.name.tag.html" 1221 | }, 1222 | "3": { 1223 | "patterns": [ 1224 | { 1225 | "include": "#attribute" 1226 | } 1227 | ] 1228 | }, 1229 | "5": { 1230 | "name": "punctuation.definition.tag.end.html" 1231 | } 1232 | }, 1233 | "end": "(?i)()|(/>)|(?=)\\G", 1255 | "end": "(?=/>)|>", 1256 | "endCaptures": { 1257 | "0": { 1258 | "name": "punctuation.definition.tag.end.html" 1259 | } 1260 | }, 1261 | "name": "meta.tag.metadata.start.html", 1262 | "patterns": [ 1263 | { 1264 | "include": "#attribute" 1265 | } 1266 | ] 1267 | }, 1268 | { 1269 | "include": "#tags" 1270 | } 1271 | ] 1272 | }, 1273 | { 1274 | "captures": { 1275 | "0": { 1276 | "name": "meta.tag.structure.svg.$2.void.html" 1277 | }, 1278 | "1": { 1279 | "name": "punctuation.definition.tag.begin.html" 1280 | }, 1281 | "2": { 1282 | "name": "entity.name.tag.html" 1283 | }, 1284 | "3": { 1285 | "patterns": [ 1286 | { 1287 | "include": "#attribute" 1288 | } 1289 | ] 1290 | }, 1291 | "5": { 1292 | "name": "punctuation.definition.tag.end.html" 1293 | } 1294 | }, 1295 | "match": "(?i)(<)(animateMotion|clipPath|defs|feComponentTransfer|feDiffuseLighting|feMerge|feSpecularLighting|filter|g|hatch|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|pattern|radialGradient|switch|text|textPath)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))", 1296 | "name": "meta.element.structure.svg.$2.html" 1297 | }, 1298 | { 1299 | "begin": "(?i)(<)(animateMotion|clipPath|defs|feComponentTransfer|feDiffuseLighting|feMerge|feSpecularLighting|filter|g|hatch|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|pattern|radialGradient|switch|text|textPath)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?", 1300 | "beginCaptures": { 1301 | "0": { 1302 | "name": "meta.tag.structure.svg.$2.start.html" 1303 | }, 1304 | "1": { 1305 | "name": "punctuation.definition.tag.begin.html" 1306 | }, 1307 | "2": { 1308 | "name": "entity.name.tag.html" 1309 | }, 1310 | "3": { 1311 | "patterns": [ 1312 | { 1313 | "include": "#attribute" 1314 | } 1315 | ] 1316 | }, 1317 | "5": { 1318 | "name": "punctuation.definition.tag.end.html" 1319 | } 1320 | }, 1321 | "end": "(?i)()|(/>)|(?=)\\G", 1343 | "end": "(?=/>)|>", 1344 | "endCaptures": { 1345 | "0": { 1346 | "name": "punctuation.definition.tag.end.html" 1347 | } 1348 | }, 1349 | "name": "meta.tag.structure.start.html", 1350 | "patterns": [ 1351 | { 1352 | "include": "#attribute" 1353 | } 1354 | ] 1355 | }, 1356 | { 1357 | "include": "#tags" 1358 | } 1359 | ] 1360 | }, 1361 | { 1362 | "captures": { 1363 | "0": { 1364 | "name": "meta.tag.inline.svg.$2.void.html" 1365 | }, 1366 | "1": { 1367 | "name": "punctuation.definition.tag.begin.html" 1368 | }, 1369 | "2": { 1370 | "name": "entity.name.tag.html" 1371 | }, 1372 | "3": { 1373 | "patterns": [ 1374 | { 1375 | "include": "#attribute" 1376 | } 1377 | ] 1378 | }, 1379 | "5": { 1380 | "name": "punctuation.definition.tag.end.html" 1381 | } 1382 | }, 1383 | "match": "(?i)(<)(a|animate|discard|feBlend|feColorMatrix|feComposite|feConvolveMatrix|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feMergeNode|feMorphology|feOffset|fePointLight|feSpotLight|feTile|feTurbulence|hatchPath|mpath|set|solidcolor|stop|tspan)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))", 1384 | "name": "meta.element.inline.svg.$2.html" 1385 | }, 1386 | { 1387 | "begin": "(?i)(<)(a|animate|discard|feBlend|feColorMatrix|feComposite|feConvolveMatrix|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feMergeNode|feMorphology|feOffset|fePointLight|feSpotLight|feTile|feTurbulence|hatchPath|mpath|set|solidcolor|stop|tspan)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?", 1388 | "beginCaptures": { 1389 | "0": { 1390 | "name": "meta.tag.inline.svg.$2.start.html" 1391 | }, 1392 | "1": { 1393 | "name": "punctuation.definition.tag.begin.html" 1394 | }, 1395 | "2": { 1396 | "name": "entity.name.tag.html" 1397 | }, 1398 | "3": { 1399 | "patterns": [ 1400 | { 1401 | "include": "#attribute" 1402 | } 1403 | ] 1404 | }, 1405 | "5": { 1406 | "name": "punctuation.definition.tag.end.html" 1407 | } 1408 | }, 1409 | "end": "(?i)()|(/>)|(?=)\\G", 1431 | "end": "(?=/>)|>", 1432 | "endCaptures": { 1433 | "0": { 1434 | "name": "punctuation.definition.tag.end.html" 1435 | } 1436 | }, 1437 | "name": "meta.tag.inline.start.html", 1438 | "patterns": [ 1439 | { 1440 | "include": "#attribute" 1441 | } 1442 | ] 1443 | }, 1444 | { 1445 | "include": "#tags" 1446 | } 1447 | ] 1448 | }, 1449 | { 1450 | "captures": { 1451 | "0": { 1452 | "name": "meta.tag.object.svg.$2.void.html" 1453 | }, 1454 | "1": { 1455 | "name": "punctuation.definition.tag.begin.html" 1456 | }, 1457 | "2": { 1458 | "name": "entity.name.tag.html" 1459 | }, 1460 | "3": { 1461 | "patterns": [ 1462 | { 1463 | "include": "#attribute" 1464 | } 1465 | ] 1466 | }, 1467 | "5": { 1468 | "name": "punctuation.definition.tag.end.html" 1469 | } 1470 | }, 1471 | "match": "(?i)(<)(circle|ellipse|feImage|foreignObject|image|line|path|polygon|polyline|rect|symbol|use|view)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))", 1472 | "name": "meta.element.object.svg.$2.html" 1473 | }, 1474 | { 1475 | "begin": "(?i)(<)(a|circle|ellipse|feImage|foreignObject|image|line|path|polygon|polyline|rect|symbol|use|view)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?", 1476 | "beginCaptures": { 1477 | "0": { 1478 | "name": "meta.tag.object.svg.$2.start.html" 1479 | }, 1480 | "1": { 1481 | "name": "punctuation.definition.tag.begin.html" 1482 | }, 1483 | "2": { 1484 | "name": "entity.name.tag.html" 1485 | }, 1486 | "3": { 1487 | "patterns": [ 1488 | { 1489 | "include": "#attribute" 1490 | } 1491 | ] 1492 | }, 1493 | "5": { 1494 | "name": "punctuation.definition.tag.end.html" 1495 | } 1496 | }, 1497 | "end": "(?i)()|(/>)|(?=)\\G", 1519 | "end": "(?=/>)|>", 1520 | "endCaptures": { 1521 | "0": { 1522 | "name": "punctuation.definition.tag.end.html" 1523 | } 1524 | }, 1525 | "name": "meta.tag.object.start.html", 1526 | "patterns": [ 1527 | { 1528 | "include": "#attribute" 1529 | } 1530 | ] 1531 | }, 1532 | { 1533 | "include": "#tags" 1534 | } 1535 | ] 1536 | }, 1537 | { 1538 | "captures": { 1539 | "0": { 1540 | "name": "meta.tag.other.svg.$2.void.html" 1541 | }, 1542 | "1": { 1543 | "name": "punctuation.definition.tag.begin.html" 1544 | }, 1545 | "2": { 1546 | "name": "entity.name.tag.html" 1547 | }, 1548 | "3": { 1549 | "name": "invalid.deprecated.html" 1550 | }, 1551 | "4": { 1552 | "patterns": [ 1553 | { 1554 | "include": "#attribute" 1555 | } 1556 | ] 1557 | }, 1558 | "6": { 1559 | "name": "punctuation.definition.tag.end.html" 1560 | } 1561 | }, 1562 | "match": "(?i)(<)((altGlyph|altGlyphDef|altGlyphItem|animateColor|animateTransform|cursor|font|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|glyph|glyphRef|hkern|missing-glyph|tref|vkern))(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))", 1563 | "name": "meta.element.other.svg.$2.html" 1564 | }, 1565 | { 1566 | "begin": "(?i)(<)((altGlyph|altGlyphDef|altGlyphItem|animateColor|animateTransform|cursor|font|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|glyph|glyphRef|hkern|missing-glyph|tref|vkern))(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?", 1567 | "beginCaptures": { 1568 | "0": { 1569 | "name": "meta.tag.other.svg.$2.start.html" 1570 | }, 1571 | "1": { 1572 | "name": "punctuation.definition.tag.begin.html" 1573 | }, 1574 | "2": { 1575 | "name": "entity.name.tag.html" 1576 | }, 1577 | "3": { 1578 | "name": "invalid.deprecated.html" 1579 | }, 1580 | "4": { 1581 | "patterns": [ 1582 | { 1583 | "include": "#attribute" 1584 | } 1585 | ] 1586 | }, 1587 | "6": { 1588 | "name": "punctuation.definition.tag.end.html" 1589 | } 1590 | }, 1591 | "end": "(?i)()|(/>)|(?=)\\G", 1616 | "end": "(?=/>)|>", 1617 | "endCaptures": { 1618 | "0": { 1619 | "name": "punctuation.definition.tag.end.html" 1620 | } 1621 | }, 1622 | "name": "meta.tag.other.start.html", 1623 | "patterns": [ 1624 | { 1625 | "include": "#attribute" 1626 | } 1627 | ] 1628 | }, 1629 | { 1630 | "include": "#tags" 1631 | } 1632 | ] 1633 | }, 1634 | { 1635 | "captures": { 1636 | "0": { 1637 | "name": "meta.tag.other.invalid.void.html" 1638 | }, 1639 | "1": { 1640 | "name": "punctuation.definition.tag.begin.html" 1641 | }, 1642 | "2": { 1643 | "name": "entity.name.tag.html" 1644 | }, 1645 | "3": { 1646 | "name": "invalid.illegal.unrecognized-tag.html" 1647 | }, 1648 | "4": { 1649 | "patterns": [ 1650 | { 1651 | "include": "#attribute" 1652 | } 1653 | ] 1654 | }, 1655 | "6": { 1656 | "name": "punctuation.definition.tag.end.html" 1657 | } 1658 | }, 1659 | "match": "(?i)(<)(([\\w:]+))(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))", 1660 | "name": "meta.element.other.invalid.html" 1661 | }, 1662 | { 1663 | "begin": "(?i)(<)((\\w[^\\s>]*))(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?", 1664 | "beginCaptures": { 1665 | "0": { 1666 | "name": "meta.tag.other.invalid.start.html" 1667 | }, 1668 | "1": { 1669 | "name": "punctuation.definition.tag.begin.html" 1670 | }, 1671 | "2": { 1672 | "name": "entity.name.tag.html" 1673 | }, 1674 | "3": { 1675 | "name": "invalid.illegal.unrecognized-tag.html" 1676 | }, 1677 | "4": { 1678 | "patterns": [ 1679 | { 1680 | "include": "#attribute" 1681 | } 1682 | ] 1683 | }, 1684 | "6": { 1685 | "name": "punctuation.definition.tag.end.html" 1686 | } 1687 | }, 1688 | "end": "(?i)()|(/>)|(?=)\\G", 1713 | "end": "(?=/>)|>", 1714 | "endCaptures": { 1715 | "0": { 1716 | "name": "punctuation.definition.tag.end.html" 1717 | } 1718 | }, 1719 | "name": "meta.tag.other.invalid.start.html", 1720 | "patterns": [ 1721 | { 1722 | "include": "#attribute" 1723 | } 1724 | ] 1725 | }, 1726 | { 1727 | "include": "#tags" 1728 | } 1729 | ] 1730 | }, 1731 | { 1732 | "include": "#tags-invalid" 1733 | } 1734 | ] 1735 | } 1736 | } 1737 | }, 1738 | "tags-invalid": { 1739 | "patterns": [ 1740 | { 1741 | "begin": "(]*))(?)", 1754 | "endCaptures": { 1755 | "1": { 1756 | "name": "punctuation.definition.tag.end.html" 1757 | } 1758 | }, 1759 | "name": "meta.tag.other.$2.html", 1760 | "patterns": [ 1761 | { 1762 | "include": "#attribute" 1763 | } 1764 | ] 1765 | } 1766 | ] 1767 | }, 1768 | "tags-valid": { 1769 | "patterns": [ 1770 | { 1771 | "begin": "(^[ \\t]+)?(?=<(?i:style)\\b(?!-))", 1772 | "beginCaptures": { 1773 | "1": { 1774 | "name": "punctuation.whitespace.embedded.leading.html" 1775 | } 1776 | }, 1777 | "end": "(?!\\G)([ \\t]*$\\n?)?", 1778 | "endCaptures": { 1779 | "1": { 1780 | "name": "punctuation.whitespace.embedded.trailing.html" 1781 | } 1782 | }, 1783 | "patterns": [ 1784 | { 1785 | "begin": "(?i)(<)(style)(?=\\s|/?>)", 1786 | "beginCaptures": { 1787 | "0": { 1788 | "name": "meta.tag.metadata.style.start.html" 1789 | }, 1790 | "1": { 1791 | "name": "punctuation.definition.tag.begin.html" 1792 | }, 1793 | "2": { 1794 | "name": "entity.name.tag.html" 1795 | } 1796 | }, 1797 | "end": "(?i)((<)/)(style)\\s*(>)", 1798 | "endCaptures": { 1799 | "0": { 1800 | "name": "meta.tag.metadata.style.end.html" 1801 | }, 1802 | "1": { 1803 | "name": "punctuation.definition.tag.begin.html" 1804 | }, 1805 | "2": { 1806 | "name": "source.css-ignored-vscode" 1807 | }, 1808 | "3": { 1809 | "name": "entity.name.tag.html" 1810 | }, 1811 | "4": { 1812 | "name": "punctuation.definition.tag.end.html" 1813 | } 1814 | }, 1815 | "name": "meta.embedded.block.html", 1816 | "patterns": [ 1817 | { 1818 | "begin": "\\G", 1819 | "captures": { 1820 | "1": { 1821 | "name": "punctuation.definition.tag.end.html" 1822 | } 1823 | }, 1824 | "end": "(>)", 1825 | "name": "meta.tag.metadata.style.start.html", 1826 | "patterns": [ 1827 | { 1828 | "include": "#attribute" 1829 | } 1830 | ] 1831 | }, 1832 | { 1833 | "begin": "(?!\\G)", 1834 | "end": "(?=)", 1877 | "endCaptures": { 1878 | "0": { 1879 | "name": "meta.tag.metadata.script.end.html" 1880 | }, 1881 | "1": { 1882 | "name": "punctuation.definition.tag.begin.html" 1883 | }, 1884 | "2": { 1885 | "name": "entity.name.tag.html" 1886 | }, 1887 | "3": { 1888 | "name": "punctuation.definition.tag.end.html" 1889 | } 1890 | }, 1891 | "name": "meta.embedded.block.html", 1892 | "patterns": [ 1893 | { 1894 | "begin": "\\G", 1895 | "end": "(?=/)", 1896 | "patterns": [ 1897 | { 1898 | "begin": "(>)", 1899 | "beginCaptures": { 1900 | "0": { 1901 | "name": "meta.tag.metadata.script.start.html" 1902 | }, 1903 | "1": { 1904 | "name": "punctuation.definition.tag.end.html" 1905 | } 1906 | }, 1907 | "end": "((<))(?=/(?i:script))", 1908 | "endCaptures": { 1909 | "0": { 1910 | "name": "meta.tag.metadata.script.end.html" 1911 | }, 1912 | "1": { 1913 | "name": "punctuation.definition.tag.begin.html" 1914 | }, 1915 | "2": { 1916 | "name": "source.js-ignored-vscode" 1917 | } 1918 | }, 1919 | "patterns": [ 1920 | { 1921 | "begin": "\\G", 1922 | "end": "(?=\t\t\t\t\t\t\t\t\t\t\t# Tag without type attribute\n\t\t\t\t\t\t\t\t\t\t\t\t | type(?=[\\s=])\n\t\t\t\t\t\t\t\t\t\t\t\t \t(?!\\s*=\\s*\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t''\t\t\t\t\t\t\t\t# Empty\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t | \"\"\t\t\t\t\t\t\t\t\t# Values\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t | ('|\"|)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttext/\t\t\t\t\t\t\t# Text mime-types\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tjavascript(1\\.[0-5])?\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t | x-javascript\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t | jscript\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t | livescript\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t | (x-)?ecmascript\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t | babel\t\t\t\t\t\t# Javascript variant currently\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t\t\t\t\t\t\t\t# recognized as such\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t | application/\t\t\t\t\t# Application mime-types\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(x-)?javascript\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t | (x-)?ecmascript\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t | module\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[\\s\"'>]\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t)", 1969 | "name": "meta.tag.metadata.script.start.html", 1970 | "patterns": [ 1971 | { 1972 | "include": "#attribute" 1973 | } 1974 | ] 1975 | }, 1976 | { 1977 | "begin": "(?ix:\n\t\t\t\t\t\t\t\t\t\t\t\t(?=\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype\\s*=\\s*\n\t\t\t\t\t\t\t\t\t\t\t\t\t('|\"|)\n\t\t\t\t\t\t\t\t\t\t\t\t\ttext/\n\t\t\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tx-handlebars\n\t\t\t\t\t\t\t\t\t\t\t\t\t | (x-(handlebars-)?|ng-)?template\n\t\t\t\t\t\t\t\t\t\t\t\t\t | html\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t[\\s\"'>]\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t)", 1978 | "end": "((<))(?=/(?i:script))", 1979 | "endCaptures": { 1980 | "0": { 1981 | "name": "meta.tag.metadata.script.end.html" 1982 | }, 1983 | "1": { 1984 | "name": "punctuation.definition.tag.begin.html" 1985 | }, 1986 | "2": { 1987 | "name": "text.html.basic" 1988 | } 1989 | }, 1990 | "patterns": [ 1991 | { 1992 | "begin": "\\G", 1993 | "end": "(>)", 1994 | "endCaptures": { 1995 | "1": { 1996 | "name": "punctuation.definition.tag.end.html" 1997 | } 1998 | }, 1999 | "name": "meta.tag.metadata.script.start.html", 2000 | "patterns": [ 2001 | { 2002 | "include": "#attribute" 2003 | } 2004 | ] 2005 | }, 2006 | { 2007 | "begin": "(?!\\G)", 2008 | "end": "(?=)", 2033 | "endCaptures": { 2034 | "1": { 2035 | "name": "punctuation.definition.tag.end.html" 2036 | } 2037 | }, 2038 | "name": "meta.tag.metadata.script.start.html", 2039 | "patterns": [ 2040 | { 2041 | "include": "#attribute" 2042 | } 2043 | ] 2044 | }, 2045 | { 2046 | "begin": "(?!\\G)", 2047 | "end": "(?=)", 2060 | "beginCaptures": { 2061 | "1": { 2062 | "name": "punctuation.definition.tag.begin.html" 2063 | }, 2064 | "2": { 2065 | "name": "entity.name.tag.html" 2066 | } 2067 | }, 2068 | "end": "/?>", 2069 | "endCaptures": { 2070 | "0": { 2071 | "name": "punctuation.definition.tag.end.html" 2072 | } 2073 | }, 2074 | "name": "meta.tag.metadata.$2.void.html", 2075 | "patterns": [ 2076 | { 2077 | "include": "#attribute" 2078 | } 2079 | ] 2080 | }, 2081 | { 2082 | "begin": "(?i)(<)(noscript|title)(?=\\s|/?>)", 2083 | "beginCaptures": { 2084 | "1": { 2085 | "name": "punctuation.definition.tag.begin.html" 2086 | }, 2087 | "2": { 2088 | "name": "entity.name.tag.html" 2089 | } 2090 | }, 2091 | "end": ">", 2092 | "endCaptures": { 2093 | "0": { 2094 | "name": "punctuation.definition.tag.end.html" 2095 | } 2096 | }, 2097 | "name": "meta.tag.metadata.$2.start.html", 2098 | "patterns": [ 2099 | { 2100 | "include": "#attribute" 2101 | } 2102 | ] 2103 | }, 2104 | { 2105 | "begin": "(?i)()", 2106 | "beginCaptures": { 2107 | "1": { 2108 | "name": "punctuation.definition.tag.begin.html" 2109 | }, 2110 | "2": { 2111 | "name": "entity.name.tag.html" 2112 | } 2113 | }, 2114 | "end": ">", 2115 | "endCaptures": { 2116 | "0": { 2117 | "name": "punctuation.definition.tag.end.html" 2118 | } 2119 | }, 2120 | "name": "meta.tag.metadata.$2.end.html", 2121 | "patterns": [ 2122 | { 2123 | "include": "#attribute" 2124 | } 2125 | ] 2126 | }, 2127 | { 2128 | "begin": "(?i)(<)(col|hr|input)(?=\\s|/?>)", 2129 | "beginCaptures": { 2130 | "1": { 2131 | "name": "punctuation.definition.tag.begin.html" 2132 | }, 2133 | "2": { 2134 | "name": "entity.name.tag.html" 2135 | } 2136 | }, 2137 | "end": "/?>", 2138 | "endCaptures": { 2139 | "0": { 2140 | "name": "punctuation.definition.tag.end.html" 2141 | } 2142 | }, 2143 | "name": "meta.tag.structure.$2.void.html", 2144 | "patterns": [ 2145 | { 2146 | "include": "#attribute" 2147 | } 2148 | ] 2149 | }, 2150 | { 2151 | "begin": "(?i)(<)(address|article|aside|blockquote|body|button|caption|colgroup|datalist|dd|details|dialog|div|dl|dt|fieldset|figcaption|figure|footer|form|head|header|hgroup|html|h[1-6]|label|legend|li|main|map|menu|meter|nav|ol|optgroup|option|output|p|pre|progress|section|select|slot|summary|table|tbody|td|template|textarea|tfoot|th|thead|tr|ul)(?=\\s|/?>)", 2152 | "beginCaptures": { 2153 | "1": { 2154 | "name": "punctuation.definition.tag.begin.html" 2155 | }, 2156 | "2": { 2157 | "name": "entity.name.tag.html" 2158 | } 2159 | }, 2160 | "end": ">", 2161 | "endCaptures": { 2162 | "0": { 2163 | "name": "punctuation.definition.tag.end.html" 2164 | } 2165 | }, 2166 | "name": "meta.tag.structure.$2.start.html", 2167 | "patterns": [ 2168 | { 2169 | "include": "#attribute" 2170 | } 2171 | ] 2172 | }, 2173 | { 2174 | "begin": "(?i)()", 2175 | "beginCaptures": { 2176 | "1": { 2177 | "name": "punctuation.definition.tag.begin.html" 2178 | }, 2179 | "2": { 2180 | "name": "entity.name.tag.html" 2181 | } 2182 | }, 2183 | "end": ">", 2184 | "endCaptures": { 2185 | "0": { 2186 | "name": "punctuation.definition.tag.end.html" 2187 | } 2188 | }, 2189 | "name": "meta.tag.structure.$2.end.html", 2190 | "patterns": [ 2191 | { 2192 | "include": "#attribute" 2193 | } 2194 | ] 2195 | }, 2196 | { 2197 | "begin": "(?i)(<)(area|br|wbr)(?=\\s|/?>)", 2198 | "beginCaptures": { 2199 | "1": { 2200 | "name": "punctuation.definition.tag.begin.html" 2201 | }, 2202 | "2": { 2203 | "name": "entity.name.tag.html" 2204 | } 2205 | }, 2206 | "end": "/?>", 2207 | "endCaptures": { 2208 | "0": { 2209 | "name": "punctuation.definition.tag.end.html" 2210 | } 2211 | }, 2212 | "name": "meta.tag.inline.$2.void.html", 2213 | "patterns": [ 2214 | { 2215 | "include": "#attribute" 2216 | } 2217 | ] 2218 | }, 2219 | { 2220 | "begin": "(?i)(<)(a|abbr|b|bdi|bdo|cite|code|data|del|dfn|em|i|ins|kbd|mark|q|rp|rt|ruby|s|samp|small|span|strong|sub|sup|time|u|var)(?=\\s|/?>)", 2221 | "beginCaptures": { 2222 | "1": { 2223 | "name": "punctuation.definition.tag.begin.html" 2224 | }, 2225 | "2": { 2226 | "name": "entity.name.tag.html" 2227 | } 2228 | }, 2229 | "end": ">", 2230 | "endCaptures": { 2231 | "0": { 2232 | "name": "punctuation.definition.tag.end.html" 2233 | } 2234 | }, 2235 | "name": "meta.tag.inline.$2.start.html", 2236 | "patterns": [ 2237 | { 2238 | "include": "#attribute" 2239 | } 2240 | ] 2241 | }, 2242 | { 2243 | "begin": "(?i)()", 2244 | "beginCaptures": { 2245 | "1": { 2246 | "name": "punctuation.definition.tag.begin.html" 2247 | }, 2248 | "2": { 2249 | "name": "entity.name.tag.html" 2250 | } 2251 | }, 2252 | "end": ">", 2253 | "endCaptures": { 2254 | "0": { 2255 | "name": "punctuation.definition.tag.end.html" 2256 | } 2257 | }, 2258 | "name": "meta.tag.inline.$2.end.html", 2259 | "patterns": [ 2260 | { 2261 | "include": "#attribute" 2262 | } 2263 | ] 2264 | }, 2265 | { 2266 | "begin": "(?i)(<)(embed|img|param|source|track)(?=\\s|/?>)", 2267 | "beginCaptures": { 2268 | "1": { 2269 | "name": "punctuation.definition.tag.begin.html" 2270 | }, 2271 | "2": { 2272 | "name": "entity.name.tag.html" 2273 | } 2274 | }, 2275 | "end": "/?>", 2276 | "endCaptures": { 2277 | "0": { 2278 | "name": "punctuation.definition.tag.end.html" 2279 | } 2280 | }, 2281 | "name": "meta.tag.object.$2.void.html", 2282 | "patterns": [ 2283 | { 2284 | "include": "#attribute" 2285 | } 2286 | ] 2287 | }, 2288 | { 2289 | "begin": "(?i)(<)(audio|canvas|iframe|object|picture|video)(?=\\s|/?>)", 2290 | "beginCaptures": { 2291 | "1": { 2292 | "name": "punctuation.definition.tag.begin.html" 2293 | }, 2294 | "2": { 2295 | "name": "entity.name.tag.html" 2296 | } 2297 | }, 2298 | "end": ">", 2299 | "endCaptures": { 2300 | "0": { 2301 | "name": "punctuation.definition.tag.end.html" 2302 | } 2303 | }, 2304 | "name": "meta.tag.object.$2.start.html", 2305 | "patterns": [ 2306 | { 2307 | "include": "#attribute" 2308 | } 2309 | ] 2310 | }, 2311 | { 2312 | "begin": "(?i)()", 2313 | "beginCaptures": { 2314 | "1": { 2315 | "name": "punctuation.definition.tag.begin.html" 2316 | }, 2317 | "2": { 2318 | "name": "entity.name.tag.html" 2319 | } 2320 | }, 2321 | "end": ">", 2322 | "endCaptures": { 2323 | "0": { 2324 | "name": "punctuation.definition.tag.end.html" 2325 | } 2326 | }, 2327 | "name": "meta.tag.object.$2.end.html", 2328 | "patterns": [ 2329 | { 2330 | "include": "#attribute" 2331 | } 2332 | ] 2333 | }, 2334 | { 2335 | "begin": "(?i)(<)((basefont|isindex))(?=\\s|/?>)", 2336 | "beginCaptures": { 2337 | "1": { 2338 | "name": "punctuation.definition.tag.begin.html" 2339 | }, 2340 | "2": { 2341 | "name": "entity.name.tag.html" 2342 | }, 2343 | "3": { 2344 | "name": "invalid.deprecated.html" 2345 | } 2346 | }, 2347 | "end": "/?>", 2348 | "endCaptures": { 2349 | "0": { 2350 | "name": "punctuation.definition.tag.end.html" 2351 | } 2352 | }, 2353 | "name": "meta.tag.metadata.$2.void.html", 2354 | "patterns": [ 2355 | { 2356 | "include": "#attribute" 2357 | } 2358 | ] 2359 | }, 2360 | { 2361 | "begin": "(?i)(<)((center|frameset|noembed|noframes))(?=\\s|/?>)", 2362 | "beginCaptures": { 2363 | "1": { 2364 | "name": "punctuation.definition.tag.begin.html" 2365 | }, 2366 | "2": { 2367 | "name": "entity.name.tag.html" 2368 | }, 2369 | "3": { 2370 | "name": "invalid.deprecated.html" 2371 | } 2372 | }, 2373 | "end": ">", 2374 | "endCaptures": { 2375 | "0": { 2376 | "name": "punctuation.definition.tag.end.html" 2377 | } 2378 | }, 2379 | "name": "meta.tag.structure.$2.start.html", 2380 | "patterns": [ 2381 | { 2382 | "include": "#attribute" 2383 | } 2384 | ] 2385 | }, 2386 | { 2387 | "begin": "(?i)()", 2388 | "beginCaptures": { 2389 | "1": { 2390 | "name": "punctuation.definition.tag.begin.html" 2391 | }, 2392 | "2": { 2393 | "name": "entity.name.tag.html" 2394 | }, 2395 | "3": { 2396 | "name": "invalid.deprecated.html" 2397 | } 2398 | }, 2399 | "end": ">", 2400 | "endCaptures": { 2401 | "0": { 2402 | "name": "punctuation.definition.tag.end.html" 2403 | } 2404 | }, 2405 | "name": "meta.tag.structure.$2.end.html", 2406 | "patterns": [ 2407 | { 2408 | "include": "#attribute" 2409 | } 2410 | ] 2411 | }, 2412 | { 2413 | "begin": "(?i)(<)((acronym|big|blink|font|strike|tt|xmp))(?=\\s|/?>)", 2414 | "beginCaptures": { 2415 | "1": { 2416 | "name": "punctuation.definition.tag.begin.html" 2417 | }, 2418 | "2": { 2419 | "name": "entity.name.tag.html" 2420 | }, 2421 | "3": { 2422 | "name": "invalid.deprecated.html" 2423 | } 2424 | }, 2425 | "end": ">", 2426 | "endCaptures": { 2427 | "0": { 2428 | "name": "punctuation.definition.tag.end.html" 2429 | } 2430 | }, 2431 | "name": "meta.tag.inline.$2.start.html", 2432 | "patterns": [ 2433 | { 2434 | "include": "#attribute" 2435 | } 2436 | ] 2437 | }, 2438 | { 2439 | "begin": "(?i)()", 2440 | "beginCaptures": { 2441 | "1": { 2442 | "name": "punctuation.definition.tag.begin.html" 2443 | }, 2444 | "2": { 2445 | "name": "entity.name.tag.html" 2446 | }, 2447 | "3": { 2448 | "name": "invalid.deprecated.html" 2449 | } 2450 | }, 2451 | "end": ">", 2452 | "endCaptures": { 2453 | "0": { 2454 | "name": "punctuation.definition.tag.end.html" 2455 | } 2456 | }, 2457 | "name": "meta.tag.inline.$2.end.html", 2458 | "patterns": [ 2459 | { 2460 | "include": "#attribute" 2461 | } 2462 | ] 2463 | }, 2464 | { 2465 | "begin": "(?i)(<)((frame))(?=\\s|/?>)", 2466 | "beginCaptures": { 2467 | "1": { 2468 | "name": "punctuation.definition.tag.begin.html" 2469 | }, 2470 | "2": { 2471 | "name": "entity.name.tag.html" 2472 | }, 2473 | "3": { 2474 | "name": "invalid.deprecated.html" 2475 | } 2476 | }, 2477 | "end": "/?>", 2478 | "endCaptures": { 2479 | "0": { 2480 | "name": "punctuation.definition.tag.end.html" 2481 | } 2482 | }, 2483 | "name": "meta.tag.object.$2.void.html", 2484 | "patterns": [ 2485 | { 2486 | "include": "#attribute" 2487 | } 2488 | ] 2489 | }, 2490 | { 2491 | "begin": "(?i)(<)((applet))(?=\\s|/?>)", 2492 | "beginCaptures": { 2493 | "1": { 2494 | "name": "punctuation.definition.tag.begin.html" 2495 | }, 2496 | "2": { 2497 | "name": "entity.name.tag.html" 2498 | }, 2499 | "3": { 2500 | "name": "invalid.deprecated.html" 2501 | } 2502 | }, 2503 | "end": ">", 2504 | "endCaptures": { 2505 | "0": { 2506 | "name": "punctuation.definition.tag.end.html" 2507 | } 2508 | }, 2509 | "name": "meta.tag.object.$2.start.html", 2510 | "patterns": [ 2511 | { 2512 | "include": "#attribute" 2513 | } 2514 | ] 2515 | }, 2516 | { 2517 | "begin": "(?i)()", 2518 | "beginCaptures": { 2519 | "1": { 2520 | "name": "punctuation.definition.tag.begin.html" 2521 | }, 2522 | "2": { 2523 | "name": "entity.name.tag.html" 2524 | }, 2525 | "3": { 2526 | "name": "invalid.deprecated.html" 2527 | } 2528 | }, 2529 | "end": ">", 2530 | "endCaptures": { 2531 | "0": { 2532 | "name": "punctuation.definition.tag.end.html" 2533 | } 2534 | }, 2535 | "name": "meta.tag.object.$2.end.html", 2536 | "patterns": [ 2537 | { 2538 | "include": "#attribute" 2539 | } 2540 | ] 2541 | }, 2542 | { 2543 | "begin": "(?i)(<)((dir|keygen|listing|menuitem|plaintext|spacer))(?=\\s|/?>)", 2544 | "beginCaptures": { 2545 | "1": { 2546 | "name": "punctuation.definition.tag.begin.html" 2547 | }, 2548 | "2": { 2549 | "name": "entity.name.tag.html" 2550 | }, 2551 | "3": { 2552 | "name": "invalid.illegal.no-longer-supported.html" 2553 | } 2554 | }, 2555 | "end": ">", 2556 | "endCaptures": { 2557 | "0": { 2558 | "name": "punctuation.definition.tag.end.html" 2559 | } 2560 | }, 2561 | "name": "meta.tag.other.$2.start.html", 2562 | "patterns": [ 2563 | { 2564 | "include": "#attribute" 2565 | } 2566 | ] 2567 | }, 2568 | { 2569 | "begin": "(?i)()", 2570 | "beginCaptures": { 2571 | "1": { 2572 | "name": "punctuation.definition.tag.begin.html" 2573 | }, 2574 | "2": { 2575 | "name": "entity.name.tag.html" 2576 | }, 2577 | "3": { 2578 | "name": "invalid.illegal.no-longer-supported.html" 2579 | } 2580 | }, 2581 | "end": ">", 2582 | "endCaptures": { 2583 | "0": { 2584 | "name": "punctuation.definition.tag.end.html" 2585 | } 2586 | }, 2587 | "name": "meta.tag.other.$2.end.html", 2588 | "patterns": [ 2589 | { 2590 | "include": "#attribute" 2591 | } 2592 | ] 2593 | }, 2594 | { 2595 | "include": "#math" 2596 | }, 2597 | { 2598 | "include": "#svg" 2599 | }, 2600 | { 2601 | "begin": "(<)([a-zA-Z][.0-9_a-zA-Z\\x{00B7}\\x{00C0}-\\x{00D6}\\x{00D8}-\\x{00F6}\\x{00F8}-\\x{037D}\\x{037F}-\\x{1FFF}\\x{200C}-\\x{200D}\\x{203F}-\\x{2040}\\x{2070}-\\x{218F}\\x{2C00}-\\x{2FEF}\\x{3001}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFFD}\\x{10000}-\\x{EFFFF}]*-[\\-.0-9_a-zA-Z\\x{00B7}\\x{00C0}-\\x{00D6}\\x{00D8}-\\x{00F6}\\x{00F8}-\\x{037D}\\x{037F}-\\x{1FFF}\\x{200C}-\\x{200D}\\x{203F}-\\x{2040}\\x{2070}-\\x{218F}\\x{2C00}-\\x{2FEF}\\x{3001}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFFD}\\x{10000}-\\x{EFFFF}]*)(?=\\s|/?>)", 2602 | "beginCaptures": { 2603 | "1": { 2604 | "name": "punctuation.definition.tag.begin.html" 2605 | }, 2606 | "2": { 2607 | "name": "entity.name.tag.html" 2608 | } 2609 | }, 2610 | "end": "/?>", 2611 | "endCaptures": { 2612 | "0": { 2613 | "name": "punctuation.definition.tag.end.html" 2614 | } 2615 | }, 2616 | "name": "meta.tag.custom.start.html", 2617 | "patterns": [ 2618 | { 2619 | "include": "#attribute" 2620 | } 2621 | ] 2622 | }, 2623 | { 2624 | "begin": "()", 2625 | "beginCaptures": { 2626 | "1": { 2627 | "name": "punctuation.definition.tag.begin.html" 2628 | }, 2629 | "2": { 2630 | "name": "entity.name.tag.html" 2631 | } 2632 | }, 2633 | "end": ">", 2634 | "endCaptures": { 2635 | "0": { 2636 | "name": "punctuation.definition.tag.end.html" 2637 | } 2638 | }, 2639 | "name": "meta.tag.custom.end.html", 2640 | "patterns": [ 2641 | { 2642 | "include": "#attribute" 2643 | } 2644 | ] 2645 | } 2646 | ] 2647 | }, 2648 | "xml-processing": { 2649 | "begin": "(<\\?)(xml)", 2650 | "captures": { 2651 | "1": { 2652 | "name": "punctuation.definition.tag.html" 2653 | }, 2654 | "2": { 2655 | "name": "entity.name.tag.html" 2656 | } 2657 | }, 2658 | "end": "(\\?>)", 2659 | "name": "meta.tag.metadata.processing.xml.html", 2660 | "patterns": [ 2661 | { 2662 | "include": "#attribute" 2663 | } 2664 | ] 2665 | }, 2666 | "htcpp-expression": { 2667 | "name": "meta.embedded.block.cpp", 2668 | "begin": "\\$\\(", 2669 | "patterns":[ 2670 | {"include": "source.cpp"} 2671 | ], 2672 | "end": "\\)", 2673 | "beginCaptures": { 2674 | "0": {"name": "comment.block.html"} 2675 | }, 2676 | "endCaptures": { 2677 | "0": {"name": "comment.block.html"} 2678 | } 2679 | }, 2680 | "htcpp-statement": { 2681 | "name": "meta.embedded.block.cpp", 2682 | "begin": "\\$\\{", 2683 | "end": "\\}", 2684 | "beginCaptures": { 2685 | "0": {"name": "comment.block.html"} 2686 | }, 2687 | "endCaptures": { 2688 | "0": {"name": "comment.block.html"} 2689 | }, 2690 | "patterns":[ 2691 | {"include": "source.cpp"} 2692 | ] 2693 | }, 2694 | "htcpp-global-statement": { 2695 | "name": "meta.embedded.block.cpp", 2696 | "begin": "#\\{", 2697 | "end": "\\}", 2698 | "beginCaptures": { 2699 | "0": {"name": "comment.block.html"} 2700 | }, 2701 | "endCaptures": { 2702 | "0": {"name": "comment.block.html"} 2703 | }, 2704 | "patterns":[ 2705 | {"include": "source.cpp"} 2706 | ] 2707 | }, 2708 | "htcpp-procedure": { 2709 | "name": "meta.embedded.block.cpp", 2710 | "begin": "#\\w+\\(\\)\\{", 2711 | "end": "\\}", 2712 | "beginCaptures": { 2713 | "0": {"name": "comment.block.html"} 2714 | }, 2715 | "endCaptures": { 2716 | "0": {"name": "comment.block.html"} 2717 | }, 2718 | "patterns":[ 2719 | {"include": "template.htcpp"} 2720 | ] 2721 | }, 2722 | "htcpp-condition": { 2723 | "name": "meta.embedded.block.cpp", 2724 | "begin": "(?<=[\\]\\]|\\[\\[|>|\\)|\\(])\\?\\(", 2725 | "patterns":[ 2726 | {"include": "source.cpp"} 2727 | ], 2728 | "end": "\\)", 2729 | "beginCaptures": { 2730 | "0": {"name": "comment.block.html"} 2731 | }, 2732 | "endCaptures": { 2733 | "0": {"name": "comment.block.html"} 2734 | } 2735 | }, 2736 | "htcpp-loop": { 2737 | "name": "meta.embedded.block.cpp", 2738 | "begin": "(?<=[\\]\\]|\\[\\[|>|\\)|\\(])@\\(", 2739 | "patterns":[ 2740 | {"include": "source.cpp"} 2741 | ], 2742 | "end": "\\)", 2743 | "beginCaptures": { 2744 | "0": {"name": "comment.block.html"} 2745 | }, 2746 | "endCaptures": { 2747 | "0": {"name": "comment.block.html"} 2748 | } 2749 | }, 2750 | "htcpp-section": { 2751 | "begin": "\\[\\[", 2752 | "beginCaptures": { 2753 | "0": { 2754 | "name": "comment.block.html" 2755 | } 2756 | }, 2757 | "end": "\\]\\]", 2758 | "endCaptures": { 2759 | "0": { 2760 | "name": "comment.block.html" 2761 | } 2762 | }, 2763 | "patterns":[ 2764 | {"include": "template.htcpp"} 2765 | ] 2766 | }, 2767 | "htcpp-nested-section": { 2768 | "begin": "\\[\\[", 2769 | "beginCaptures": { 2770 | "0": { 2771 | "name": "comment.block.html" 2772 | } 2773 | }, 2774 | "end": "\\]\\]", 2775 | "endCaptures": { 2776 | "0": { 2777 | "name": "comment.block.html" 2778 | } 2779 | }, 2780 | "patterns":[ 2781 | {"include": "#htcpp-nested-elements"} 2782 | ] 2783 | }, 2784 | "htcpp-nested-elements":{ 2785 | "patterns":[ 2786 | { 2787 | "include": "#htcpp-expression" 2788 | }, 2789 | { 2790 | "include": "#htcpp-statement" 2791 | }, 2792 | { 2793 | "include": "#htcpp-nested-section" 2794 | }, 2795 | { 2796 | "include": "#htcpp-condition" 2797 | }, 2798 | { 2799 | "include": "#htcpp-loop" 2800 | } 2801 | ] 2802 | }, 2803 | "htcpp-attribute-section": { 2804 | "begin": "\\[\\[", 2805 | "beginCaptures": { 2806 | "0": { 2807 | "name": "comment.block.html" 2808 | } 2809 | }, 2810 | "end": "\\]\\]", 2811 | "endCaptures": { 2812 | "0": { 2813 | "name": "comment.block.html" 2814 | } 2815 | }, 2816 | "patterns":[ 2817 | {"include":"#attribute"}, 2818 | {"include": "#htcpp-attribute-elements"} 2819 | ] 2820 | }, 2821 | "htcpp-attribute-elements":{ 2822 | "patterns":[ 2823 | { 2824 | "include": "#htcpp-expression" 2825 | }, 2826 | { 2827 | "include": "#htcpp-statement" 2828 | }, 2829 | { 2830 | "include": "#htcpp-attribute-section" 2831 | }, 2832 | { 2833 | "include": "#htcpp-condition" 2834 | }, 2835 | { 2836 | "include": "#htcpp-loop" 2837 | } 2838 | ] 2839 | } 2840 | } 2841 | } --------------------------------------------------------------------------------