From 4184819a9a6378e319b7405894bbefed78f89e76 Mon Sep 17 00:00:00 2001 From: metacryst Date: Fri, 21 Jul 2023 16:07:37 -0500 Subject: [PATCH] Created VSCode Extension, some updates from LinkedLives in the field --- .DS_Store | Bin 0 -> 6148 bytes README.md | 1 + VSCode/.DS_Store | Bin 0 -> 6148 bytes VSCode/.editorconfig | 5 + VSCode/.github/FUNDING.yml | 13 + VSCode/.gitignore | 2 + VSCode/.vscode/launch.json | 12 + VSCode/.vscodeignore | 3 + VSCode/CHANGELOG.md | 119 ++ VSCode/LICENSE | 21 + VSCode/README.md | 94 + VSCode/docs/Quill.png | Bin 0 -> 39095 bytes VSCode/docs/demo.png | Bin 0 -> 97469 bytes VSCode/html.json | 2649 +++++++++++++++++++++++++ VSCode/package-lock.json | 5 + VSCode/package.json | 168 ++ VSCode/scripts/main.js | 69 + VSCode/syntaxes/es6-inline-css.json | 135 ++ VSCode/syntaxes/es6-inline-glsl.json | 112 ++ VSCode/syntaxes/es6-inline-html.json | 135 ++ VSCode/syntaxes/es6-inline-sql.json | 78 + VSCode/syntaxes/es6-inline-xml.json | 72 + VSCode/syntaxes/es6-js-injection.json | 19 + VSCode/tests/test.html | 85 + VSCode/tests/test.svelte | 34 + VSCode/tests/test.vue | 57 + index.html | 5 + index.js | 6 +- navtemplate.js | 60 + dom.js => quill.js | 2 +- 30 files changed, 3955 insertions(+), 6 deletions(-) create mode 100644 .DS_Store create mode 100644 README.md create mode 100644 VSCode/.DS_Store create mode 100644 VSCode/.editorconfig create mode 100644 VSCode/.github/FUNDING.yml create mode 100644 VSCode/.gitignore create mode 100644 VSCode/.vscode/launch.json create mode 100644 VSCode/.vscodeignore create mode 100644 VSCode/CHANGELOG.md create mode 100644 VSCode/LICENSE create mode 100644 VSCode/README.md create mode 100644 VSCode/docs/Quill.png create mode 100644 VSCode/docs/demo.png create mode 100644 VSCode/html.json create mode 100644 VSCode/package-lock.json create mode 100644 VSCode/package.json create mode 100644 VSCode/scripts/main.js create mode 100644 VSCode/syntaxes/es6-inline-css.json create mode 100644 VSCode/syntaxes/es6-inline-glsl.json create mode 100644 VSCode/syntaxes/es6-inline-html.json create mode 100644 VSCode/syntaxes/es6-inline-sql.json create mode 100644 VSCode/syntaxes/es6-inline-xml.json create mode 100644 VSCode/syntaxes/es6-js-injection.json create mode 100644 VSCode/tests/test.html create mode 100644 VSCode/tests/test.svelte create mode 100644 VSCode/tests/test.vue create mode 100644 navtemplate.js rename dom.js => quill.js (89%) diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..67bce0f97b7cc0f73a0f2f021872cabcb0781692 GIT binary patch literal 6148 zcmeHK%Wl&^6upz0#BK%30;G0zQm*{Mw_>0ML=_}SS zJsyzBIbNpXI7~%|ww%zKRlq9nZz~|bU59q*gc2%h-|q{I?fz1xl4w#yg3b{AiSk

