rsx.tmLanguage.json 102 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643
  1. {
  2. "information_for_contributors": [
  3. "This file has been converted from https://github.com/textmate/html.tmbundle/blob/master/Syntaxes/HTML.plist",
  4. "If you want to provide a fix or improvement, please create a pull request against the original repository.",
  5. "Once accepted there, we are happy to receive an update request."
  6. ],
  7. "version": "https://github.com/textmate/html.tmbundle/commit/0c3d5ee54de3a993f747f54186b73a4d2d3c44a2",
  8. "name": "rsx",
  9. "scopeName": "text.rsx.basic",
  10. "injections": {
  11. "R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)": {
  12. "comment": "Uses R: to ensure this matches after any other injections.",
  13. "patterns": [
  14. {
  15. "match": "<",
  16. "name": "invalid.illegal.bad-angle-bracket.html"
  17. }
  18. ]
  19. }
  20. },
  21. "patterns": [
  22. {
  23. "include": "#xml-processing"
  24. },
  25. {
  26. "include": "#comment"
  27. },
  28. {
  29. "include": "#doctype"
  30. },
  31. {
  32. "include": "#cdata"
  33. },
  34. {
  35. "include": "#tags-valid"
  36. },
  37. {
  38. "include": "#tags-invalid"
  39. },
  40. {
  41. "include": "#entities"
  42. }
  43. ],
  44. "repository": {
  45. "attribute": {
  46. "patterns": [
  47. {
  48. "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:-])",
  49. "beginCaptures": {
  50. "0": {
  51. "name": "entity.other.attribute-name.html"
  52. }
  53. },
  54. "comment": "HTML5 attributes, not event handlers",
  55. "end": "(?=\\s*+[^=\\s])",
  56. "name": "meta.attribute.$1.html",
  57. "patterns": [
  58. {
  59. "include": "#attribute-interior"
  60. }
  61. ]
  62. },
  63. {
  64. "begin": "style(?![\\w:-])",
  65. "beginCaptures": {
  66. "0": {
  67. "name": "entity.other.attribute-name.html"
  68. }
  69. },
  70. "comment": "HTML5 style attribute",
  71. "end": "(?=\\s*+[^=\\s])",
  72. "name": "meta.attribute.style.html",
  73. "patterns": [
  74. {
  75. "begin": "=",
  76. "beginCaptures": {
  77. "0": {
  78. "name": "punctuation.separator.key-value.html"
  79. }
  80. },
  81. "end": "(?<=[^\\s=])(?!\\s*=)|(?=/?>)",
  82. "patterns": [
  83. {
  84. "begin": "(?=[^\\s=<>`/]|/(?!>))",
  85. "end": "(?!\\G)",
  86. "name": "meta.embedded.line.css",
  87. "patterns": [
  88. {
  89. "captures": {
  90. "0": {
  91. "name": "source.css"
  92. }
  93. },
  94. "match": "([^\\s\"'=<>`/]|/(?!>))+",
  95. "name": "string.unquoted.html"
  96. },
  97. {
  98. "begin": "\"",
  99. "beginCaptures": {
  100. "0": {
  101. "name": "punctuation.definition.string.begin.html"
  102. }
  103. },
  104. "contentName": "source.css",
  105. "end": "(\")",
  106. "endCaptures": {
  107. "0": {
  108. "name": "punctuation.definition.string.end.html"
  109. },
  110. "1": {
  111. "name": "source.css-ignored-vscode"
  112. }
  113. },
  114. "name": "string.quoted.double.html",
  115. "patterns": [
  116. {
  117. "include": "#entities"
  118. }
  119. ]
  120. },
  121. {
  122. "begin": "'",
  123. "beginCaptures": {
  124. "0": {
  125. "name": "punctuation.definition.string.begin.html"
  126. }
  127. },
  128. "contentName": "source.css",
  129. "end": "(')",
  130. "endCaptures": {
  131. "0": {
  132. "name": "punctuation.definition.string.end.html"
  133. },
  134. "1": {
  135. "name": "source.css-ignored-vscode"
  136. }
  137. },
  138. "name": "string.quoted.single.html",
  139. "patterns": [
  140. {
  141. "include": "#entities"
  142. }
  143. ]
  144. }
  145. ]
  146. },
  147. {
  148. "match": "=",
  149. "name": "invalid.illegal.unexpected-equals-sign.html"
  150. }
  151. ]
  152. }
  153. ]
  154. },
  155. {
  156. "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:-])",
  157. "beginCaptures": {
  158. "0": {
  159. "name": "entity.other.attribute-name.html"
  160. }
  161. },
  162. "comment": "HTML5 attributes, event handlers",
  163. "end": "(?=\\s*+[^=\\s])",
  164. "name": "meta.attribute.event-handler.$1.html",
  165. "patterns": [
  166. {
  167. "begin": "=",
  168. "beginCaptures": {
  169. "0": {
  170. "name": "punctuation.separator.key-value.html"
  171. }
  172. },
  173. "end": "(?<=[^\\s=])(?!\\s*=)|(?=/?>)",
  174. "patterns": [
  175. {
  176. "begin": "(?=[^\\s=<>`/]|/(?!>))",
  177. "end": "(?!\\G)",
  178. "name": "meta.embedded.line.js",
  179. "patterns": [
  180. {
  181. "captures": {
  182. "0": {
  183. "name": "source.js"
  184. },
  185. "1": {
  186. "patterns": [
  187. {
  188. "include": "source.js"
  189. }
  190. ]
  191. }
  192. },
  193. "match": "(([^\\s\"'=<>`/]|/(?!>))+)",
  194. "name": "string.unquoted.html"
  195. },
  196. {
  197. "begin": "\"",
  198. "beginCaptures": {
  199. "0": {
  200. "name": "punctuation.definition.string.begin.html"
  201. }
  202. },
  203. "contentName": "source.js",
  204. "end": "(\")",
  205. "endCaptures": {
  206. "0": {
  207. "name": "punctuation.definition.string.end.html"
  208. },
  209. "1": {
  210. "name": "source.js-ignored-vscode"
  211. }
  212. },
  213. "name": "string.quoted.double.html",
  214. "patterns": [
  215. {
  216. "captures": {
  217. "0": {
  218. "patterns": [
  219. {
  220. "include": "source.js"
  221. }
  222. ]
  223. }
  224. },
  225. "match": "([^\\n\"/]|/(?![/*]))+"
  226. },
  227. {
  228. "begin": "//",
  229. "beginCaptures": {
  230. "0": {
  231. "name": "punctuation.definition.comment.js"
  232. }
  233. },
  234. "end": "(?=\")|\\n",
  235. "name": "comment.line.double-slash.js"
  236. },
  237. {
  238. "begin": "/\\*",
  239. "beginCaptures": {
  240. "0": {
  241. "name": "punctuation.definition.comment.begin.js"
  242. }
  243. },
  244. "end": "(?=\")|\\*/",
  245. "endCaptures": {
  246. "0": {
  247. "name": "punctuation.definition.comment.end.js"
  248. }
  249. },
  250. "name": "comment.block.js"
  251. }
  252. ]
  253. },
  254. {
  255. "begin": "'",
  256. "beginCaptures": {
  257. "0": {
  258. "name": "punctuation.definition.string.begin.html"
  259. }
  260. },
  261. "contentName": "source.js",
  262. "end": "(')",
  263. "endCaptures": {
  264. "0": {
  265. "name": "punctuation.definition.string.end.html"
  266. },
  267. "1": {
  268. "name": "source.js-ignored-vscode"
  269. }
  270. },
  271. "name": "string.quoted.single.html",
  272. "patterns": [
  273. {
  274. "captures": {
  275. "0": {
  276. "patterns": [
  277. {
  278. "include": "source.js"
  279. }
  280. ]
  281. }
  282. },
  283. "match": "([^\\n'/]|/(?![/*]))+"
  284. },
  285. {
  286. "begin": "//",
  287. "beginCaptures": {
  288. "0": {
  289. "name": "punctuation.definition.comment.js"
  290. }
  291. },
  292. "end": "(?=')|\\n",
  293. "name": "comment.line.double-slash.js"
  294. },
  295. {
  296. "begin": "/\\*",
  297. "beginCaptures": {
  298. "0": {
  299. "name": "punctuation.definition.comment.begin.js"
  300. }
  301. },
  302. "end": "(?=')|\\*/",
  303. "endCaptures": {
  304. "0": {
  305. "name": "punctuation.definition.comment.end.js"
  306. }
  307. },
  308. "name": "comment.block.js"
  309. }
  310. ]
  311. }
  312. ]
  313. },
  314. {
  315. "match": "=",
  316. "name": "invalid.illegal.unexpected-equals-sign.html"
  317. }
  318. ]
  319. }
  320. ]
  321. },
  322. {
  323. "begin": "(data-[a-z\\-]+)(?![\\w:-])",
  324. "beginCaptures": {
  325. "0": {
  326. "name": "entity.other.attribute-name.html"
  327. }
  328. },
  329. "comment": "HTML5 attributes, data-*",
  330. "end": "(?=\\s*+[^=\\s])",
  331. "name": "meta.attribute.data-x.$1.html",
  332. "patterns": [
  333. {
  334. "include": "#attribute-interior"
  335. }
  336. ]
  337. },
  338. {
  339. "begin": "(align|bgcolor|border)(?![\\w:-])",
  340. "beginCaptures": {
  341. "0": {
  342. "name": "invalid.deprecated.entity.other.attribute-name.html"
  343. }
  344. },
  345. "comment": "HTML attributes, deprecated",
  346. "end": "(?=\\s*+[^=\\s])",
  347. "name": "meta.attribute.$1.html",
  348. "patterns": [
  349. {
  350. "include": "#attribute-interior"
  351. }
  352. ]
  353. },
  354. {
  355. "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}]+)",
  356. "beginCaptures": {
  357. "0": {
  358. "name": "entity.other.attribute-name.html"
  359. }
  360. },
  361. "comment": "Anything else that is valid",
  362. "end": "(?=\\s*+[^=\\s])",
  363. "name": "meta.attribute.unrecognized.$1.html",
  364. "patterns": [
  365. {
  366. "include": "#attribute-interior"
  367. }
  368. ]
  369. },
  370. {
  371. "match": "[^\\s>]+",
  372. "name": "invalid.illegal.character-not-allowed-here.html"
  373. }
  374. ]
  375. },
  376. "attribute-interior": {
  377. "patterns": [
  378. {
  379. "begin": "=",
  380. "beginCaptures": {
  381. "0": {
  382. "name": "punctuation.separator.key-value.html"
  383. }
  384. },
  385. "end": "(?<=[^\\s=])(?!\\s*=)|(?=/?>)",
  386. "patterns": [
  387. {
  388. "match": "([^\\s\"'=<>`/]|/(?!>))+",
  389. "name": "string.unquoted.html"
  390. },
  391. {
  392. "begin": "\"",
  393. "beginCaptures": {
  394. "0": {
  395. "name": "punctuation.definition.string.begin.html"
  396. }
  397. },
  398. "end": "\"",
  399. "endCaptures": {
  400. "0": {
  401. "name": "punctuation.definition.string.end.html"
  402. }
  403. },
  404. "name": "string.quoted.double.html",
  405. "patterns": [
  406. {
  407. "include": "#entities"
  408. }
  409. ]
  410. },
  411. {
  412. "begin": "'",
  413. "beginCaptures": {
  414. "0": {
  415. "name": "punctuation.definition.string.begin.html"
  416. }
  417. },
  418. "end": "'",
  419. "endCaptures": {
  420. "0": {
  421. "name": "punctuation.definition.string.end.html"
  422. }
  423. },
  424. "name": "string.quoted.single.html",
  425. "patterns": [
  426. {
  427. "include": "#entities"
  428. }
  429. ]
  430. },
  431. {
  432. "match": "=",
  433. "name": "invalid.illegal.unexpected-equals-sign.html"
  434. }
  435. ]
  436. }
  437. ]
  438. },
  439. "cdata": {
  440. "begin": "<!\\[CDATA\\[",
  441. "beginCaptures": {
  442. "0": {
  443. "name": "punctuation.definition.tag.begin.html"
  444. }
  445. },
  446. "contentName": "string.other.inline-data.html",
  447. "end": "]]>",
  448. "endCaptures": {
  449. "0": {
  450. "name": "punctuation.definition.tag.end.html"
  451. }
  452. },
  453. "name": "meta.tag.metadata.cdata.html"
  454. },
  455. "comment": {
  456. "begin": "<!--",
  457. "captures": {
  458. "0": {
  459. "name": "punctuation.definition.comment.html"
  460. }
  461. },
  462. "end": "-->",
  463. "name": "comment.block.html",
  464. "patterns": [
  465. {
  466. "match": "\\G-?>",
  467. "name": "invalid.illegal.characters-not-allowed-here.html"
  468. },
  469. {
  470. "match": "<!--(?!>)|<!-(?=-->)",
  471. "name": "invalid.illegal.characters-not-allowed-here.html"
  472. },
  473. {
  474. "match": "--!>",
  475. "name": "invalid.illegal.characters-not-allowed-here.html"
  476. }
  477. ]
  478. },
  479. "core-minus-invalid": {
  480. "comment": "This should be the root pattern array includes minus #tags-invalid",
  481. "patterns": [
  482. {
  483. "include": "#xml-processing"
  484. },
  485. {
  486. "include": "#comment"
  487. },
  488. {
  489. "include": "#doctype"
  490. },
  491. {
  492. "include": "#cdata"
  493. },
  494. {
  495. "include": "#tags-valid"
  496. },
  497. {
  498. "include": "#entities"
  499. }
  500. ]
  501. },
  502. "doctype": {
  503. "begin": "<!(?=(?i:DOCTYPE\\s))",
  504. "beginCaptures": {
  505. "0": {
  506. "name": "punctuation.definition.tag.begin.html"
  507. }
  508. },
  509. "end": ">",
  510. "endCaptures": {
  511. "0": {
  512. "name": "punctuation.definition.tag.end.html"
  513. }
  514. },
  515. "name": "meta.tag.metadata.doctype.html",
  516. "patterns": [
  517. {
  518. "match": "\\G(?i:DOCTYPE)",
  519. "name": "entity.name.tag.html"
  520. },
  521. {
  522. "begin": "\"",
  523. "end": "\"",
  524. "name": "string.quoted.double.html"
  525. },
  526. {
  527. "match": "[^\\s>]+",
  528. "name": "entity.other.attribute-name.html"
  529. }
  530. ]
  531. },
  532. "entities": {
  533. "patterns": [
  534. {
  535. "captures": {
  536. "1": {
  537. "name": "punctuation.definition.entity.html"
  538. },
  539. "912": {
  540. "name": "punctuation.definition.entity.html"
  541. }
  542. },
  543. "comment": "Yes this is a bit ridiculous, there are quite a lot of these",
  544. "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",
  545. "name": "constant.character.entity.named.$2.html"
  546. },
  547. {
  548. "captures": {
  549. "1": {
  550. "name": "punctuation.definition.entity.html"
  551. },
  552. "3": {
  553. "name": "punctuation.definition.entity.html"
  554. }
  555. },
  556. "match": "(&)#[0-9]+(;)",
  557. "name": "constant.character.entity.numeric.decimal.html"
  558. },
  559. {
  560. "captures": {
  561. "1": {
  562. "name": "punctuation.definition.entity.html"
  563. },
  564. "3": {
  565. "name": "punctuation.definition.entity.html"
  566. }
  567. },
  568. "match": "(&)#[xX][0-9a-fA-F]+(;)",
  569. "name": "constant.character.entity.numeric.hexadecimal.html"
  570. },
  571. {
  572. "match": "&(?=[a-zA-Z0-9]+;)",
  573. "name": "invalid.illegal.ambiguous-ampersand.html"
  574. }
  575. ]
  576. },
  577. "math": {
  578. "patterns": [
  579. {
  580. "begin": "(?i)(<)(math)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?",
  581. "beginCaptures": {
  582. "0": {
  583. "name": "meta.tag.structure.$2.start.html"
  584. },
  585. "1": {
  586. "name": "punctuation.definition.tag.begin.html"
  587. },
  588. "2": {
  589. "name": "entity.name.tag.html"
  590. },
  591. "3": {
  592. "patterns": [
  593. {
  594. "include": "#attribute"
  595. }
  596. ]
  597. },
  598. "5": {
  599. "name": "punctuation.definition.tag.end.html"
  600. }
  601. },
  602. "end": "(?i)(</)(\\2)\\s*(>)",
  603. "endCaptures": {
  604. "0": {
  605. "name": "meta.tag.structure.$2.end.html"
  606. },
  607. "1": {
  608. "name": "punctuation.definition.tag.begin.html"
  609. },
  610. "2": {
  611. "name": "entity.name.tag.html"
  612. },
  613. "3": {
  614. "name": "punctuation.definition.tag.end.html"
  615. }
  616. },
  617. "name": "meta.element.structure.$2.html",
  618. "patterns": [
  619. {
  620. "begin": "(?<!>)\\G",
  621. "end": ">",
  622. "endCaptures": {
  623. "0": {
  624. "name": "punctuation.definition.tag.end.html"
  625. }
  626. },
  627. "name": "meta.tag.structure.start.html",
  628. "patterns": [
  629. {
  630. "include": "#attribute"
  631. }
  632. ]
  633. },
  634. {
  635. "include": "#tags"
  636. }
  637. ]
  638. }
  639. ],
  640. "repository": {
  641. "attribute": {
  642. "patterns": [
  643. {
  644. "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:-])",
  645. "beginCaptures": {
  646. "0": {
  647. "name": "entity.other.attribute-name.html"
  648. }
  649. },
  650. "end": "(?=\\s*+[^=\\s])",
  651. "name": "meta.attribute.$1.html",
  652. "patterns": [
  653. {
  654. "include": "#attribute-interior"
  655. }
  656. ]
  657. },
  658. {
  659. "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}]+)",
  660. "beginCaptures": {
  661. "0": {
  662. "name": "entity.other.attribute-name.html"
  663. }
  664. },
  665. "comment": "Anything else that is valid",
  666. "end": "(?=\\s*+[^=\\s])",
  667. "name": "meta.attribute.unrecognized.$1.html",
  668. "patterns": [
  669. {
  670. "include": "#attribute-interior"
  671. }
  672. ]
  673. },
  674. {
  675. "match": "[^\\s>]+",
  676. "name": "invalid.illegal.character-not-allowed-here.html"
  677. }
  678. ]
  679. },
  680. "tags": {
  681. "patterns": [
  682. {
  683. "include": "#comment"
  684. },
  685. {
  686. "include": "#cdata"
  687. },
  688. {
  689. "captures": {
  690. "0": {
  691. "name": "meta.tag.structure.math.$2.void.html"
  692. },
  693. "1": {
  694. "name": "punctuation.definition.tag.begin.html"
  695. },
  696. "2": {
  697. "name": "entity.name.tag.html"
  698. },
  699. "3": {
  700. "patterns": [
  701. {
  702. "include": "#attribute"
  703. }
  704. ]
  705. },
  706. "5": {
  707. "name": "punctuation.definition.tag.end.html"
  708. }
  709. },
  710. "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|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))",
  711. "name": "meta.element.structure.math.$2.html"
  712. },
  713. {
  714. "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|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?",
  715. "beginCaptures": {
  716. "0": {
  717. "name": "meta.tag.structure.math.$2.start.html"
  718. },
  719. "1": {
  720. "name": "punctuation.definition.tag.begin.html"
  721. },
  722. "2": {
  723. "name": "entity.name.tag.html"
  724. },
  725. "3": {
  726. "patterns": [
  727. {
  728. "include": "#attribute"
  729. }
  730. ]
  731. },
  732. "5": {
  733. "name": "punctuation.definition.tag.end.html"
  734. }
  735. },
  736. "end": "(?i)(</)(\\2)\\s*(>)|(/>)|(?=</\\w+)",
  737. "endCaptures": {
  738. "0": {
  739. "name": "meta.tag.structure.math.$2.end.html"
  740. },
  741. "1": {
  742. "name": "punctuation.definition.tag.begin.html"
  743. },
  744. "2": {
  745. "name": "entity.name.tag.html"
  746. },
  747. "3": {
  748. "name": "punctuation.definition.tag.end.html"
  749. },
  750. "4": {
  751. "name": "punctuation.definition.tag.end.html"
  752. }
  753. },
  754. "name": "meta.element.structure.math.$2.html",
  755. "patterns": [
  756. {
  757. "begin": "(?<!>)\\G",
  758. "end": "(?=/>)|>",
  759. "endCaptures": {
  760. "0": {
  761. "name": "punctuation.definition.tag.end.html"
  762. }
  763. },
  764. "name": "meta.tag.structure.start.html",
  765. "patterns": [
  766. {
  767. "include": "#attribute"
  768. }
  769. ]
  770. },
  771. {
  772. "include": "#tags"
  773. }
  774. ]
  775. },
  776. {
  777. "captures": {
  778. "0": {
  779. "name": "meta.tag.inline.math.$2.void.html"
  780. },
  781. "1": {
  782. "name": "punctuation.definition.tag.begin.html"
  783. },
  784. "2": {
  785. "name": "entity.name.tag.html"
  786. },
  787. "3": {
  788. "patterns": [
  789. {
  790. "include": "#attribute"
  791. }
  792. ]
  793. },
  794. "5": {
  795. "name": "punctuation.definition.tag.end.html"
  796. }
  797. },
  798. "match": "(?i)(<)(mi|mn|mo|ms|mspace|mtext|maligngroup|malignmark)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))",
  799. "name": "meta.element.inline.math.$2.html"
  800. },
  801. {
  802. "begin": "(?i)(<)(mi|mn|mo|ms|mspace|mtext|maligngroup|malignmark)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?",
  803. "beginCaptures": {
  804. "0": {
  805. "name": "meta.tag.inline.math.$2.start.html"
  806. },
  807. "1": {
  808. "name": "punctuation.definition.tag.begin.html"
  809. },
  810. "2": {
  811. "name": "entity.name.tag.html"
  812. },
  813. "3": {
  814. "patterns": [
  815. {
  816. "include": "#attribute"
  817. }
  818. ]
  819. },
  820. "5": {
  821. "name": "punctuation.definition.tag.end.html"
  822. }
  823. },
  824. "end": "(?i)(</)(\\2)\\s*(>)|(/>)|(?=</\\w+)",
  825. "endCaptures": {
  826. "0": {
  827. "name": "meta.tag.inline.math.$2.end.html"
  828. },
  829. "1": {
  830. "name": "punctuation.definition.tag.begin.html"
  831. },
  832. "2": {
  833. "name": "entity.name.tag.html"
  834. },
  835. "3": {
  836. "name": "punctuation.definition.tag.end.html"
  837. },
  838. "4": {
  839. "name": "punctuation.definition.tag.end.html"
  840. }
  841. },
  842. "name": "meta.element.inline.math.$2.html",
  843. "patterns": [
  844. {
  845. "begin": "(?<!>)\\G",
  846. "end": "(?=/>)|>",
  847. "endCaptures": {
  848. "0": {
  849. "name": "punctuation.definition.tag.end.html"
  850. }
  851. },
  852. "name": "meta.tag.inline.start.html",
  853. "patterns": [
  854. {
  855. "include": "#attribute"
  856. }
  857. ]
  858. },
  859. {
  860. "include": "#tags"
  861. }
  862. ]
  863. },
  864. {
  865. "captures": {
  866. "0": {
  867. "name": "meta.tag.object.math.$2.void.html"
  868. },
  869. "1": {
  870. "name": "punctuation.definition.tag.begin.html"
  871. },
  872. "2": {
  873. "name": "entity.name.tag.html"
  874. },
  875. "3": {
  876. "patterns": [
  877. {
  878. "include": "#attribute"
  879. }
  880. ]
  881. },
  882. "5": {
  883. "name": "punctuation.definition.tag.end.html"
  884. }
  885. },
  886. "match": "(?i)(<)(mglyph)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))",
  887. "name": "meta.element.object.math.$2.html"
  888. },
  889. {
  890. "begin": "(?i)(<)(mglyph)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?",
  891. "beginCaptures": {
  892. "0": {
  893. "name": "meta.tag.object.math.$2.start.html"
  894. },
  895. "1": {
  896. "name": "punctuation.definition.tag.begin.html"
  897. },
  898. "2": {
  899. "name": "entity.name.tag.html"
  900. },
  901. "3": {
  902. "patterns": [
  903. {
  904. "include": "#attribute"
  905. }
  906. ]
  907. },
  908. "5": {
  909. "name": "punctuation.definition.tag.end.html"
  910. }
  911. },
  912. "end": "(?i)(</)(\\2)\\s*(>)|(/>)|(?=</\\w+)",
  913. "endCaptures": {
  914. "0": {
  915. "name": "meta.tag.object.math.$2.end.html"
  916. },
  917. "1": {
  918. "name": "punctuation.definition.tag.begin.html"
  919. },
  920. "2": {
  921. "name": "entity.name.tag.html"
  922. },
  923. "3": {
  924. "name": "punctuation.definition.tag.end.html"
  925. },
  926. "4": {
  927. "name": "punctuation.definition.tag.end.html"
  928. }
  929. },
  930. "name": "meta.element.object.math.$2.html",
  931. "patterns": [
  932. {
  933. "begin": "(?<!>)\\G",
  934. "end": "(?=/>)|>",
  935. "endCaptures": {
  936. "0": {
  937. "name": "punctuation.definition.tag.end.html"
  938. }
  939. },
  940. "name": "meta.tag.object.start.html",
  941. "patterns": [
  942. {
  943. "include": "#attribute"
  944. }
  945. ]
  946. },
  947. {
  948. "include": "#tags"
  949. }
  950. ]
  951. },
  952. {
  953. "captures": {
  954. "0": {
  955. "name": "meta.tag.other.invalid.void.html"
  956. },
  957. "1": {
  958. "name": "punctuation.definition.tag.begin.html"
  959. },
  960. "2": {
  961. "name": "entity.name.tag.html"
  962. },
  963. "3": {
  964. "name": "invalid.illegal.unrecognized-tag.html"
  965. },
  966. "4": {
  967. "patterns": [
  968. {
  969. "include": "#attribute"
  970. }
  971. ]
  972. },
  973. "6": {
  974. "name": "punctuation.definition.tag.end.html"
  975. }
  976. },
  977. "match": "(?i)(<)(([\\w:]+))(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))",
  978. "name": "meta.element.other.invalid.html"
  979. },
  980. {
  981. "begin": "(?i)(<)((\\w[^\\s>]*))(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?",
  982. "beginCaptures": {
  983. "0": {
  984. "name": "meta.tag.other.invalid.start.html"
  985. },
  986. "1": {
  987. "name": "punctuation.definition.tag.begin.html"
  988. },
  989. "2": {
  990. "name": "entity.name.tag.html"
  991. },
  992. "3": {
  993. "name": "invalid.illegal.unrecognized-tag.html"
  994. },
  995. "4": {
  996. "patterns": [
  997. {
  998. "include": "#attribute"
  999. }
  1000. ]
  1001. },
  1002. "6": {
  1003. "name": "punctuation.definition.tag.end.html"
  1004. }
  1005. },
  1006. "end": "(?i)(</)((\\2))\\s*(>)|(/>)|(?=</\\w+)",
  1007. "endCaptures": {
  1008. "0": {
  1009. "name": "meta.tag.other.invalid.end.html"
  1010. },
  1011. "1": {
  1012. "name": "punctuation.definition.tag.begin.html"
  1013. },
  1014. "2": {
  1015. "name": "entity.name.tag.html"
  1016. },
  1017. "3": {
  1018. "name": "invalid.illegal.unrecognized-tag.html"
  1019. },
  1020. "4": {
  1021. "name": "punctuation.definition.tag.end.html"
  1022. },
  1023. "5": {
  1024. "name": "punctuation.definition.tag.end.html"
  1025. }
  1026. },
  1027. "name": "meta.element.other.invalid.html",
  1028. "patterns": [
  1029. {
  1030. "begin": "(?<!>)\\G",
  1031. "end": "(?=/>)|>",
  1032. "endCaptures": {
  1033. "0": {
  1034. "name": "punctuation.definition.tag.end.html"
  1035. }
  1036. },
  1037. "name": "meta.tag.other.invalid.start.html",
  1038. "patterns": [
  1039. {
  1040. "include": "#attribute"
  1041. }
  1042. ]
  1043. },
  1044. {
  1045. "include": "#tags"
  1046. }
  1047. ]
  1048. },
  1049. {
  1050. "include": "#tags-invalid"
  1051. }
  1052. ]
  1053. }
  1054. }
  1055. },
  1056. "svg": {
  1057. "patterns": [
  1058. {
  1059. "begin": "(?i)(<)(svg)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?",
  1060. "beginCaptures": {
  1061. "0": {
  1062. "name": "meta.tag.structure.$2.start.html"
  1063. },
  1064. "1": {
  1065. "name": "punctuation.definition.tag.begin.html"
  1066. },
  1067. "2": {
  1068. "name": "entity.name.tag.html"
  1069. },
  1070. "3": {
  1071. "patterns": [
  1072. {
  1073. "include": "#attribute"
  1074. }
  1075. ]
  1076. },
  1077. "5": {
  1078. "name": "punctuation.definition.tag.end.html"
  1079. }
  1080. },
  1081. "end": "(?i)(</)(\\2)\\s*(>)",
  1082. "endCaptures": {
  1083. "0": {
  1084. "name": "meta.tag.structure.$2.end.html"
  1085. },
  1086. "1": {
  1087. "name": "punctuation.definition.tag.begin.html"
  1088. },
  1089. "2": {
  1090. "name": "entity.name.tag.html"
  1091. },
  1092. "3": {
  1093. "name": "punctuation.definition.tag.end.html"
  1094. }
  1095. },
  1096. "name": "meta.element.structure.$2.html",
  1097. "patterns": [
  1098. {
  1099. "begin": "(?<!>)\\G",
  1100. "end": ">",
  1101. "endCaptures": {
  1102. "0": {
  1103. "name": "punctuation.definition.tag.end.html"
  1104. }
  1105. },
  1106. "name": "meta.tag.structure.start.html",
  1107. "patterns": [
  1108. {
  1109. "include": "#attribute"
  1110. }
  1111. ]
  1112. },
  1113. {
  1114. "include": "#tags"
  1115. }
  1116. ]
  1117. }
  1118. ],
  1119. "repository": {
  1120. "attribute": {
  1121. "patterns": [
  1122. {
  1123. "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:-])",
  1124. "beginCaptures": {
  1125. "0": {
  1126. "name": "entity.other.attribute-name.html"
  1127. }
  1128. },
  1129. "end": "(?=\\s*+[^=\\s])",
  1130. "name": "meta.attribute.$1.html",
  1131. "patterns": [
  1132. {
  1133. "include": "#attribute-interior"
  1134. }
  1135. ]
  1136. },
  1137. {
  1138. "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}]+)",
  1139. "beginCaptures": {
  1140. "0": {
  1141. "name": "entity.other.attribute-name.html"
  1142. }
  1143. },
  1144. "comment": "Anything else that is valid",
  1145. "end": "(?=\\s*+[^=\\s])",
  1146. "name": "meta.attribute.unrecognized.$1.html",
  1147. "patterns": [
  1148. {
  1149. "include": "#attribute-interior"
  1150. }
  1151. ]
  1152. },
  1153. {
  1154. "match": "[^\\s>]+",
  1155. "name": "invalid.illegal.character-not-allowed-here.html"
  1156. }
  1157. ]
  1158. },
  1159. "tags": {
  1160. "patterns": [
  1161. {
  1162. "include": "#comment"
  1163. },
  1164. {
  1165. "include": "#cdata"
  1166. },
  1167. {
  1168. "captures": {
  1169. "0": {
  1170. "name": "meta.tag.metadata.svg.$2.void.html"
  1171. },
  1172. "1": {
  1173. "name": "punctuation.definition.tag.begin.html"
  1174. },
  1175. "2": {
  1176. "name": "entity.name.tag.html"
  1177. },
  1178. "3": {
  1179. "patterns": [
  1180. {
  1181. "include": "#attribute"
  1182. }
  1183. ]
  1184. },
  1185. "5": {
  1186. "name": "punctuation.definition.tag.end.html"
  1187. }
  1188. },
  1189. "match": "(?i)(<)(color-profile|desc|metadata|script|style|title)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))",
  1190. "name": "meta.element.metadata.svg.$2.html"
  1191. },
  1192. {
  1193. "begin": "(?i)(<)(color-profile|desc|metadata|script|style|title)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?",
  1194. "beginCaptures": {
  1195. "0": {
  1196. "name": "meta.tag.metadata.svg.$2.start.html"
  1197. },
  1198. "1": {
  1199. "name": "punctuation.definition.tag.begin.html"
  1200. },
  1201. "2": {
  1202. "name": "entity.name.tag.html"
  1203. },
  1204. "3": {
  1205. "patterns": [
  1206. {
  1207. "include": "#attribute"
  1208. }
  1209. ]
  1210. },
  1211. "5": {
  1212. "name": "punctuation.definition.tag.end.html"
  1213. }
  1214. },
  1215. "end": "(?i)(</)(\\2)\\s*(>)|(/>)|(?=</\\w+)",
  1216. "endCaptures": {
  1217. "0": {
  1218. "name": "meta.tag.metadata.svg.$2.end.html"
  1219. },
  1220. "1": {
  1221. "name": "punctuation.definition.tag.begin.html"
  1222. },
  1223. "2": {
  1224. "name": "entity.name.tag.html"
  1225. },
  1226. "3": {
  1227. "name": "punctuation.definition.tag.end.html"
  1228. },
  1229. "4": {
  1230. "name": "punctuation.definition.tag.end.html"
  1231. }
  1232. },
  1233. "name": "meta.element.metadata.svg.$2.html",
  1234. "patterns": [
  1235. {
  1236. "begin": "(?<!>)\\G",
  1237. "end": "(?=/>)|>",
  1238. "endCaptures": {
  1239. "0": {
  1240. "name": "punctuation.definition.tag.end.html"
  1241. }
  1242. },
  1243. "name": "meta.tag.metadata.start.html",
  1244. "patterns": [
  1245. {
  1246. "include": "#attribute"
  1247. }
  1248. ]
  1249. },
  1250. {
  1251. "include": "#tags"
  1252. }
  1253. ]
  1254. },
  1255. {
  1256. "captures": {
  1257. "0": {
  1258. "name": "meta.tag.structure.svg.$2.void.html"
  1259. },
  1260. "1": {
  1261. "name": "punctuation.definition.tag.begin.html"
  1262. },
  1263. "2": {
  1264. "name": "entity.name.tag.html"
  1265. },
  1266. "3": {
  1267. "patterns": [
  1268. {
  1269. "include": "#attribute"
  1270. }
  1271. ]
  1272. },
  1273. "5": {
  1274. "name": "punctuation.definition.tag.end.html"
  1275. }
  1276. },
  1277. "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|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))",
  1278. "name": "meta.element.structure.svg.$2.html"
  1279. },
  1280. {
  1281. "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|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?",
  1282. "beginCaptures": {
  1283. "0": {
  1284. "name": "meta.tag.structure.svg.$2.start.html"
  1285. },
  1286. "1": {
  1287. "name": "punctuation.definition.tag.begin.html"
  1288. },
  1289. "2": {
  1290. "name": "entity.name.tag.html"
  1291. },
  1292. "3": {
  1293. "patterns": [
  1294. {
  1295. "include": "#attribute"
  1296. }
  1297. ]
  1298. },
  1299. "5": {
  1300. "name": "punctuation.definition.tag.end.html"
  1301. }
  1302. },
  1303. "end": "(?i)(</)(\\2)\\s*(>)|(/>)|(?=</\\w+)",
  1304. "endCaptures": {
  1305. "0": {
  1306. "name": "meta.tag.structure.svg.$2.end.html"
  1307. },
  1308. "1": {
  1309. "name": "punctuation.definition.tag.begin.html"
  1310. },
  1311. "2": {
  1312. "name": "entity.name.tag.html"
  1313. },
  1314. "3": {
  1315. "name": "punctuation.definition.tag.end.html"
  1316. },
  1317. "4": {
  1318. "name": "punctuation.definition.tag.end.html"
  1319. }
  1320. },
  1321. "name": "meta.element.structure.svg.$2.html",
  1322. "patterns": [
  1323. {
  1324. "begin": "(?<!>)\\G",
  1325. "end": "(?=/>)|>",
  1326. "endCaptures": {
  1327. "0": {
  1328. "name": "punctuation.definition.tag.end.html"
  1329. }
  1330. },
  1331. "name": "meta.tag.structure.start.html",
  1332. "patterns": [
  1333. {
  1334. "include": "#attribute"
  1335. }
  1336. ]
  1337. },
  1338. {
  1339. "include": "#tags"
  1340. }
  1341. ]
  1342. },
  1343. {
  1344. "captures": {
  1345. "0": {
  1346. "name": "meta.tag.inline.svg.$2.void.html"
  1347. },
  1348. "1": {
  1349. "name": "punctuation.definition.tag.begin.html"
  1350. },
  1351. "2": {
  1352. "name": "entity.name.tag.html"
  1353. },
  1354. "3": {
  1355. "patterns": [
  1356. {
  1357. "include": "#attribute"
  1358. }
  1359. ]
  1360. },
  1361. "5": {
  1362. "name": "punctuation.definition.tag.end.html"
  1363. }
  1364. },
  1365. "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|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))",
  1366. "name": "meta.element.inline.svg.$2.html"
  1367. },
  1368. {
  1369. "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|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?",
  1370. "beginCaptures": {
  1371. "0": {
  1372. "name": "meta.tag.inline.svg.$2.start.html"
  1373. },
  1374. "1": {
  1375. "name": "punctuation.definition.tag.begin.html"
  1376. },
  1377. "2": {
  1378. "name": "entity.name.tag.html"
  1379. },
  1380. "3": {
  1381. "patterns": [
  1382. {
  1383. "include": "#attribute"
  1384. }
  1385. ]
  1386. },
  1387. "5": {
  1388. "name": "punctuation.definition.tag.end.html"
  1389. }
  1390. },
  1391. "end": "(?i)(</)(\\2)\\s*(>)|(/>)|(?=</\\w+)",
  1392. "endCaptures": {
  1393. "0": {
  1394. "name": "meta.tag.inline.svg.$2.end.html"
  1395. },
  1396. "1": {
  1397. "name": "punctuation.definition.tag.begin.html"
  1398. },
  1399. "2": {
  1400. "name": "entity.name.tag.html"
  1401. },
  1402. "3": {
  1403. "name": "punctuation.definition.tag.end.html"
  1404. },
  1405. "4": {
  1406. "name": "punctuation.definition.tag.end.html"
  1407. }
  1408. },
  1409. "name": "meta.element.inline.svg.$2.html",
  1410. "patterns": [
  1411. {
  1412. "begin": "(?<!>)\\G",
  1413. "end": "(?=/>)|>",
  1414. "endCaptures": {
  1415. "0": {
  1416. "name": "punctuation.definition.tag.end.html"
  1417. }
  1418. },
  1419. "name": "meta.tag.inline.start.html",
  1420. "patterns": [
  1421. {
  1422. "include": "#attribute"
  1423. }
  1424. ]
  1425. },
  1426. {
  1427. "include": "#tags"
  1428. }
  1429. ]
  1430. },
  1431. {
  1432. "captures": {
  1433. "0": {
  1434. "name": "meta.tag.object.svg.$2.void.html"
  1435. },
  1436. "1": {
  1437. "name": "punctuation.definition.tag.begin.html"
  1438. },
  1439. "2": {
  1440. "name": "entity.name.tag.html"
  1441. },
  1442. "3": {
  1443. "patterns": [
  1444. {
  1445. "include": "#attribute"
  1446. }
  1447. ]
  1448. },
  1449. "5": {
  1450. "name": "punctuation.definition.tag.end.html"
  1451. }
  1452. },
  1453. "match": "(?i)(<)(circle|ellipse|feImage|foreignObject|image|line|path|polygon|polyline|rect|symbol|use|view)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))",
  1454. "name": "meta.element.object.svg.$2.html"
  1455. },
  1456. {
  1457. "begin": "(?i)(<)(a|circle|ellipse|feImage|foreignObject|image|line|path|polygon|polyline|rect|symbol|use|view)(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?",
  1458. "beginCaptures": {
  1459. "0": {
  1460. "name": "meta.tag.object.svg.$2.start.html"
  1461. },
  1462. "1": {
  1463. "name": "punctuation.definition.tag.begin.html"
  1464. },
  1465. "2": {
  1466. "name": "entity.name.tag.html"
  1467. },
  1468. "3": {
  1469. "patterns": [
  1470. {
  1471. "include": "#attribute"
  1472. }
  1473. ]
  1474. },
  1475. "5": {
  1476. "name": "punctuation.definition.tag.end.html"
  1477. }
  1478. },
  1479. "end": "(?i)(</)(\\2)\\s*(>)|(/>)|(?=</\\w+)",
  1480. "endCaptures": {
  1481. "0": {
  1482. "name": "meta.tag.object.svg.$2.end.html"
  1483. },
  1484. "1": {
  1485. "name": "punctuation.definition.tag.begin.html"
  1486. },
  1487. "2": {
  1488. "name": "entity.name.tag.html"
  1489. },
  1490. "3": {
  1491. "name": "punctuation.definition.tag.end.html"
  1492. },
  1493. "4": {
  1494. "name": "punctuation.definition.tag.end.html"
  1495. }
  1496. },
  1497. "name": "meta.element.object.svg.$2.html",
  1498. "patterns": [
  1499. {
  1500. "begin": "(?<!>)\\G",
  1501. "end": "(?=/>)|>",
  1502. "endCaptures": {
  1503. "0": {
  1504. "name": "punctuation.definition.tag.end.html"
  1505. }
  1506. },
  1507. "name": "meta.tag.object.start.html",
  1508. "patterns": [
  1509. {
  1510. "include": "#attribute"
  1511. }
  1512. ]
  1513. },
  1514. {
  1515. "include": "#tags"
  1516. }
  1517. ]
  1518. },
  1519. {
  1520. "captures": {
  1521. "0": {
  1522. "name": "meta.tag.other.svg.$2.void.html"
  1523. },
  1524. "1": {
  1525. "name": "punctuation.definition.tag.begin.html"
  1526. },
  1527. "2": {
  1528. "name": "entity.name.tag.html"
  1529. },
  1530. "3": {
  1531. "name": "invalid.deprecated.html"
  1532. },
  1533. "4": {
  1534. "patterns": [
  1535. {
  1536. "include": "#attribute"
  1537. }
  1538. ]
  1539. },
  1540. "6": {
  1541. "name": "punctuation.definition.tag.end.html"
  1542. }
  1543. },
  1544. "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|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))",
  1545. "name": "meta.element.other.svg.$2.html"
  1546. },
  1547. {
  1548. "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|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?",
  1549. "beginCaptures": {
  1550. "0": {
  1551. "name": "meta.tag.other.svg.$2.start.html"
  1552. },
  1553. "1": {
  1554. "name": "punctuation.definition.tag.begin.html"
  1555. },
  1556. "2": {
  1557. "name": "entity.name.tag.html"
  1558. },
  1559. "3": {
  1560. "name": "invalid.deprecated.html"
  1561. },
  1562. "4": {
  1563. "patterns": [
  1564. {
  1565. "include": "#attribute"
  1566. }
  1567. ]
  1568. },
  1569. "6": {
  1570. "name": "punctuation.definition.tag.end.html"
  1571. }
  1572. },
  1573. "end": "(?i)(</)((\\2))\\s*(>)|(/>)|(?=</\\w+)",
  1574. "endCaptures": {
  1575. "0": {
  1576. "name": "meta.tag.other.svg.$2.end.html"
  1577. },
  1578. "1": {
  1579. "name": "punctuation.definition.tag.begin.html"
  1580. },
  1581. "2": {
  1582. "name": "entity.name.tag.html"
  1583. },
  1584. "3": {
  1585. "name": "invalid.deprecated.html"
  1586. },
  1587. "4": {
  1588. "name": "punctuation.definition.tag.end.html"
  1589. },
  1590. "5": {
  1591. "name": "punctuation.definition.tag.end.html"
  1592. }
  1593. },
  1594. "name": "meta.element.other.svg.$2.html",
  1595. "patterns": [
  1596. {
  1597. "begin": "(?<!>)\\G",
  1598. "end": "(?=/>)|>",
  1599. "endCaptures": {
  1600. "0": {
  1601. "name": "punctuation.definition.tag.end.html"
  1602. }
  1603. },
  1604. "name": "meta.tag.other.start.html",
  1605. "patterns": [
  1606. {
  1607. "include": "#attribute"
  1608. }
  1609. ]
  1610. },
  1611. {
  1612. "include": "#tags"
  1613. }
  1614. ]
  1615. },
  1616. {
  1617. "captures": {
  1618. "0": {
  1619. "name": "meta.tag.other.invalid.void.html"
  1620. },
  1621. "1": {
  1622. "name": "punctuation.definition.tag.begin.html"
  1623. },
  1624. "2": {
  1625. "name": "entity.name.tag.html"
  1626. },
  1627. "3": {
  1628. "name": "invalid.illegal.unrecognized-tag.html"
  1629. },
  1630. "4": {
  1631. "patterns": [
  1632. {
  1633. "include": "#attribute"
  1634. }
  1635. ]
  1636. },
  1637. "6": {
  1638. "name": "punctuation.definition.tag.end.html"
  1639. }
  1640. },
  1641. "match": "(?i)(<)(([\\w:]+))(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(/>))",
  1642. "name": "meta.element.other.invalid.html"
  1643. },
  1644. {
  1645. "begin": "(?i)(<)((\\w[^\\s>]*))(?=\\s|/?>)(?:(([^\"'>]|\"[^\"]*\"|'[^']*')*)(>))?",
  1646. "beginCaptures": {
  1647. "0": {
  1648. "name": "meta.tag.other.invalid.start.html"
  1649. },
  1650. "1": {
  1651. "name": "punctuation.definition.tag.begin.html"
  1652. },
  1653. "2": {
  1654. "name": "entity.name.tag.html"
  1655. },
  1656. "3": {
  1657. "name": "invalid.illegal.unrecognized-tag.html"
  1658. },
  1659. "4": {
  1660. "patterns": [
  1661. {
  1662. "include": "#attribute"
  1663. }
  1664. ]
  1665. },
  1666. "6": {
  1667. "name": "punctuation.definition.tag.end.html"
  1668. }
  1669. },
  1670. "end": "(?i)(</)((\\2))\\s*(>)|(/>)|(?=</\\w+)",
  1671. "endCaptures": {
  1672. "0": {
  1673. "name": "meta.tag.other.invalid.end.html"
  1674. },
  1675. "1": {
  1676. "name": "punctuation.definition.tag.begin.html"
  1677. },
  1678. "2": {
  1679. "name": "entity.name.tag.html"
  1680. },
  1681. "3": {
  1682. "name": "invalid.illegal.unrecognized-tag.html"
  1683. },
  1684. "4": {
  1685. "name": "punctuation.definition.tag.end.html"
  1686. },
  1687. "5": {
  1688. "name": "punctuation.definition.tag.end.html"
  1689. }
  1690. },
  1691. "name": "meta.element.other.invalid.html",
  1692. "patterns": [
  1693. {
  1694. "begin": "(?<!>)\\G",
  1695. "end": "(?=/>)|>",
  1696. "endCaptures": {
  1697. "0": {
  1698. "name": "punctuation.definition.tag.end.html"
  1699. }
  1700. },
  1701. "name": "meta.tag.other.invalid.start.html",
  1702. "patterns": [
  1703. {
  1704. "include": "#attribute"
  1705. }
  1706. ]
  1707. },
  1708. {
  1709. "include": "#tags"
  1710. }
  1711. ]
  1712. },
  1713. {
  1714. "include": "#tags-invalid"
  1715. }
  1716. ]
  1717. }
  1718. }
  1719. },
  1720. "tags-invalid": {
  1721. "patterns": [
  1722. {
  1723. "begin": "(</?)((\\w[^\\s>]*))(?<!/)",
  1724. "beginCaptures": {
  1725. "1": {
  1726. "name": "punctuation.definition.tag.begin.html"
  1727. },
  1728. "2": {
  1729. "name": "entity.name.tag.html"
  1730. },
  1731. "3": {
  1732. "name": "invalid.illegal.unrecognized-tag.html"
  1733. }
  1734. },
  1735. "end": "((?: ?/)?>)",
  1736. "endCaptures": {
  1737. "1": {
  1738. "name": "punctuation.definition.tag.end.html"
  1739. }
  1740. },
  1741. "name": "meta.tag.other.$2.html",
  1742. "patterns": [
  1743. {
  1744. "include": "#attribute"
  1745. }
  1746. ]
  1747. }
  1748. ]
  1749. },
  1750. "tags-valid": {
  1751. "patterns": [
  1752. {
  1753. "begin": "(^[ \\t]+)?(?=<(?i:style)\\b(?!-))",
  1754. "beginCaptures": {
  1755. "1": {
  1756. "name": "punctuation.whitespace.embedded.leading.html"
  1757. }
  1758. },
  1759. "end": "(?!\\G)([ \\t]*$\\n?)?",
  1760. "endCaptures": {
  1761. "1": {
  1762. "name": "punctuation.whitespace.embedded.trailing.html"
  1763. }
  1764. },
  1765. "patterns": [
  1766. {
  1767. "begin": "(?i)(<)(style)(?=\\s|/?>)",
  1768. "beginCaptures": {
  1769. "0": {
  1770. "name": "meta.tag.metadata.style.start.html"
  1771. },
  1772. "1": {
  1773. "name": "punctuation.definition.tag.begin.html"
  1774. },
  1775. "2": {
  1776. "name": "entity.name.tag.html"
  1777. }
  1778. },
  1779. "end": "(?i)((<)/)(style)\\s*(>)",
  1780. "endCaptures": {
  1781. "0": {
  1782. "name": "meta.tag.metadata.style.end.html"
  1783. },
  1784. "1": {
  1785. "name": "punctuation.definition.tag.begin.html"
  1786. },
  1787. "2": {
  1788. "name": "source.css-ignored-vscode"
  1789. },
  1790. "3": {
  1791. "name": "entity.name.tag.html"
  1792. },
  1793. "4": {
  1794. "name": "punctuation.definition.tag.end.html"
  1795. }
  1796. },
  1797. "name": "meta.embedded.block.html",
  1798. "patterns": [
  1799. {
  1800. "begin": "\\G",
  1801. "captures": {
  1802. "1": {
  1803. "name": "punctuation.definition.tag.end.html"
  1804. }
  1805. },
  1806. "end": "(>)",
  1807. "name": "meta.tag.metadata.style.start.html",
  1808. "patterns": [
  1809. {
  1810. "include": "#attribute"
  1811. }
  1812. ]
  1813. },
  1814. {
  1815. "begin": "(?!\\G)",
  1816. "end": "(?=</(?i:style))",
  1817. "name": "source.css",
  1818. "patterns": [
  1819. {
  1820. "include": "source.css"
  1821. }
  1822. ]
  1823. }
  1824. ]
  1825. }
  1826. ]
  1827. },
  1828. {
  1829. "begin": "(^[ \\t]+)?(?=<(?i:script)\\b(?!-))",
  1830. "beginCaptures": {
  1831. "1": {
  1832. "name": "punctuation.whitespace.embedded.leading.html"
  1833. }
  1834. },
  1835. "end": "(?!\\G)([ \\t]*$\\n?)?",
  1836. "endCaptures": {
  1837. "1": {
  1838. "name": "punctuation.whitespace.embedded.trailing.html"
  1839. }
  1840. },
  1841. "patterns": [
  1842. {
  1843. "begin": "(<)((?i:script))\\b",
  1844. "beginCaptures": {
  1845. "0": {
  1846. "name": "meta.tag.metadata.script.start.html"
  1847. },
  1848. "1": {
  1849. "name": "punctuation.definition.tag.begin.html"
  1850. },
  1851. "2": {
  1852. "name": "entity.name.tag.html"
  1853. }
  1854. },
  1855. "end": "(/)((?i:script))(>)",
  1856. "endCaptures": {
  1857. "0": {
  1858. "name": "meta.tag.metadata.script.end.html"
  1859. },
  1860. "1": {
  1861. "name": "punctuation.definition.tag.begin.html"
  1862. },
  1863. "2": {
  1864. "name": "entity.name.tag.html"
  1865. },
  1866. "3": {
  1867. "name": "punctuation.definition.tag.end.html"
  1868. }
  1869. },
  1870. "name": "meta.embedded.block.html",
  1871. "patterns": [
  1872. {
  1873. "begin": "\\G",
  1874. "end": "(?=/)",
  1875. "patterns": [
  1876. {
  1877. "begin": "(>)",
  1878. "beginCaptures": {
  1879. "0": {
  1880. "name": "meta.tag.metadata.script.start.html"
  1881. },
  1882. "1": {
  1883. "name": "punctuation.definition.tag.end.html"
  1884. }
  1885. },
  1886. "end": "((<))(?=/(?i:script))",
  1887. "endCaptures": {
  1888. "0": {
  1889. "name": "meta.tag.metadata.script.end.html"
  1890. },
  1891. "1": {
  1892. "name": "punctuation.definition.tag.begin.html"
  1893. },
  1894. "2": {
  1895. "name": "source.js-ignored-vscode"
  1896. }
  1897. },
  1898. "patterns": [
  1899. {
  1900. "begin": "\\G",
  1901. "end": "(?=</(?i:script))",
  1902. "name": "source.js",
  1903. "patterns": [
  1904. {
  1905. "begin": "(^[ \\t]+)?(?=//)",
  1906. "beginCaptures": {
  1907. "1": {
  1908. "name": "punctuation.whitespace.comment.leading.js"
  1909. }
  1910. },
  1911. "end": "(?!\\G)",
  1912. "patterns": [
  1913. {
  1914. "begin": "//",
  1915. "beginCaptures": {
  1916. "0": {
  1917. "name": "punctuation.definition.comment.js"
  1918. }
  1919. },
  1920. "end": "(?=</script)|\\n",
  1921. "name": "comment.line.double-slash.js"
  1922. }
  1923. ]
  1924. },
  1925. {
  1926. "begin": "/\\*",
  1927. "captures": {
  1928. "0": {
  1929. "name": "punctuation.definition.comment.js"
  1930. }
  1931. },
  1932. "end": "\\*/|(?=</script)",
  1933. "name": "comment.block.js"
  1934. },
  1935. {
  1936. "include": "source.js"
  1937. }
  1938. ]
  1939. }
  1940. ]
  1941. },
  1942. {
  1943. "begin": "\\G",
  1944. "end": "(?ix:\n\t\t\t\t\t\t\t\t\t\t\t\t(?=>\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)",
  1945. "name": "meta.tag.metadata.script.start.html",
  1946. "patterns": [
  1947. {
  1948. "include": "#attribute"
  1949. }
  1950. ]
  1951. },
  1952. {
  1953. "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)",
  1954. "end": "((<))(?=/(?i:script))",
  1955. "endCaptures": {
  1956. "0": {
  1957. "name": "meta.tag.metadata.script.end.html"
  1958. },
  1959. "1": {
  1960. "name": "punctuation.definition.tag.begin.html"
  1961. },
  1962. "2": {
  1963. "name": "text.html.basic"
  1964. }
  1965. },
  1966. "patterns": [
  1967. {
  1968. "begin": "\\G",
  1969. "end": "(>)",
  1970. "endCaptures": {
  1971. "1": {
  1972. "name": "punctuation.definition.tag.end.html"
  1973. }
  1974. },
  1975. "name": "meta.tag.metadata.script.start.html",
  1976. "patterns": [
  1977. {
  1978. "include": "#attribute"
  1979. }
  1980. ]
  1981. },
  1982. {
  1983. "begin": "(?!\\G)",
  1984. "end": "(?=</(?i:script))",
  1985. "name": "text.html.basic",
  1986. "patterns": [
  1987. {
  1988. "include": "text.html.basic"
  1989. }
  1990. ]
  1991. }
  1992. ]
  1993. },
  1994. {
  1995. "begin": "(?=(?i:type))",
  1996. "end": "(<)(?=/(?i:script))",
  1997. "endCaptures": {
  1998. "0": {
  1999. "name": "meta.tag.metadata.script.end.html"
  2000. },
  2001. "1": {
  2002. "name": "punctuation.definition.tag.begin.html"
  2003. }
  2004. },
  2005. "patterns": [
  2006. {
  2007. "begin": "\\G",
  2008. "end": "(>)",
  2009. "endCaptures": {
  2010. "1": {
  2011. "name": "punctuation.definition.tag.end.html"
  2012. }
  2013. },
  2014. "name": "meta.tag.metadata.script.start.html",
  2015. "patterns": [
  2016. {
  2017. "include": "#attribute"
  2018. }
  2019. ]
  2020. },
  2021. {
  2022. "begin": "(?!\\G)",
  2023. "end": "(?=</(?i:script))",
  2024. "name": "source.unknown"
  2025. }
  2026. ]
  2027. }
  2028. ]
  2029. }
  2030. ]
  2031. }
  2032. ]
  2033. },
  2034. {
  2035. "begin": "(?i)(<)(base|link|meta)(?=\\s|/?>)",
  2036. "beginCaptures": {
  2037. "1": {
  2038. "name": "punctuation.definition.tag.begin.html"
  2039. },
  2040. "2": {
  2041. "name": "entity.name.tag.html"
  2042. }
  2043. },
  2044. "end": "/?>",
  2045. "endCaptures": {
  2046. "0": {
  2047. "name": "punctuation.definition.tag.end.html"
  2048. }
  2049. },
  2050. "name": "meta.tag.metadata.$2.void.html",
  2051. "patterns": [
  2052. {
  2053. "include": "#attribute"
  2054. }
  2055. ]
  2056. },
  2057. {
  2058. "begin": "(?i)(<)(noscript|title)(?=\\s|/?>)",
  2059. "beginCaptures": {
  2060. "1": {
  2061. "name": "punctuation.definition.tag.begin.html"
  2062. },
  2063. "2": {
  2064. "name": "entity.name.tag.html"
  2065. }
  2066. },
  2067. "end": ">",
  2068. "endCaptures": {
  2069. "0": {
  2070. "name": "punctuation.definition.tag.end.html"
  2071. }
  2072. },
  2073. "name": "meta.tag.metadata.$2.start.html",
  2074. "patterns": [
  2075. {
  2076. "include": "#attribute"
  2077. }
  2078. ]
  2079. },
  2080. {
  2081. "begin": "(?i)(</)(noscript|title)(?=\\s|/?>)",
  2082. "beginCaptures": {
  2083. "1": {
  2084. "name": "punctuation.definition.tag.begin.html"
  2085. },
  2086. "2": {
  2087. "name": "entity.name.tag.html"
  2088. }
  2089. },
  2090. "end": ">",
  2091. "endCaptures": {
  2092. "0": {
  2093. "name": "punctuation.definition.tag.end.html"
  2094. }
  2095. },
  2096. "name": "meta.tag.metadata.$2.end.html",
  2097. "patterns": [
  2098. {
  2099. "include": "#attribute"
  2100. }
  2101. ]
  2102. },
  2103. {
  2104. "begin": "(?i)(<)(col|hr|input)(?=\\s|/?>)",
  2105. "beginCaptures": {
  2106. "1": {
  2107. "name": "punctuation.definition.tag.begin.html"
  2108. },
  2109. "2": {
  2110. "name": "entity.name.tag.html"
  2111. }
  2112. },
  2113. "end": "/?>",
  2114. "endCaptures": {
  2115. "0": {
  2116. "name": "punctuation.definition.tag.end.html"
  2117. }
  2118. },
  2119. "name": "meta.tag.structure.$2.void.html",
  2120. "patterns": [
  2121. {
  2122. "include": "#attribute"
  2123. }
  2124. ]
  2125. },
  2126. {
  2127. "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|/?>)",
  2128. "beginCaptures": {
  2129. "1": {
  2130. "name": "punctuation.definition.tag.begin.html"
  2131. },
  2132. "2": {
  2133. "name": "entity.name.tag.html"
  2134. }
  2135. },
  2136. "end": ">",
  2137. "endCaptures": {
  2138. "0": {
  2139. "name": "punctuation.definition.tag.end.html"
  2140. }
  2141. },
  2142. "name": "meta.tag.structure.$2.start.html",
  2143. "patterns": [
  2144. {
  2145. "include": "#attribute"
  2146. }
  2147. ]
  2148. },
  2149. {
  2150. "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|/?>)",
  2151. "beginCaptures": {
  2152. "1": {
  2153. "name": "punctuation.definition.tag.begin.html"
  2154. },
  2155. "2": {
  2156. "name": "entity.name.tag.html"
  2157. }
  2158. },
  2159. "end": ">",
  2160. "endCaptures": {
  2161. "0": {
  2162. "name": "punctuation.definition.tag.end.html"
  2163. }
  2164. },
  2165. "name": "meta.tag.structure.$2.end.html",
  2166. "patterns": [
  2167. {
  2168. "include": "#attribute"
  2169. }
  2170. ]
  2171. },
  2172. {
  2173. "begin": "(?i)(<)(area|br|wbr)(?=\\s|/?>)",
  2174. "beginCaptures": {
  2175. "1": {
  2176. "name": "punctuation.definition.tag.begin.html"
  2177. },
  2178. "2": {
  2179. "name": "entity.name.tag.html"
  2180. }
  2181. },
  2182. "end": "/?>",
  2183. "endCaptures": {
  2184. "0": {
  2185. "name": "punctuation.definition.tag.end.html"
  2186. }
  2187. },
  2188. "name": "meta.tag.inline.$2.void.html",
  2189. "patterns": [
  2190. {
  2191. "include": "#attribute"
  2192. }
  2193. ]
  2194. },
  2195. {
  2196. "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|/?>)",
  2197. "beginCaptures": {
  2198. "1": {
  2199. "name": "punctuation.definition.tag.begin.html"
  2200. },
  2201. "2": {
  2202. "name": "entity.name.tag.html"
  2203. }
  2204. },
  2205. "end": ">",
  2206. "endCaptures": {
  2207. "0": {
  2208. "name": "punctuation.definition.tag.end.html"
  2209. }
  2210. },
  2211. "name": "meta.tag.inline.$2.start.html",
  2212. "patterns": [
  2213. {
  2214. "include": "#attribute"
  2215. }
  2216. ]
  2217. },
  2218. {
  2219. "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|/?>)",
  2220. "beginCaptures": {
  2221. "1": {
  2222. "name": "punctuation.definition.tag.begin.html"
  2223. },
  2224. "2": {
  2225. "name": "entity.name.tag.html"
  2226. }
  2227. },
  2228. "end": ">",
  2229. "endCaptures": {
  2230. "0": {
  2231. "name": "punctuation.definition.tag.end.html"
  2232. }
  2233. },
  2234. "name": "meta.tag.inline.$2.end.html",
  2235. "patterns": [
  2236. {
  2237. "include": "#attribute"
  2238. }
  2239. ]
  2240. },
  2241. {
  2242. "begin": "(?i)(<)(embed|img|param|source|track)(?=\\s|/?>)",
  2243. "beginCaptures": {
  2244. "1": {
  2245. "name": "punctuation.definition.tag.begin.html"
  2246. },
  2247. "2": {
  2248. "name": "entity.name.tag.html"
  2249. }
  2250. },
  2251. "end": "/?>",
  2252. "endCaptures": {
  2253. "0": {
  2254. "name": "punctuation.definition.tag.end.html"
  2255. }
  2256. },
  2257. "name": "meta.tag.object.$2.void.html",
  2258. "patterns": [
  2259. {
  2260. "include": "#attribute"
  2261. }
  2262. ]
  2263. },
  2264. {
  2265. "begin": "(?i)(<)(audio|canvas|iframe|object|picture|video)(?=\\s|/?>)",
  2266. "beginCaptures": {
  2267. "1": {
  2268. "name": "punctuation.definition.tag.begin.html"
  2269. },
  2270. "2": {
  2271. "name": "entity.name.tag.html"
  2272. }
  2273. },
  2274. "end": ">",
  2275. "endCaptures": {
  2276. "0": {
  2277. "name": "punctuation.definition.tag.end.html"
  2278. }
  2279. },
  2280. "name": "meta.tag.object.$2.start.html",
  2281. "patterns": [
  2282. {
  2283. "include": "#attribute"
  2284. }
  2285. ]
  2286. },
  2287. {
  2288. "begin": "(?i)(</)(audio|canvas|iframe|object|picture|video)(?=\\s|/?>)",
  2289. "beginCaptures": {
  2290. "1": {
  2291. "name": "punctuation.definition.tag.begin.html"
  2292. },
  2293. "2": {
  2294. "name": "entity.name.tag.html"
  2295. }
  2296. },
  2297. "end": ">",
  2298. "endCaptures": {
  2299. "0": {
  2300. "name": "punctuation.definition.tag.end.html"
  2301. }
  2302. },
  2303. "name": "meta.tag.object.$2.end.html",
  2304. "patterns": [
  2305. {
  2306. "include": "#attribute"
  2307. }
  2308. ]
  2309. },
  2310. {
  2311. "begin": "(?i)(<)((basefont|isindex))(?=\\s|/?>)",
  2312. "beginCaptures": {
  2313. "1": {
  2314. "name": "punctuation.definition.tag.begin.html"
  2315. },
  2316. "2": {
  2317. "name": "entity.name.tag.html"
  2318. },
  2319. "3": {
  2320. "name": "invalid.deprecated.html"
  2321. }
  2322. },
  2323. "end": "/?>",
  2324. "endCaptures": {
  2325. "0": {
  2326. "name": "punctuation.definition.tag.end.html"
  2327. }
  2328. },
  2329. "name": "meta.tag.metadata.$2.void.html",
  2330. "patterns": [
  2331. {
  2332. "include": "#attribute"
  2333. }
  2334. ]
  2335. },
  2336. {
  2337. "begin": "(?i)(<)((center|frameset|noembed|noframes))(?=\\s|/?>)",
  2338. "beginCaptures": {
  2339. "1": {
  2340. "name": "punctuation.definition.tag.begin.html"
  2341. },
  2342. "2": {
  2343. "name": "entity.name.tag.html"
  2344. },
  2345. "3": {
  2346. "name": "invalid.deprecated.html"
  2347. }
  2348. },
  2349. "end": ">",
  2350. "endCaptures": {
  2351. "0": {
  2352. "name": "punctuation.definition.tag.end.html"
  2353. }
  2354. },
  2355. "name": "meta.tag.structure.$2.start.html",
  2356. "patterns": [
  2357. {
  2358. "include": "#attribute"
  2359. }
  2360. ]
  2361. },
  2362. {
  2363. "begin": "(?i)(</)((center|frameset|noembed|noframes))(?=\\s|/?>)",
  2364. "beginCaptures": {
  2365. "1": {
  2366. "name": "punctuation.definition.tag.begin.html"
  2367. },
  2368. "2": {
  2369. "name": "entity.name.tag.html"
  2370. },
  2371. "3": {
  2372. "name": "invalid.deprecated.html"
  2373. }
  2374. },
  2375. "end": ">",
  2376. "endCaptures": {
  2377. "0": {
  2378. "name": "punctuation.definition.tag.end.html"
  2379. }
  2380. },
  2381. "name": "meta.tag.structure.$2.end.html",
  2382. "patterns": [
  2383. {
  2384. "include": "#attribute"
  2385. }
  2386. ]
  2387. },
  2388. {
  2389. "begin": "(?i)(<)((acronym|big|blink|font|strike|tt|xmp))(?=\\s|/?>)",
  2390. "beginCaptures": {
  2391. "1": {
  2392. "name": "punctuation.definition.tag.begin.html"
  2393. },
  2394. "2": {
  2395. "name": "entity.name.tag.html"
  2396. },
  2397. "3": {
  2398. "name": "invalid.deprecated.html"
  2399. }
  2400. },
  2401. "end": ">",
  2402. "endCaptures": {
  2403. "0": {
  2404. "name": "punctuation.definition.tag.end.html"
  2405. }
  2406. },
  2407. "name": "meta.tag.inline.$2.start.html",
  2408. "patterns": [
  2409. {
  2410. "include": "#attribute"
  2411. }
  2412. ]
  2413. },
  2414. {
  2415. "begin": "(?i)(</)((acronym|big|blink|font|strike|tt|xmp))(?=\\s|/?>)",
  2416. "beginCaptures": {
  2417. "1": {
  2418. "name": "punctuation.definition.tag.begin.html"
  2419. },
  2420. "2": {
  2421. "name": "entity.name.tag.html"
  2422. },
  2423. "3": {
  2424. "name": "invalid.deprecated.html"
  2425. }
  2426. },
  2427. "end": ">",
  2428. "endCaptures": {
  2429. "0": {
  2430. "name": "punctuation.definition.tag.end.html"
  2431. }
  2432. },
  2433. "name": "meta.tag.inline.$2.end.html",
  2434. "patterns": [
  2435. {
  2436. "include": "#attribute"
  2437. }
  2438. ]
  2439. },
  2440. {
  2441. "begin": "(?i)(<)((frame))(?=\\s|/?>)",
  2442. "beginCaptures": {
  2443. "1": {
  2444. "name": "punctuation.definition.tag.begin.html"
  2445. },
  2446. "2": {
  2447. "name": "entity.name.tag.html"
  2448. },
  2449. "3": {
  2450. "name": "invalid.deprecated.html"
  2451. }
  2452. },
  2453. "end": "/?>",
  2454. "endCaptures": {
  2455. "0": {
  2456. "name": "punctuation.definition.tag.end.html"
  2457. }
  2458. },
  2459. "name": "meta.tag.object.$2.void.html",
  2460. "patterns": [
  2461. {
  2462. "include": "#attribute"
  2463. }
  2464. ]
  2465. },
  2466. {
  2467. "begin": "(?i)(<)((applet))(?=\\s|/?>)",
  2468. "beginCaptures": {
  2469. "1": {
  2470. "name": "punctuation.definition.tag.begin.html"
  2471. },
  2472. "2": {
  2473. "name": "entity.name.tag.html"
  2474. },
  2475. "3": {
  2476. "name": "invalid.deprecated.html"
  2477. }
  2478. },
  2479. "end": ">",
  2480. "endCaptures": {
  2481. "0": {
  2482. "name": "punctuation.definition.tag.end.html"
  2483. }
  2484. },
  2485. "name": "meta.tag.object.$2.start.html",
  2486. "patterns": [
  2487. {
  2488. "include": "#attribute"
  2489. }
  2490. ]
  2491. },
  2492. {
  2493. "begin": "(?i)(</)((applet))(?=\\s|/?>)",
  2494. "beginCaptures": {
  2495. "1": {
  2496. "name": "punctuation.definition.tag.begin.html"
  2497. },
  2498. "2": {
  2499. "name": "entity.name.tag.html"
  2500. },
  2501. "3": {
  2502. "name": "invalid.deprecated.html"
  2503. }
  2504. },
  2505. "end": ">",
  2506. "endCaptures": {
  2507. "0": {
  2508. "name": "punctuation.definition.tag.end.html"
  2509. }
  2510. },
  2511. "name": "meta.tag.object.$2.end.html",
  2512. "patterns": [
  2513. {
  2514. "include": "#attribute"
  2515. }
  2516. ]
  2517. },
  2518. {
  2519. "begin": "(?i)(<)((dir|keygen|listing|menuitem|plaintext|spacer))(?=\\s|/?>)",
  2520. "beginCaptures": {
  2521. "1": {
  2522. "name": "punctuation.definition.tag.begin.html"
  2523. },
  2524. "2": {
  2525. "name": "entity.name.tag.html"
  2526. },
  2527. "3": {
  2528. "name": "invalid.illegal.no-longer-supported.html"
  2529. }
  2530. },
  2531. "end": ">",
  2532. "endCaptures": {
  2533. "0": {
  2534. "name": "punctuation.definition.tag.end.html"
  2535. }
  2536. },
  2537. "name": "meta.tag.other.$2.start.html",
  2538. "patterns": [
  2539. {
  2540. "include": "#attribute"
  2541. }
  2542. ]
  2543. },
  2544. {
  2545. "begin": "(?i)(</)((dir|keygen|listing|menuitem|plaintext|spacer))(?=\\s|/?>)",
  2546. "beginCaptures": {
  2547. "1": {
  2548. "name": "punctuation.definition.tag.begin.html"
  2549. },
  2550. "2": {
  2551. "name": "entity.name.tag.html"
  2552. },
  2553. "3": {
  2554. "name": "invalid.illegal.no-longer-supported.html"
  2555. }
  2556. },
  2557. "end": ">",
  2558. "endCaptures": {
  2559. "0": {
  2560. "name": "punctuation.definition.tag.end.html"
  2561. }
  2562. },
  2563. "name": "meta.tag.other.$2.end.html",
  2564. "patterns": [
  2565. {
  2566. "include": "#attribute"
  2567. }
  2568. ]
  2569. },
  2570. {
  2571. "include": "#math"
  2572. },
  2573. {
  2574. "include": "#svg"
  2575. },
  2576. {
  2577. "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|/?>)",
  2578. "beginCaptures": {
  2579. "1": {
  2580. "name": "punctuation.definition.tag.begin.html"
  2581. },
  2582. "2": {
  2583. "name": "entity.name.tag.html"
  2584. }
  2585. },
  2586. "end": "/?>",
  2587. "endCaptures": {
  2588. "0": {
  2589. "name": "punctuation.definition.tag.end.html"
  2590. }
  2591. },
  2592. "name": "meta.tag.custom.start.html",
  2593. "patterns": [
  2594. {
  2595. "include": "#attribute"
  2596. }
  2597. ]
  2598. },
  2599. {
  2600. "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|/?>)",
  2601. "beginCaptures": {
  2602. "1": {
  2603. "name": "punctuation.definition.tag.begin.html"
  2604. },
  2605. "2": {
  2606. "name": "entity.name.tag.html"
  2607. }
  2608. },
  2609. "end": ">",
  2610. "endCaptures": {
  2611. "0": {
  2612. "name": "punctuation.definition.tag.end.html"
  2613. }
  2614. },
  2615. "name": "meta.tag.custom.end.html",
  2616. "patterns": [
  2617. {
  2618. "include": "#attribute"
  2619. }
  2620. ]
  2621. }
  2622. ]
  2623. },
  2624. "xml-processing": {
  2625. "begin": "(<\\?)(xml)",
  2626. "captures": {
  2627. "1": {
  2628. "name": "punctuation.definition.tag.html"
  2629. },
  2630. "2": {
  2631. "name": "entity.name.tag.html"
  2632. }
  2633. },
  2634. "end": "(\\?>)",
  2635. "name": "meta.tag.metadata.processing.xml.html",
  2636. "patterns": [
  2637. {
  2638. "include": "#attribute"
  2639. }
  2640. ]
  2641. }
  2642. }
  2643. }