maLYCM2`Jyf%9!Hk{>Sb1Hrh$7zxm-R=+8*l_MNTP?4()%p;e zidj&MifKL=P2S1Y8zItgSs#T*Njw|2@9&GO7$sReQG_Il5%T_Rl0{-R5YsHm6*tfW zp67bQ_V#?<@AW#o-``tw`21O~+u=|8PZtZ%eeme<^Vh@A=~*VeV*fCPQ(W0ygG-Rg zS91CiOtMsDC+J^tma!IZivs4CbGL5GhV4GB0#<<=Q$U^%94^r}SZY*92MYBB06OSa zhPwLe59G1~=o>6Gq6fw_6{xAqJTaJgIWSGfxNqW1jhaqOt&Dlh%FMh_n0a_GuEL4= z8f|G6unJTa*wD?ky#Ei^zyGTw+p-E+1^z1qm~#*u43Lt!TUU~kcP)p1giDigrA9?T jVXk9Ukyr6HTp7l=tN?w3rAG9?>>mLogDtEAH>$vIh;*h= literal 0 HcmV?d00001 diff --git a/README.md b/README.md new file mode 100644 index 0000000..42a2c72 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +PAT for MS Azure: o3tl54vtwzuvahiyu7j6qnkc2fc24dpixr4htycb3dgwwxrijamq diff --git a/VSCode/.DS_Store b/VSCode/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..70f1ee53118f8a8bc7cb6aec429cb4d1ec1862da GIT binary patch literal 6148 zcmeHK%T59@6g@=@4D-~rk1_m0oK=3v-q4~A{Bgjr*$ersckTLwLQ;^*-`Jzn9LhkMM> zcG>E{W0&V_M!=m!_LQ#Y^X~b`3@@1Iy(d{yd7j%i!5MY9#3>p$ z#}%=PCnRosTB#35sf2lSF!6YzRF+qwLQ{@6;HZzxhdZh3q1DQI6c|O5Q8gG-3k{Dg zI%U~=7~z(2^jY_~>W7?3;_9!QPqfR9u!&(ZOLC$$sN1PMO&&GxPaW!r^a{N!F5)nX$v90BdPHv&D*A216Yb2nqxR z<_gIE5U~ix7E^tLm?0K`1IwXrQf3gQ!4j4h@H`G%&9E77#h1R zQ?h64LUMA}Ml3fhV!}%eY8O`aIMxk0iuYNx@m(YhVr(%r$R1kw5zsP(Dk$)$3j6@y C*5r-= literal 0 HcmV?d00001 diff --git a/VSCode/.editorconfig b/VSCode/.editorconfig new file mode 100644 index 0000000..06d8e14 --- /dev/null +++ b/VSCode/.editorconfig @@ -0,0 +1,5 @@ +root = true + +[*.{js,json}] +indent_size = 2 +indent_style = space \ No newline at end of file diff --git a/VSCode/.github/FUNDING.yml b/VSCode/.github/FUNDING.yml new file mode 100644 index 0000000..49b935c --- /dev/null +++ b/VSCode/.github/FUNDING.yml @@ -0,0 +1,13 @@ +# These are supported funding model platforms + +github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: 0x00000001A +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/VSCode/.gitignore b/VSCode/.gitignore new file mode 100644 index 0000000..38c13b8 --- /dev/null +++ b/VSCode/.gitignore @@ -0,0 +1,2 @@ +node_modules +key diff --git a/VSCode/.vscode/launch.json b/VSCode/.vscode/launch.json new file mode 100644 index 0000000..9b68575 --- /dev/null +++ b/VSCode/.vscode/launch.json @@ -0,0 +1,12 @@ +{ + "version": "0.1.0", + "configurations": [ + { + "name": "Debug extension", + "type": "extensionHost", + "request": "launch", + "runtimeExecutable": "${execPath}", + "args": ["--extensionDevelopmentPath=${workspaceRoot}" ] + } + ] +} diff --git a/VSCode/.vscodeignore b/VSCode/.vscodeignore new file mode 100644 index 0000000..19bbe78 --- /dev/null +++ b/VSCode/.vscodeignore @@ -0,0 +1,3 @@ +.vscode/** +.vscode-test/** +.gitignore diff --git a/VSCode/CHANGELOG.md b/VSCode/CHANGELOG.md new file mode 100644 index 0000000..7bcda79 --- /dev/null +++ b/VSCode/CHANGELOG.md @@ -0,0 +1,119 @@ +# Changelog +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog] (http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +## [1.0.0] - 2018-02-02 +### Added +- Syntax highlighting for html in es6 multiline strings + +## [1.1.0] - 2018-03-08 +### Fixed +- Compatibility with Prettier + +## [1.2.0] - 2018-03-12 +### Added +- Commands and keybindings + +## [1.3.0] - 2018-03-17 +### Added +- Syntax highlight without a comment +- Follow semver + +### [1.4.0] - 2018-03-22 +### Added +- JS Syntax highlight +- Single-line comment support + +### [1.5.0] - 2018-03-22 +### Fixed +- Compatibility with Prettier + +### [1.6.0] - 2018-08-13 +### Added +- SQL support. Beta + +### [1.7.0] - 2018-08-14 +### Fixed +- Improve html function support + +### [1.7.1] - 2018-08-15 +### Fixed +- Improve single-line comments support +- Disable hotkeys + +### [1.8.1] - 2018-08-18 +### Added +- Unquoted attributes support +### Fixed +- Js-in-attributes support + +### [1.8.2] - 2018-08-19 +### Fixed +- Fix missing `${}` syntax support in sql + +### [1.8.3] - 2018-08-25 +### Fixed +- Fix broken multiline support for jquery + +### [1.8.4] - 2019-01-11 +### Fixed +- Add html text as parameter argument support + +### [1.8.5] - 2019-01-29 +## Fixed +- Highlight html passed directly into a function +- Highlight html inside html script +- Support for html passed as an argument + +### [1.8.6] - 2019-01-31 +## Fixed +- Improve multiline strings support + +### [1.8.7] - 2019-02-14 +## Fixed +- Fix bug with syntax coloring after keyword, placed inside html template + +### [1.8.8] - 2019-04-12 +## Improved +- Match all caps for SQL (by @thebrodmann) + +### [2.3.0] - 2021-04-23 +## Improved +- Support uppercase /* HTML */ + +### [2.4.0] - 2021-04-23 +## Improved +- Support XML + +### [2.5.0] - 2021-04-23 +## Fixed +- Ignore casing + +### [2.6.0] - 2021-04-23 +## Fixed +- Syntax highlighting breaks with multiple placeholders in the same attribute +## Improved +- Support SVG + +### [2.7.0] - 2021-04-23 +## Fixed +- SQL highlight stops after encountering an identifier delimiter ` + +### [2.8.0] - 2021-04-23 +## Fixed +- SQL support for vue files + +### [2.9.0] - 2021-05-18 +## Improved +- CSS support + +### [2.10.0] - 2021-06-03 +## Improved +- GLSL support + +### [2.11.0] - 2021-10-05 +## Improved +- PHP file support \ No newline at end of file diff --git a/VSCode/LICENSE b/VSCode/LICENSE new file mode 100644 index 0000000..29f20ad --- /dev/null +++ b/VSCode/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 Tobimori (Victor Novikov) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/VSCode/README.md b/VSCode/README.md new file mode 100644 index 0000000..f9ef93d --- /dev/null +++ b/VSCode/README.md @@ -0,0 +1,94 @@ +# Quill +For syntax highlighting Quill functions, as well as css and html strings. + +Forked from the below repo. Currently supports everything it does, as well as ```addStyle(``)``` and ```html(``)```. + +| +## ES6 String HTML +> [VSCode Marketplace](https://marketplace.visualstudio.com/items?itemName=Tobermory.es6-string-html) + +> [Open VSX Registry](https://open-vsx.org/extension/Tobermory/es6-string-html) + +Adds syntax highlight support for code, placed in es6 multiline strings: +- HTML (incl. html quoted and unquoted attrs) +- SQL +- XML +- SVG +- CSS +- GLSL + +## Community +- [python-string-sql](https://github.com/ptweir/python-string-sql) - Highlight SQL code in python multiline strings +- [es6-string-javascript](https://github.com/Zjcompt/es6-string-javascript) - Highlight JS in multiline strings + +## Contributors +[![guicook](https://img.shields.io/badge/gucook-❤-brightgreen)](https://github.com/guycook) +[![RobertSasak](https://img.shields.io/badge/RobertSasak-❤-brightgreen)](https://github.com/RobertSasak) +[![the-dr-lazy](https://img.shields.io/badge/the--dr--lazy-❤-brightgreen)](https://github.com/the-dr-lazy) +[![yozman](https://img.shields.io/badge/yozman-❤-brightgreen)](https://github.com/yozman) +[![JohnnyLufa](https://img.shields.io/badge/JohnnyLufa-❤-brighten)](https://github.com/JohnnyLufa) + +## Installation + +- Install `es6-string-html` from extensions (`ctrl + shift + x`) +- Or download it from the [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=Tobermory.es6-string-html) +- Or download it from the [Open VSX Registry](https://open-vsx.org/extension/Tobermory/es6-string-html) + +## Donation + +If you've found this extension useful, you can give me a cup of coffee :) + +[!["Buy Me A Coffee"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/nonholy) + +## Example + +![Example](docs/demo.png) + +## Usage + +Simply insert the comment /\*html\*/ or `html` (also works with SQL, SVG, XML, just use the appropriate word) before the string +(see Requirements "section" for possible values) or select +`Insert es6-string-html comment/template` from the commands menu +(`ctrl+shift+p` or `f1`) + +> Tip: Comment in the beginning of es6 string is required + +## Requirements + +- Visual Studio Code v1.19.0 and higher +- Comment `/*html*/` before the string. (also works with CSS, SQL, SVG, XML, just use the appropriate word) Possible values: +- - `/*css*/` +- - `/*html*/` +- - `/*inline-html*/` +- - `/*template*/` +- - `/*inline-template*/` +- Or +- - `html` before the string + +## Release Notes + +### [...] +- See changelog for previous notes + +### [2.7.0] - 2021-04-23 +## Fixed +- SQL highlight stops after encountering an identifier delimiter ` + +### [2.8.0] - 2021-04-23 +## Fixed +- SQL support for vue files + +### [2.9.0] - 2021-05-18 +## Improved +- CSS support + +### [2.10.0] - 2021-06-03 +## Improved +- GLSL support + +### [2.11.0] - 2021-10-05 +## Improved +- PHP files support +----------------------------------------------------------------------------------------------------------- + +**Enjoy!** diff --git a/VSCode/docs/Quill.png b/VSCode/docs/Quill.png new file mode 100644 index 0000000000000000000000000000000000000000..cfdcfc3a4b50b5ffb0a7e6f0fa757e68905bf5a4 GIT binary patch literal 39095 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

6=32~BEuy$F=JAR57 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", + "patterns": [ + { + "begin": "(?=[^\\s=<>`/]|/(?!>))", + "end": "(?!\\G)", + "name": "meta.embedded.line.css", + "patterns": [ + { + "captures": [ + { + "name": "source.css" + } + ], + "match": "([^\\s\"'=<>`/]|/(?!>))+", + "name": "string.unquoted.html" + }, + { + "begin": "\"", + "beginCaptures": [ + { + "name": "punctuation.definition.string.begin.html" + } + ], + "contentName": "source.css", + "end": "(\")", + "endCaptures": [ + { + "name": "punctuation.definition.string.end.html" + }, + { + "name": "source.css" + } + ], + "name": "string.quoted.double.html", + "patterns": [ + { + "include": "#entities" + } + ] + }, + { + "begin": "'", + "beginCaptures": [ + { + "name": "punctuation.definition.string.begin.html" + } + ], + "contentName": "source.css", + "end": "(')", + "endCaptures": [ + { + "name": "punctuation.definition.string.end.html" + }, + { + "name": "source.css" + } + ], + "name": "string.quoted.single.html", + "patterns": [ + { + "include": "#entities" + } + ] + } + ] + }, + { + "match": "=", + "name": "invalid.illegal.unexpected-equals-sign.html" + } + ] + } + ] + }, + { + "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:-])", + "beginCaptures": [ + { + "name": "entity.other.attribute-name.html" + } + ], + "comment": "HTML5 attributes, event handlers", + "end": "(?=\\s*+[^=\\s])", + "name": "meta.attribute.event-handler.$1.html", + "patterns": [ + { + "begin": "=", + "beginCaptures": [ + { + "name": "punctuation.separator.key-value.html" + } + ], + "end": "(?<=[^\\s=])(?!\\s*=)|(?=/?>)", + "patterns": [ + { + "begin": "(?=[^\\s=<>`/]|/(?!>))", + "end": "(?!\\G)", + "name": "meta.embedded.line.js", + "patterns": [ + { + "captures": [ + { + "name": "source.js" + }, + { + "patterns": [ + { + "include": "source.js" + } + ] + } + ], + "match": "(([^\\s\"'=<>`/]|/(?!>))+)", + "name": "string.unquoted.html" + }, + { + "begin": "\"", + "beginCaptures": [ + { + "name": "punctuation.definition.string.begin.html" + } + ], + "contentName": "source.js", + "end": "(\")", + "endCaptures": [ + { + "name": "punctuation.definition.string.end.html" + }, + { + "name": "source.js" + } + ], + "name": "string.quoted.double.html", + "patterns": [ + { + "captures": [ + { + "patterns": [ + { + "include": "source.js" + } + ] + } + ], + "match": "([^\\n\"/]|/(?![/*]))+" + }, + { + "begin": "//", + "beginCaptures": [ + { + "name": "punctuation.definition.comment.js" + } + ], + "end": "(?=\")|\\n", + "name": "comment.line.double-slash.js" + }, + { + "begin": "/\\*", + "beginCaptures": [ + { + "name": "punctuation.definition.comment.begin.js" + } + ], + "end": "(?=\")|\\*/", + "endCaptures": [ + { + "name": "punctuation.definition.comment.end.js" + } + ], + "name": "comment.block.js" + } + ] + }, + { + "begin": "'", + "beginCaptures": [ + { + "name": "punctuation.definition.string.begin.html" + } + ], + "contentName": "source.js", + "end": "(')", + "endCaptures": [ + { + "name": "punctuation.definition.string.end.html" + }, + { + "name": "source.js" + } + ], + "name": "string.quoted.single.html", + "patterns": [ + { + "captures": [ + { + "patterns": [ + { + "include": "source.js" + } + ] + } + ], + "match": "([^\\n'/]|/(?![/*]))+" + }, + { + "begin": "//", + "beginCaptures": [ + { + "name": "punctuation.definition.comment.js" + } + ], + "end": "(?=')|\\n", + "name": "comment.line.double-slash.js" + }, + { + "begin": "/\\*", + "beginCaptures": [ + { + "name": "punctuation.definition.comment.begin.js" + } + ], + "end": "(?=')|\\*/", + "endCaptures": [ + { + "name": "punctuation.definition.comment.end.js" + } + ], + "name": "comment.block.js" + } + ] + } + ] + }, + { + "match": "=", + "name": "invalid.illegal.unexpected-equals-sign.html" + } + ] + } + ] + }, + { + "begin": "(data-[a-z\\-]+)(?![\\w:-])", + "beginCaptures": [ + { + "name": "entity.other.attribute-name.html" + } + ], + "comment": "HTML5 attributes, data-*", + "end": "(?=\\s*+[^=\\s])", + "name": "meta.attribute.data-x.$1.html", + "patterns": [ + { + "include": "#attribute-interior" + } + ] + }, + { + "begin": "(align|bgcolor|border)(?![\\w:-])", + "beginCaptures": [ + { + "name": "invalid.deprecated.entity.other.attribute-name.html" + } + ], + "comment": "HTML attributes, deprecated", + "end": "(?=\\s*+[^=\\s])", + "name": "meta.attribute.$1.html", + "patterns": [ + { + "include": "#attribute-interior" + } + ] + }, + { + "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}]+)", + "beginCaptures": [ + { + "name": "entity.other.attribute-name.html" + } + ], + "comment": "Anything else that is valid", + "end": "(?=\\s*+[^=\\s])", + "name": "meta.attribute.unrecognized.$1.html", + "patterns": [ + { + "include": "#attribute-interior" + } + ] + }, + { + "match": "[^\\s>]+", + "name": "invalid.illegal.character-not-allowed-here.html" + } + ] + }, + "attribute-interior": { + "patterns": [ + { + "begin": "=", + "beginCaptures": [ + { + "name": "punctuation.separator.key-value.html" + } + ], + "end": "(?<=[^\\s=])(?!\\s*=)|(?=/?>)", + "patterns": [ + { + "match": "([^\\s\"'=<>`/]|/(?!>))+", + "name": "string.unquoted.html" + }, + { + "begin": "\"", + "beginCaptures": [ + { + "name": "punctuation.definition.string.begin.html" + } + ], + "end": "\"", + "endCaptures": [ + { + "name": "punctuation.definition.string.end.html" + } + ], + "name": "string.quoted.double.html", + "patterns": [ + { + "include": "#entities" + } + ] + }, + { + "begin": "'", + "beginCaptures": [ + { + "name": "punctuation.definition.string.begin.html" + } + ], + "end": "'", + "endCaptures": [ + { + "name": "punctuation.definition.string.end.html" + } + ], + "name": "string.quoted.single.html", + "patterns": [ + { + "include": "#entities" + } + ] + }, + { + "match": "=", + "name": "invalid.illegal.unexpected-equals-sign.html" + } + ] + } + ] + }, + "cdata": { + "begin": "", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.metadata.cdata.html" + }, + "comment": { + "begin": "", + "name": "comment.block.html", + "patterns": [ + { + "match": "\\G-?>", + "name": "invalid.illegal.characters-not-allowed-here.html" + }, + { + "match": ")", + "name": "invalid.illegal.characters-not-allowed-here.html" + }, + { + "match": "--!>", + "name": "invalid.illegal.characters-not-allowed-here.html" + } + ] + }, + "core-minus-invalid": { + "comment": "This should be the root pattern array includes minus #tags-invalid", + "patterns": [ + { + "include": "#xml-processing" + }, + { + "include": "#comment" + }, + { + "include": "#doctype" + }, + { + "include": "#cdata" + }, + { + "include": "#tags-valid" + }, + { + "include": "#entities" + } + ] + }, + "doctype": { + "begin": "", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.metadata.doctype.html", + "patterns": [ + { + "match": "\\G(?i:DOCTYPE)", + "name": "entity.name.tag.html" + }, + { + "begin": "\"", + "end": "\"", + "name": "string.quoted.double.html" + }, + { + "match": "[^\\s>]+", + "name": "entity.other.attribute-name.html" + } + ] + }, + "entities": { + "patterns": [ + { + "captures": { + "1": { + "name": "punctuation.definition.entity.html" + }, + "912": { + "name": "punctuation.definition.entity.html" + } + }, + "comment": "Yes this is a bit ridiculous, there are quite a lot of these", + "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", + "name": "constant.character.entity.named.$2.html" + }, + { + "captures": { + "1": { + "name": "punctuation.definition.entity.html" + }, + "3": { + "name": "punctuation.definition.entity.html" + } + }, + "match": "(&)#[0-9]+(;)", + "name": "constant.character.entity.numeric.decimal.html" + }, + { + "captures": { + "1": { + "name": "punctuation.definition.entity.html" + }, + "3": { + "name": "punctuation.definition.entity.html" + } + }, + "match": "(&)#[xX][0-9a-fA-F]+(;)", + "name": "constant.character.entity.numeric.hexadecimal.html" + }, + { + "match": "&(?=[a-zA-Z0-9]+;)", + "name": "invalid.illegal.ambiguous-ampersand.html" + } + ] + }, + "math": { + "patterns": [ + { + "begin": "(?i)(<)(math)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?", + "beginCaptures": { + "0": { + "name": "meta.tag.structure.$2.start.html" + }, + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "patterns": [ + { + "include": "#attribute" + } + ] + }, + "5": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?i)()", + "endCaptures": [ + { + "name": "meta.tag.structure.$2.end.html" + }, + { + "name": "punctuation.definition.tag.begin.html" + }, + { + "name": "entity.name.tag.html" + }, + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.element.structure.$2.html", + "patterns": [ + { + "begin": "(?)\\G", + "end": ">", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.structure.start.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "include": "#tags" + } + ] + } + ], + "repository": { + "attribute": { + "patterns": [ + { + "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:-])", + "beginCaptures": [ + { + "name": "entity.other.attribute-name.html" + } + ], + "end": "(?=\\s*+[^=\\s])", + "name": "meta.attribute.$1.html", + "patterns": [ + { + "include": "#attribute-interior" + } + ] + }, + { + "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}]+)", + "beginCaptures": [ + { + "name": "entity.other.attribute-name.html" + } + ], + "comment": "Anything else that is valid", + "end": "(?=\\s*+[^=\\s])", + "name": "meta.attribute.unrecognized.$1.html", + "patterns": [ + { + "include": "#attribute-interior" + } + ] + }, + { + "match": "[^\\s>]+", + "name": "invalid.illegal.character-not-allowed-here.html" + } + ] + }, + "tags": { + "patterns": [ + { + "include": "#comment" + }, + { + "include": "#cdata" + }, + { + "captures": { + "0": { + "name": "meta.tag.structure.math.$2.void.html" + }, + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "patterns": [ + { + "include": "#attribute" + } + ] + }, + "5": { + "name": "punctuation.definition.tag.end.html" + } + }, + "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|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))", + "name": "meta.element.structure.math.$2.html" + }, + { + "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|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?", + "beginCaptures": { + "0": { + "name": "meta.tag.structure.math.$2.start.html" + }, + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "patterns": [ + { + "include": "#attribute" + } + ] + }, + "5": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?i)()|(/>)|(?=)\\G", + "end": "(?=/>)|>", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.structure.start.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "include": "#tags" + } + ] + }, + { + "captures": { + "0": { + "name": "meta.tag.inline.math.$2.void.html" + }, + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "patterns": [ + { + "include": "#attribute" + } + ] + }, + "5": { + "name": "punctuation.definition.tag.end.html" + } + }, + "match": "(?i)(<)(mi|mn|mo|ms|mspace|mtext|maligngroup|malignmark)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))", + "name": "meta.element.inline.math.$2.html" + }, + { + "begin": "(?i)(<)(mi|mn|mo|ms|mspace|mtext|maligngroup|malignmark)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?", + "beginCaptures": { + "0": { + "name": "meta.tag.inline.math.$2.start.html" + }, + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "patterns": [ + { + "include": "#attribute" + } + ] + }, + "5": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?i)()|(/>)|(?=)\\G", + "end": "(?=/>)|>", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.inline.start.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "include": "#tags" + } + ] + }, + { + "captures": { + "0": { + "name": "meta.tag.object.math.$2.void.html" + }, + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "patterns": [ + { + "include": "#attribute" + } + ] + }, + "5": { + "name": "punctuation.definition.tag.end.html" + } + }, + "match": "(?i)(<)(mglyph)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))", + "name": "meta.element.object.math.$2.html" + }, + { + "begin": "(?i)(<)(mglyph)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?", + "beginCaptures": { + "0": { + "name": "meta.tag.object.math.$2.start.html" + }, + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "patterns": [ + { + "include": "#attribute" + } + ] + }, + "5": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?i)()|(/>)|(?=)\\G", + "end": "(?=/>)|>", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.object.start.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "include": "#tags" + } + ] + }, + { + "captures": { + "0": { + "name": "meta.tag.other.invalid.void.html" + }, + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "name": "invalid.illegal.unrecognized-tag.html" + }, + "4": { + "patterns": [ + { + "include": "#attribute" + } + ] + }, + "6": { + "name": "punctuation.definition.tag.end.html" + } + }, + "match": "(?i)(<)(([\\w:]+))(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))", + "name": "meta.element.other.invalid.html" + }, + { + "begin": "(?i)(<)((\\w[^\\s>]*))(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?", + "beginCaptures": { + "0": { + "name": "meta.tag.other.invalid.start.html" + }, + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "name": "invalid.illegal.unrecognized-tag.html" + }, + "4": { + "patterns": [ + { + "include": "#attribute" + } + ] + }, + "6": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?i)()|(/>)|(?=)\\G", + "end": "(?=/>)|>", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.other.invalid.start.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "include": "#tags" + } + ] + }, + { + "include": "#tags-invalid" + } + ] + } + } + }, + "svg": { + "patterns": [ + { + "begin": "(?i)(<)(svg)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?", + "beginCaptures": { + "0": { + "name": "meta.tag.structure.$2.start.html" + }, + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "patterns": [ + { + "include": "#attribute" + } + ] + }, + "5": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?i)()", + "endCaptures": [ + { + "name": "meta.tag.structure.$2.end.html" + }, + { + "name": "punctuation.definition.tag.begin.html" + }, + { + "name": "entity.name.tag.html" + }, + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.element.structure.$2.html", + "patterns": [ + { + "begin": "(?)\\G", + "end": ">", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.structure.start.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "include": "#tags" + } + ] + } + ], + "repository": { + "attribute": { + "patterns": [ + { + "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:-])", + "beginCaptures": [ + { + "name": "entity.other.attribute-name.html" + } + ], + "end": "(?=\\s*+[^=\\s])", + "name": "meta.attribute.$1.html", + "patterns": [ + { + "include": "#attribute-interior" + } + ] + }, + { + "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}]+)", + "beginCaptures": [ + { + "name": "entity.other.attribute-name.html" + } + ], + "comment": "Anything else that is valid", + "end": "(?=\\s*+[^=\\s])", + "name": "meta.attribute.unrecognized.$1.html", + "patterns": [ + { + "include": "#attribute-interior" + } + ] + }, + { + "match": "[^\\s>]+", + "name": "invalid.illegal.character-not-allowed-here.html" + } + ] + }, + "tags": { + "patterns": [ + { + "include": "#comment" + }, + { + "include": "#cdata" + }, + { + "captures": { + "0": { + "name": "meta.tag.metadata.svg.$2.void.html" + }, + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "patterns": [ + { + "include": "#attribute" + } + ] + }, + "5": { + "name": "punctuation.definition.tag.end.html" + } + }, + "match": "(?i)(<)(color-profile|desc|metadata|script|style|title)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))", + "name": "meta.element.metadata.svg.$2.html" + }, + { + "begin": "(?i)(<)(color-profile|desc|metadata|script|style|title)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?", + "beginCaptures": { + "0": { + "name": "meta.tag.metadata.svg.$2.start.html" + }, + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "patterns": [ + { + "include": "#attribute" + } + ] + }, + "5": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?i)()|(/>)|(?=)\\G", + "end": "(?=/>)|>", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.metadata.start.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "include": "#tags" + } + ] + }, + { + "captures": { + "0": { + "name": "meta.tag.structure.svg.$2.void.html" + }, + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "patterns": [ + { + "include": "#attribute" + } + ] + }, + "5": { + "name": "punctuation.definition.tag.end.html" + } + }, + "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|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))", + "name": "meta.element.structure.svg.$2.html" + }, + { + "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|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?", + "beginCaptures": { + "0": { + "name": "meta.tag.structure.svg.$2.start.html" + }, + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "patterns": [ + { + "include": "#attribute" + } + ] + }, + "5": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?i)()|(/>)|(?=)\\G", + "end": "(?=/>)|>", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.structure.start.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "include": "#tags" + } + ] + }, + { + "captures": { + "0": { + "name": "meta.tag.inline.svg.$2.void.html" + }, + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "patterns": [ + { + "include": "#attribute" + } + ] + }, + "5": { + "name": "punctuation.definition.tag.end.html" + } + }, + "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|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))", + "name": "meta.element.inline.svg.$2.html" + }, + { + "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|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?", + "beginCaptures": { + "0": { + "name": "meta.tag.inline.svg.$2.start.html" + }, + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "patterns": [ + { + "include": "#attribute" + } + ] + }, + "5": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?i)()|(/>)|(?=)\\G", + "end": "(?=/>)|>", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.inline.start.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "include": "#tags" + } + ] + }, + { + "captures": { + "0": { + "name": "meta.tag.object.svg.$2.void.html" + }, + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "patterns": [ + { + "include": "#attribute" + } + ] + }, + "5": { + "name": "punctuation.definition.tag.end.html" + } + }, + "match": "(?i)(<)(circle|ellipse|feImage|foreignObject|image|line|path|polygon|polyline|rect|symbol|use|view)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))", + "name": "meta.element.object.svg.$2.html" + }, + { + "begin": "(?i)(<)(a|circle|ellipse|feImage|foreignObject|image|line|path|polygon|polyline|rect|symbol|use|view)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?", + "beginCaptures": { + "0": { + "name": "meta.tag.object.svg.$2.start.html" + }, + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "patterns": [ + { + "include": "#attribute" + } + ] + }, + "5": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?i)()|(/>)|(?=)\\G", + "end": "(?=/>)|>", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.object.start.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "include": "#tags" + } + ] + }, + { + "captures": { + "0": { + "name": "meta.tag.other.svg.$2.void.html" + }, + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "name": "invalid.deprecated.html" + }, + "4": { + "patterns": [ + { + "include": "#attribute" + } + ] + }, + "6": { + "name": "punctuation.definition.tag.end.html" + } + }, + "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|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))", + "name": "meta.element.other.svg.$2.html" + }, + { + "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|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?", + "beginCaptures": { + "0": { + "name": "meta.tag.other.svg.$2.start.html" + }, + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "name": "invalid.deprecated.html" + }, + "4": { + "patterns": [ + { + "include": "#attribute" + } + ] + }, + "6": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?i)()|(/>)|(?=)\\G", + "end": "(?=/>)|>", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.other.start.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "include": "#tags" + } + ] + }, + { + "captures": { + "0": { + "name": "meta.tag.other.invalid.void.html" + }, + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "name": "invalid.illegal.unrecognized-tag.html" + }, + "4": { + "patterns": [ + { + "include": "#attribute" + } + ] + }, + "6": { + "name": "punctuation.definition.tag.end.html" + } + }, + "match": "(?i)(<)(([\\w:]+))(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))", + "name": "meta.element.other.invalid.html" + }, + { + "begin": "(?i)(<)((\\w[^\\s>]*))(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?", + "beginCaptures": { + "0": { + "name": "meta.tag.other.invalid.start.html" + }, + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "name": "invalid.illegal.unrecognized-tag.html" + }, + "4": { + "patterns": [ + { + "include": "#attribute" + } + ] + }, + "6": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(?i)()|(/>)|(?=)\\G", + "end": "(?=/>)|>", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.other.invalid.start.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "include": "#tags" + } + ] + }, + { + "include": "#tags-invalid" + } + ] + } + } + }, + "tags-invalid": { + "patterns": [ + { + "begin": "(]*))(?)", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "name": "meta.tag.other.$2.html", + "patterns": [ + { + "include": "#attribute" + } + ] + } + ] + }, + "tags-valid": { + "patterns": [ + { + "begin": "(^[ \\t]+)?(?=<(?i:style)\\b(?!-))", + "beginCaptures": { + "1": { + "name": "punctuation.whitespace.embedded.leading.html" + } + }, + "end": "(?!\\G)([ \\t]*$\\n?)?", + "endCaptures": { + "1": { + "name": "punctuation.whitespace.embedded.trailing.html" + } + }, + "patterns": [ + { + "begin": "(?i)(<)(style)(?=\\s|/?>)", + "beginCaptures": [ + { + "name": "meta.tag.metadata.style.start.html" + }, + { + "name": "punctuation.definition.tag.begin.html" + }, + { + "name": "entity.name.tag.html" + } + ], + "end": "(?i)((<)/)(style)\\s*(>)", + "endCaptures": [ + { + "name": "meta.tag.metadata.style.end.html" + }, + { + "name": "punctuation.definition.tag.begin.html" + }, + { + "name": "source.css" + }, + { + "name": "entity.name.tag.html" + }, + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.embedded.block.html", + "patterns": [ + { + "begin": "\\G", + "captures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "end": "(>)", + "name": "meta.tag.metadata.style.start.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "begin": "(?!\\G)", + "end": "(?=)", + "endCaptures": [ + { + "name": "meta.tag.metadata.script.end.html" + }, + { + "name": "punctuation.definition.tag.begin.html" + }, + { + "name": "entity.name.tag.html" + }, + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.embedded.block.html", + "patterns": [ + { + "begin": "\\G", + "end": "(?=/)", + "patterns": [ + { + "begin": "(>)", + "beginCaptures": [ + { + "name": "meta.tag.metadata.script.start.html" + }, + { + "name": "punctuation.definition.tag.end.html" + } + ], + "end": "((<))(?=/(?i:script))", + "endCaptures": [ + { + "name": "meta.tag.metadata.script.end.html" + }, + { + "name": "punctuation.definition.tag.begin.html" + }, + { + "name": "source.js" + } + ], + "patterns": [ + { + "begin": "\\G", + "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)", + "name": "meta.tag.metadata.script.start.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "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)", + "end": "((<))(?=/(?i:script))", + "endCaptures": [ + { + "name": "meta.tag.metadata.script.end.html" + }, + { + "name": "punctuation.definition.tag.begin.html" + }, + { + "name": "text.html.basic" + } + ], + "patterns": [ + { + "begin": "\\G", + "end": "(>)", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "name": "meta.tag.metadata.script.start.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "begin": "(?!\\G)", + "end": "(?=)", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "name": "meta.tag.metadata.script.start.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "begin": "(?!\\G)", + "end": "(?=)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + } + }, + "end": "/?>", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.metadata.$2.void.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "begin": "(?i)(<)(noscript|title)(?=\\s|/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + } + }, + "end": ">", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.metadata.$2.start.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "begin": "(?i)()", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + } + }, + "end": ">", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.metadata.$2.end.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "begin": "(?i)(<)(col|hr|input)(?=\\s|/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + } + }, + "end": "/?>", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.structure.$2.void.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "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|/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + } + }, + "end": ">", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.structure.$2.start.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "begin": "(?i)()", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + } + }, + "end": ">", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.structure.$2.end.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "begin": "(?i)(<)(area|br|wbr)(?=\\s|/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + } + }, + "end": "/?>", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.inline.$2.void.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "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|/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + } + }, + "end": ">", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.inline.$2.start.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "begin": "(?i)()", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + } + }, + "end": ">", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.inline.$2.end.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "begin": "(?i)(<)(embed|img|param|source|track)(?=\\s|/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + } + }, + "end": "/?>", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.object.$2.void.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "begin": "(?i)(<)(audio|canvas|iframe|object|picture|video)(?=\\s|/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + } + }, + "end": ">", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.object.$2.start.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "begin": "(?i)()", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + } + }, + "end": ">", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.object.$2.end.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "begin": "(?i)(<)((basefont|isindex))(?=\\s|/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "name": "invalid.deprecated.html" + } + }, + "end": "/?>", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.metadata.$2.void.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "begin": "(?i)(<)((center|frameset|noembed|noframes))(?=\\s|/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "name": "invalid.deprecated.html" + } + }, + "end": ">", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.structure.$2.start.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "begin": "(?i)()", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "name": "invalid.deprecated.html" + } + }, + "end": ">", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.structure.$2.end.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "begin": "(?i)(<)((acronym|big|blink|font|strike|tt|xmp))(?=\\s|/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "name": "invalid.deprecated.html" + } + }, + "end": ">", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.inline.$2.start.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "begin": "(?i)()", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "name": "invalid.deprecated.html" + } + }, + "end": ">", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.inline.$2.end.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "begin": "(?i)(<)((frame))(?=\\s|/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "name": "invalid.deprecated.html" + } + }, + "end": "/?>", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.object.$2.void.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "begin": "(?i)(<)((applet))(?=\\s|/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "name": "invalid.deprecated.html" + } + }, + "end": ">", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.object.$2.start.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "begin": "(?i)()", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "name": "invalid.deprecated.html" + } + }, + "end": ">", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.object.$2.end.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "begin": "(?i)(<)((dir|keygen|listing|menuitem|plaintext|spacer))(?=\\s|/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "name": "invalid.illegal.no-longer-supported.html" + } + }, + "end": ">", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.other.$2.start.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "begin": "(?i)()", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + }, + "3": { + "name": "invalid.illegal.no-longer-supported.html" + } + }, + "end": ">", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.other.$2.end.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "include": "#math" + }, + { + "include": "#svg" + }, + { + "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|/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + } + }, + "end": "/?>", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.custom.start.html", + "patterns": [ + { + "include": "#attribute" + } + ] + }, + { + "begin": "()", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.html" + } + }, + "end": ">", + "endCaptures": [ + { + "name": "punctuation.definition.tag.end.html" + } + ], + "name": "meta.tag.custom.end.html", + "patterns": [ + { + "include": "#attribute" + } + ] + } + ] + }, + "xml-processing": { + "begin": "(<\\?)(xml)", + "captures": { + "1": { + "name": "punctuation.definition.tag.html" + }, + "2": { + "name": "entity.name.tag.html" + } + }, + "end": "(\\?>)", + "name": "meta.tag.metadata.processing.xml.html", + "patterns": [ + { + "include": "#attribute" + } + ] + } + }, + "scopeName": "text.html.basic", + "uuid": "17994EC8-6B1D-11D9-AC3A-000D93589AF6" +} \ No newline at end of file diff --git a/VSCode/package-lock.json b/VSCode/package-lock.json new file mode 100644 index 0000000..d11280c --- /dev/null +++ b/VSCode/package-lock.json @@ -0,0 +1,5 @@ +{ + "name": "es6-string-html", + "version": "1.0", + "lockfileVersion": 1 +} \ No newline at end of file diff --git a/VSCode/package.json b/VSCode/package.json new file mode 100644 index 0000000..37a3b53 --- /dev/null +++ b/VSCode/package.json @@ -0,0 +1,168 @@ +{ + "name": "quill", + "displayName": "Quill", + "description": "HTML/CSS Syntax highlighting, best used with the Quill framework", + "version": "1.0.0", + "publisher": "capturedsun", + "icon": "docs/Quill.png", + "engines": { + "vscode": "^1.19.0" + }, + "galleryBanner": { + "color": "#dedede", + "theme": "light" + }, + "repository": { + "url": "https://github.com/capturedsun/Quill" + }, + "bugs": { + "url": "https://github.com/capturedsun/Quill/issues" + }, + "main": "./scripts/main", + "categories": [ + "Programming Languages" + ], + "keywords": [ + "javascript", + "es6", + "es6-string-html", + "html", + "sql", + "xml", + "svg" + ], + "activationEvents": [ + "onCommand:quill.insertComment", + "onCommand:quill.insertTemplate" + ], + "contributes": { + "commands": [ + { + "command": "quill.insertComment", + "title": "Insert es6-string-html comment", + "category": "HTML" + }, + { + "command": "quill.insertTemplate", + "title": "Insert es6-string-html template", + "category": "HTML" + } + ], + "grammars": [ + { + "injectTo": [ + "source.html", + "source.js", + "source.js.jsx", + "source.jsx", + "source.ts", + "source.tsx", + "source.vue", + "source.svelte", + "source.sql", + "source.css", + "text.html" + ], + "scopeName": "inline.es6-css", + "path": "./syntaxes/es6-inline-css.json", + "embeddedLanguages": { + "meta.embedded.block.html": "html" + } + }, + { + "injectTo": [ + "source.html", + "source.js", + "source.js.jsx", + "source.jsx", + "source.ts", + "source.tsx", + "source.vue", + "source.svelte", + "source.sql", + "text.html" + ], + "scopeName": "inline.es6-glsl", + "path": "./syntaxes/es6-inline-glsl.json", + "embeddedLanguages": { + "meta.embedded.glsl": "glsl" + } + }, + { + "injectTo": [ + "source.html", + "source.js", + "source.js.jsx", + "source.jsx", + "source.ts", + "source.tsx", + "source.vue", + "source.svelte", + "source.sql", + "text.html" + ], + "scopeName": "inline.es6-xml", + "path": "./syntaxes/es6-inline-xml.json", + "embeddedLanguages": { + "meta.embedded.xml": "xml" + } + }, + { + "injectTo": [ + "source.html", + "source.js", + "source.js.jsx", + "source.jsx", + "source.ts", + "source.tsx", + "source.vue", + "source.svelte", + "source.sql", + "text.html" + ], + "scopeName": "inline.es6-js-injection", + "path": "./syntaxes/es6-js-injection.json" + }, + { + "injectTo": [ + "source.html", + "source.js", + "source.js.jsx", + "source.jsx", + "source.ts", + "source.tsx", + "source.vue", + "source.svelte", + "source.sql", + "text.html" + ], + "scopeName": "inline.es6-html", + "path": "./syntaxes/es6-inline-html.json" + }, + { + "injectTo": [ + "source.html", + "source.js", + "source.js.jsx", + "source.jsx", + "source.ts", + "source.tsx", + "source.vue", + "source.svelte", + "source.sql", + "text.html" + ], + "scopeName": "inline.es6-sql", + "path": "./syntaxes/es6-inline-sql.json", + "embeddedLanguages": { + "meta.embedded.block.sql": "sql" + } + } + ] + }, + "__metadata": { + "id": "quill.capturedsun", + "publisherId": "capturedsun", + "publisherDisplayName": "Captured Sun" + } +} diff --git a/VSCode/scripts/main.js b/VSCode/scripts/main.js new file mode 100644 index 0000000..c3652eb --- /dev/null +++ b/VSCode/scripts/main.js @@ -0,0 +1,69 @@ +import * as vscode from 'vscode'; + +const typeScriptExtensionId = 'vscode.typescript-language-features'; +const pluginId = 'typescript-lit-html-plugin'; +const configurationSection = 'lit-html'; + +export async function activate(context) { + const extension = vscode.extensions.getExtension(typeScriptExtensionId); + + if (!extension) { + return; + } + + await extension.activate(); + + if (!extension.exports || !extension.exports.getAPI) { + return; + } + + const api = extension.exports.getAPI(0); + + if (!api) { + return; + } + + vscode.workspace.onDidChangeConfiguration(e => { + if (e.affectsConfiguration(configurationSection)) { + synchronizeConfiguration(api); + } + }, undefined, context.subscriptions); + + synchronizeConfiguration(api); +} + +function synchronizeConfiguration(api) { + api.configurePlugin(pluginId, getConfiguration()); +} + +function getConfiguration() { + const config = vscode.workspace.getConfiguration(configurationSection); + const outConfig = { + format: {} + }; + + withConfigValue(config, 'tags', tags => { outConfig.tags = tags; }); + withConfigValue(config, 'format.enabled', enabled => { outConfig.format.enabled = enabled; }); + + return outConfig; +} + +function withConfigValue(config, key, withValue) { + const configSetting = config.inspect(key); + + if (!configSetting) { + return; + } + + // Make sure the user has actually set the value. + // VS Code will return the default values instead of `undefined`, even if user has not don't set anything. + if (typeof configSetting.globalValue === 'undefined' && typeof configSetting.workspaceFolderValue === 'undefined' && typeof configSetting.workspaceValue === 'undefined') { + return; + } + + const value = config.get(key, undefined); + + if (typeof value !== 'undefined') { + withValue(value); + } +} \ No newline at end of file diff --git a/VSCode/syntaxes/es6-inline-css.json b/VSCode/syntaxes/es6-inline-css.json new file mode 100644 index 0000000..82065f2 --- /dev/null +++ b/VSCode/syntaxes/es6-inline-css.json @@ -0,0 +1,135 @@ +{ + "fileTypes": [ + "js", + "jsx", + "ts", + "tsx", + "html", + "vue", + "svelte", + "php" + ], + "injectionSelector": "L:source.js -comment -string, L:source.js -comment -string, L:source.jsx -comment -string, L:source.js.jsx -comment -string, L:source.ts -comment -string, L:source.tsx -comment -string", + "injections": { + "L:source": { + "patterns": [ + { + "match": "<", + "name": "invalid.illegal.bad-angle-bracket.html" + } + ] + } + }, + "patterns": [ + { + "begin": "(?i)(\\s*(addStyle\\())(`)", + "beginCaptures": { + "1": { + "name": "entity.name.tag.html" + } + }, + "end": "(`)", + "patterns": [ + { + "include": "source.ts#template-substitution-element" + }, + { + "include": "source.css" + }, + { + "include": "inline.es6-htmlx#template" + }, + { + "include": "string.quoted.other.template.js" + } + ] + }, + { + "begin": "(?i)(\\s?\\/\\*\\s?(css|inline-css)\\s?\\*\\/\\s?)(`)", + "beginCaptures": { + "1": { + "name": "comment.block" + } + }, + "end": "(`)", + "patterns": [ + { + "include": "source.ts#template-substitution-element" + }, + { + "include": "source.css" + }, + { + "include": "inline.es6-htmlx#template" + } + ] + }, + { + "begin": "(?i)(\\s*(css|inline-css))(`)", + "beginCaptures": { + "1": { + "name": "comment.block" + } + }, + "end": "(`)", + "patterns": [ + { + "include": "source.ts#template-substitution-element" + }, + { + "include": "source.css" + }, + { + "include": "inline.es6-htmlx#template" + }, + { + "include": "string.quoted.other.template.js" + } + ] + }, + { + "begin": "(?i)(?<=\\s|\\,|\\=|\\:|\\(|\\$\\()\\s{0,}(((\\/\\*)|(\\/\\/))\\s?(css|inline-css)[ ]{0,1000}\\*?\\/?)[ ]{0,1000}$", + "beginCaptures": { + "1": { + "name": "comment.line" + } + }, + "end": "(`).*", + "patterns": [ + { + "begin": "(\\G)", + "end": "(`)" + }, + { + "include": "source.ts#template-substitution-element" + }, + { + "include": "source.css" + } + ] + }, + { + "begin": "(\\${)", + "end": "(})", + "beginCaptures": { + "1": { + "name": "entity.name.tag" + } + }, + "endCaptures": { + "1": { + "name": "entity.name.tag" + } + }, + "patterns": [ + { + "include": "source.ts#template-substitution-element" + }, + { + "include": "source.js" + } + ] + } + ], + "scopeName": "inline.es6-css" +} diff --git a/VSCode/syntaxes/es6-inline-glsl.json b/VSCode/syntaxes/es6-inline-glsl.json new file mode 100644 index 0000000..e19fef3 --- /dev/null +++ b/VSCode/syntaxes/es6-inline-glsl.json @@ -0,0 +1,112 @@ +{ + "fileTypes": [ + "js", + "jsx", + "ts", + "tsx", + "html", + "vue", + "svelte", + "php" + ], + "injectionSelector": "L:source.js -comment -string, L:source.js -comment -string, L:source.jsx -comment -string, L:source.js.jsx -comment -string, L:source.ts -comment -string, L:source.tsx -comment -string", + "injections": { + "L:source": { + "patterns": [ + { + "match": "<", + "name": "invalid.illegal.bad-angle-bracket.html" + } + ] + } + }, + "patterns": [ + { + "begin": "(?i)(\\s?\\/\\*\\s?(glsl|inline-glsl)\\s?\\*\\/\\s?)(`)", + "beginCaptures": { + "1": { + "name": "comment.block" + } + }, + "end": "(`)", + "patterns": [ + { + "include": "source.ts#template-substitution-element" + }, + { + "include": "source.glsl" + }, + { + "include": "inline.es6-htmlx#template" + } + ] + }, + { + "begin": "(?i)(\\s*(glsl|inline-glsl))(`)", + "beginCaptures": { + "1": { + "name": "comment.block" + } + }, + "end": "(`)", + "patterns": [ + { + "include": "source.ts#template-substitution-element" + }, + { + "include": "source.glsl" + }, + { + "include": "inline.es6-htmlx#template" + }, + { + "include": "string.quoted.other.template.js" + } + ] + }, + { + "begin": "(?i)(?<=\\s|\\,|\\=|\\:|\\(|\\$\\()\\s{0,}(((\\/\\*)|(\\/\\/))\\s?(glsl|inline-glsl)[ ]{0,1000}\\*?\\/?)[ ]{0,1000}$", + "beginCaptures": { + "1": { + "name": "comment.line" + } + }, + "end": "(`).*", + "patterns": [ + { + "begin": "(\\G)", + "end": "(`)" + }, + { + "include": "source.ts#template-substitution-element" + }, + { + "include": "source.glsl" + } + ] + }, + { + "begin": "(\\${)", + "end": "(})", + "beginCaptures": { + "1": { + "name": "entity.name.tag" + } + }, + "endCaptures": { + "1": { + "name": "entity.name.tag" + } + }, + "patterns": [ + { + "include": "source.ts#template-substitution-element" + }, + { + "include": "source.js" + } + ] + } + ], + "scopeName": "inline.es6-glsl" +} diff --git a/VSCode/syntaxes/es6-inline-html.json b/VSCode/syntaxes/es6-inline-html.json new file mode 100644 index 0000000..cb62e96 --- /dev/null +++ b/VSCode/syntaxes/es6-inline-html.json @@ -0,0 +1,135 @@ +{ + "fileTypes": [ + "js", + "jsx", + "ts", + "tsx", + "html", + "vue", + "svelte", + "php" + ], + "injectionSelector": "L:source.js -comment -string, L:source.js -comment -string, L:source.jsx -comment -string, L:source.js.jsx -comment -string, L:source.ts -comment -string, L:source.tsx -comment -string", + "injections": { + "L:source": { + "patterns": [ + { + "match": "<", + "name": "invalid.illegal.bad-angle-bracket.html" + } + ] + } + }, + "patterns": [ + { + "begin": "(?i)(\\s*(html\\())(`)", + "beginCaptures": { + "1": { + "name": "entity.name.tag.html" + } + }, + "end": "(`)", + "patterns": [ + { + "include": "source.ts#template-substitution-element" + }, + { + "include": "text.html.basic" + }, + { + "include": "inline.es6-htmlx#template" + }, + { + "include": "string.quoted.other.template.js" + } + ] + }, + { + "begin": "(?i)(\\s?\\/\\*\\s?(html|template|inline-html|inline-template)\\s?\\*\\/\\s?)(`)", + "beginCaptures": { + "1": { + "name": "comment.block" + } + }, + "end": "(`)", + "patterns": [ + { + "include": "source.ts#template-substitution-element" + }, + { + "include": "text.html.basic" + }, + { + "include": "inline.es6-htmlx#template" + } + ] + }, + { + "begin": "(?i)(\\s*(html|template|inline-html|inline-template))(`)", + "beginCaptures": { + "1": { + "name": "comment.block" + } + }, + "end": "(`)", + "patterns": [ + { + "include": "source.ts#template-substitution-element" + }, + { + "include": "text.html.basic" + }, + { + "include": "inline.es6-htmlx#template" + }, + { + "include": "string.quoted.other.template.js" + } + ] + }, + { + "begin": "(?i)(?<=\\s|\\,|\\=|\\:|\\(|\\$\\()\\s{0,}(((\\/\\*)|(\\/\\/))\\s?(html|template|inline-html|inline-template)[ ]{0,1000}\\*?\\/?)[ ]{0,1000}$", + "beginCaptures": { + "1": { + "name": "comment.line" + } + }, + "end": "(`).*", + "patterns": [ + { + "begin": "(\\G)", + "end": "(`)" + }, + { + "include": "source.ts#template-substitution-element" + }, + { + "include": "text.html.basic" + } + ] + }, + { + "begin": "(\\${)", + "end": "(})", + "beginCaptures": { + "1": { + "name": "entity.name.tag" + } + }, + "endCaptures": { + "1": { + "name": "entity.name.tag" + } + }, + "patterns": [ + { + "include": "source.ts#template-substitution-element" + }, + { + "include": "source.js" + } + ] + } + ], + "scopeName": "inline.es6-html" +} diff --git a/VSCode/syntaxes/es6-inline-sql.json b/VSCode/syntaxes/es6-inline-sql.json new file mode 100644 index 0000000..d8866ef --- /dev/null +++ b/VSCode/syntaxes/es6-inline-sql.json @@ -0,0 +1,78 @@ +{ + "fileTypes": [ + "js", + "jsx", + "ts", + "tsx", + "html", + "vue", + "svelte", + "php" + ], + "injectionSelector": "L:source.js -comment -string, L:source.jsx -comment -string, L:source.js.jsx -comment -string, L:source.ts -comment -string, L:source.tsx -comment -string", + "injections": { + "L:source": { + "patterns": [ + { + "match": "<", + "name": "invalid.illegal.bad-angle-bracket.html" + } + ] + } + }, + "patterns": [ + { + "begin": "(?i)(\\s*(sql))(`)", + "end": "(`)", + "beginCaptures": { + "1": { + "name": "variable.parameter" + } + }, + "patterns": [ + { "include": "source.ts#template-substitution-element" }, + { "include": "source.ts#string-character-escape" }, + { "include": "source.sql" }, + { "include": "source.plpgsql.postgres" }, + { "match": "." } + ] + }, + { + "begin": "(?i)(\\s?\\/?\\*?\\s?(sql|inline-sql)\\s?\\*?\\/?\\s?)(`)", + "beginCaptures": { + "1": { + "name": "comment.block" + } + }, + "end": "(`)", + "patterns": [ + { "include": "source.ts#template-substitution-element" }, + { "include": "source.ts#string-character-escape" }, + { "include": "source.sql" }, + { "include": "source.plpgsql.postgres" }, + { "match": "." } + ] + }, + { + "begin": "(?i)(?<=\\s|\\,|\\=|\\:|\\(|\\$\\()\\s{0,}(((\\/\\*)|(\\/\\/))\\s?(sql|inline-sql)[ ]{0,1000}\\*?\\/?)[ ]{0,1000}$", + "beginCaptures": { + "1": { + "name": "comment.line" + } + }, + "end": "(`)", + "patterns": [ + { + "begin": "(\\G)", + "end": "(`)" + }, + { "include": "source.ts#template-substitution-element" }, + { "include": "source.ts#string-character-escape" }, + { "include": "source.sql" }, + { "include": "source.plpgsql.postgres" }, + { "match": "." } + ] + } + ], + "scopeName": "inline.es6-sql" +} diff --git a/VSCode/syntaxes/es6-inline-xml.json b/VSCode/syntaxes/es6-inline-xml.json new file mode 100644 index 0000000..07db220 --- /dev/null +++ b/VSCode/syntaxes/es6-inline-xml.json @@ -0,0 +1,72 @@ +{ + "fileTypes": [ + "js", + "jsx", + "ts", + "tsx", + "html", + "vue", + "svelte", + "php" + ], + "injectionSelector": "L:source.js -comment -string, L:source.js -comment -string, L:source.jsx -comment -string, L:source.js.jsx -comment -string, L:source.ts -comment -string, L:source.tsx -comment -string", + "injections": { + "L:source": { + "patterns": [ + { + "match": "<", + "name": "invalid.illegal.bad-angle-bracket.html" + } + ] + } + }, + "patterns": [ + { + "begin": "(?i)(\\s?\\/\\*\\s?(xml|svg|inline-svg|inline-xml)\\s?\\*\\/\\s?)(`)", + "beginCaptures": { + "1": { + "name": "comment.block" + } + }, + "end": "(`)", + "patterns": [ + { + "include": "text.xml" + } + ] + }, + { + "begin": "(?i)(\\s*(xml|inline-xml))(`)", + "beginCaptures": { + "1": { + "name": "comment.block" + } + }, + "end": "(`)", + "patterns": [ + { + "include": "text.xml" + } + ] + }, + { + "begin": "(?i)(?<=\\s|\\,|\\=|\\:|\\(|\\$\\()\\s{0,}(((\\/\\*)|(\\/\\/))\\s?(xml|svg|inline-svg|inline-xml)[ ]{0,1000}\\*?\\/?)[ ]{0,1000}$", + "beginCaptures": { + "1": { + "name": "comment.line" + } + }, + "end": "(`).*", + "patterns": [ + { + "begin": "(\\G)", + "end": "(`)" + }, + { + "include": "text.xml" + } + ] + } + ], + "scopeName": "inline.es6-xml" +} diff --git a/VSCode/syntaxes/es6-js-injection.json b/VSCode/syntaxes/es6-js-injection.json new file mode 100644 index 0000000..236d398 --- /dev/null +++ b/VSCode/syntaxes/es6-js-injection.json @@ -0,0 +1,19 @@ +{ + "fileTypes": [ + "js", + "jsx", + "ts", + "tsx", + "html", + "vue", + "svelte", + "php" + ], + "injectionSelector": "L:source.js (string.quoted.double.html, string.quoted.single.html), L:source.jsx (string.quoted.double.html, string.quoted.single.html), L:source.js.jsx (string.quoted.double.html, string.quoted.single.html), L:source.ts (string.quoted.double.html, string.quoted.single.html), L:source.tsx (string.quoted.double.html, string.quoted.single.html)", + "patterns": [ + { + "include": "source.ts#template-substitution-element" + } + ], + "scopeName": "inline.es6-js-injection" +} \ No newline at end of file diff --git a/VSCode/tests/test.html b/VSCode/tests/test.html new file mode 100644 index 0000000..4d00a90 --- /dev/null +++ b/VSCode/tests/test.html @@ -0,0 +1,85 @@ + + + + + + + Document + + + + + + \ No newline at end of file diff --git a/VSCode/tests/test.svelte b/VSCode/tests/test.svelte new file mode 100644 index 0000000..19d87ba --- /dev/null +++ b/VSCode/tests/test.svelte @@ -0,0 +1,34 @@ + \ No newline at end of file diff --git a/VSCode/tests/test.vue b/VSCode/tests/test.vue new file mode 100644 index 0000000..b4303b9 --- /dev/null +++ b/VSCode/tests/test.vue @@ -0,0 +1,57 @@ + + + + + \ No newline at end of file diff --git a/index.html b/index.html index 8cc1b4c..b4d4484 100644 --- a/index.html +++ b/index.html @@ -2,6 +2,11 @@ Index + diff --git a/index.js b/index.js index ed248c8..b771e43 100644 --- a/index.js +++ b/index.js @@ -1,7 +1,3 @@ -import * as dom from './dom.js'; -window.dom = {}; -Object.entries(dom).forEach(([name, exported]) => window.dom[name] = exported); - class Index extends HTMLElement { css = /*css*/ ` @@ -15,7 +11,7 @@ class Index extends HTMLElement { constructor() { super(); - dom.addStyle(this.css); + addStyle(this.css); this.innerHTML = this.html; } diff --git a/navtemplate.js b/navtemplate.js new file mode 100644 index 0000000..78d710f --- /dev/null +++ b/navtemplate.js @@ -0,0 +1,60 @@ +class NavigationIndex extends HTMLElement { + urlBeforeChange; + + css = /*css*/ ` + navigation-index { + + } + ` + + html = /*html*/ ` + + ` + + constructor() { + super(); + quill.addStyle(this.css); + this.innerHTML = this.html; + } + + connectedCallback() { + this.listenForNavigation(); + } + + listenForNavigation() { + let oldPushState = history.pushState; + history.pushState = function pushState() { + let ret = oldPushState.apply(this, arguments); + window.dispatchEvent(new Event('pushstate')); + window.dispatchEvent(new Event('locationchange')); + return ret; + }; + + window.addEventListener('popstate', () => { + window.dispatchEvent(new Event('locationchange')); + }); + + window.addEventListener('locationchange', this.locationChange); + + this.urlBeforeChange = window.location.href; + } + + locationChange = async () => { + let splitURL = window.location.pathname.split("/"); + let urlPrefix = splitURL.slice(0, -1).join('/'); + let urlEnding = splitURL[splitURL.length-1]; + if(urlEnding === '') { + this.innerHTML = this.html; + } else { + let pascalizedEnding = urlEnding.replace(/(^\w|-\w)/g, (urlEnding) => urlEnding.replace(/-/, "").toUpperCase()); + import(`.${urlPrefix}/${pascalizedEnding}/${pascalizedEnding}.js`) + let htmlTag = urlEnding.includes("-") ? urlEnding : urlEnding + "-wrapper"; + this.innerHTML = `<${htmlTag}>` + } + this.urlBeforeChange = window.location.href; + } + +} + +customElements.define('navigation-index', NavigationIndex); +export default NavigationIndex; \ No newline at end of file diff --git a/dom.js b/quill.js similarity index 89% rename from dom.js rename to quill.js index ada1835..d1bbb7e 100644 --- a/dom.js +++ b/quill.js @@ -4,7 +4,7 @@ export function addStyle(cssString) { document.adoptedStyleSheets = [...document.adoptedStyleSheets, stylesheet]; } -export function create(elementString) { +export function html(elementString) { let parser = new DOMParser(); let doc = parser.parseFromString(elementString, 'text/html'); return doc.body.firstChild;