@kerebron/legacy-compat 0.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. package/README.md +108 -0
  2. package/dist/__vite-browser-external-C8P1ckfS.js +56007 -0
  3. package/dist/__vite-browser-external-C8P1ckfS.js.map +1 -0
  4. package/dist/apl-B2DGVGxc.js +77 -0
  5. package/dist/apl-B2DGVGxc.js.map +1 -0
  6. package/dist/asciiarmor-2LVJmxlE.js +35 -0
  7. package/dist/asciiarmor-2LVJmxlE.js.map +1 -0
  8. package/dist/asn1-jKiBa2Ya.js +96 -0
  9. package/dist/asn1-jKiBa2Ya.js.map +1 -0
  10. package/dist/asterisk-DS281yxp.js +272 -0
  11. package/dist/asterisk-DS281yxp.js.map +1 -0
  12. package/dist/brainfuck-C_p9pTT8.js +35 -0
  13. package/dist/brainfuck-C_p9pTT8.js.map +1 -0
  14. package/dist/clike-DE3V9X8-.js +616 -0
  15. package/dist/clike-DE3V9X8-.js.map +1 -0
  16. package/dist/clojure-CCKyeQKf.js +801 -0
  17. package/dist/clojure-CCKyeQKf.js.map +1 -0
  18. package/dist/cmake-CuaCgAKt.js +29 -0
  19. package/dist/cmake-CuaCgAKt.js.map +1 -0
  20. package/dist/cobol-BlTKFDRj.js +73 -0
  21. package/dist/cobol-BlTKFDRj.js.map +1 -0
  22. package/dist/coffeescript-BVCvwO8I.js +180 -0
  23. package/dist/coffeescript-BVCvwO8I.js.map +1 -0
  24. package/dist/commonlisp-D_kxz07b.js +76 -0
  25. package/dist/commonlisp-D_kxz07b.js.map +1 -0
  26. package/dist/crystal-D309uH6_.js +218 -0
  27. package/dist/crystal-D309uH6_.js.map +1 -0
  28. package/dist/cypher-BMq4Fwjl.js +69 -0
  29. package/dist/cypher-BMq4Fwjl.js.map +1 -0
  30. package/dist/d-BZcgY6La.js +128 -0
  31. package/dist/d-BZcgY6La.js.map +1 -0
  32. package/dist/diff-Cg9d_RX2.js +19 -0
  33. package/dist/diff-Cg9d_RX2.js.map +1 -0
  34. package/dist/dockerfile-DIy8NleC.js +195 -0
  35. package/dist/dockerfile-DIy8NleC.js.map +1 -0
  36. package/dist/dtd-CtLokQ-U.js +85 -0
  37. package/dist/dtd-CtLokQ-U.js.map +1 -0
  38. package/dist/dylan-QYeExnWK.js +235 -0
  39. package/dist/dylan-QYeExnWK.js.map +1 -0
  40. package/dist/ebnf-DUPDuY4r.js +79 -0
  41. package/dist/ebnf-DUPDuY4r.js.map +1 -0
  42. package/dist/ecl-CiXN-g_D.js +122 -0
  43. package/dist/ecl-CiXN-g_D.js.map +1 -0
  44. package/dist/eiffel-yQhjl4T1.js +111 -0
  45. package/dist/eiffel-yQhjl4T1.js.map +1 -0
  46. package/dist/elm-CNT9vbN0.js +109 -0
  47. package/dist/elm-CNT9vbN0.js.map +1 -0
  48. package/dist/erlang-CFOYdy9e.js +488 -0
  49. package/dist/erlang-CFOYdy9e.js.map +1 -0
  50. package/dist/factor-DDOC7X6P.js +66 -0
  51. package/dist/factor-DDOC7X6P.js.map +1 -0
  52. package/dist/fcl-CPC2WYrI.js +104 -0
  53. package/dist/fcl-CPC2WYrI.js.map +1 -0
  54. package/dist/forth-BmxRyE9S.js +61 -0
  55. package/dist/forth-BmxRyE9S.js.map +1 -0
  56. package/dist/fortran-9bvPyrOW.js +443 -0
  57. package/dist/fortran-9bvPyrOW.js.map +1 -0
  58. package/dist/gas-cpmYfFX2.js +184 -0
  59. package/dist/gas-cpmYfFX2.js.map +1 -0
  60. package/dist/gherkin-CJuwpceU.js +35 -0
  61. package/dist/gherkin-CJuwpceU.js.map +1 -0
  62. package/dist/go-BHVhI2MG.js +156 -0
  63. package/dist/go-BHVhI2MG.js.map +1 -0
  64. package/dist/groovy-DZeT_VM-.js +147 -0
  65. package/dist/groovy-DZeT_VM-.js.map +1 -0
  66. package/dist/haskell-CxiO_7JL.js +376 -0
  67. package/dist/haskell-CxiO_7JL.js.map +1 -0
  68. package/dist/haxe-BhV0x0nk.js +337 -0
  69. package/dist/haxe-BhV0x0nk.js.map +1 -0
  70. package/dist/http-D9LttvKF.js +45 -0
  71. package/dist/http-D9LttvKF.js.map +1 -0
  72. package/dist/idl-B6TRFYjl.js +948 -0
  73. package/dist/idl-B6TRFYjl.js.map +1 -0
  74. package/dist/index-3ZSzAD46.js +63 -0
  75. package/dist/index-3ZSzAD46.js.map +1 -0
  76. package/dist/index-4h94vbv1.js +566 -0
  77. package/dist/index-4h94vbv1.js.map +1 -0
  78. package/dist/index-BAvKq317.js +961 -0
  79. package/dist/index-BAvKq317.js.map +1 -0
  80. package/dist/index-BHdiR3sn.js +613 -0
  81. package/dist/index-BHdiR3sn.js.map +1 -0
  82. package/dist/index-BnFQ_MuW.js +95 -0
  83. package/dist/index-BnFQ_MuW.js.map +1 -0
  84. package/dist/index-BqHwEvbm.js +139 -0
  85. package/dist/index-BqHwEvbm.js.map +1 -0
  86. package/dist/index-Bt60d9tl.js +60 -0
  87. package/dist/index-Bt60d9tl.js.map +1 -0
  88. package/dist/index-CLnSITym.js +1306 -0
  89. package/dist/index-CLnSITym.js.map +1 -0
  90. package/dist/index-D4axvsgA.js +158 -0
  91. package/dist/index-D4axvsgA.js.map +1 -0
  92. package/dist/index-DCtMPiGL.js +77 -0
  93. package/dist/index-DCtMPiGL.js.map +1 -0
  94. package/dist/index-DbR4C70d.js +554 -0
  95. package/dist/index-DbR4C70d.js.map +1 -0
  96. package/dist/index-Dgs7p3d5.js +303 -0
  97. package/dist/index-Dgs7p3d5.js.map +1 -0
  98. package/dist/index-Diy176Rq.js +946 -0
  99. package/dist/index-Diy176Rq.js.map +1 -0
  100. package/dist/index-I2kdiwDu.js +1918 -0
  101. package/dist/index-I2kdiwDu.js.map +1 -0
  102. package/dist/index-L0u_VcRQ.js +310 -0
  103. package/dist/index-L0u_VcRQ.js.map +1 -0
  104. package/dist/jinja2-DnB6dQmV.js +155 -0
  105. package/dist/jinja2-DnB6dQmV.js.map +1 -0
  106. package/dist/julia-DpvXAuO6.js +242 -0
  107. package/dist/julia-DpvXAuO6.js.map +1 -0
  108. package/dist/kerebron-light.css +1 -0
  109. package/dist/kerebron.css +1 -0
  110. package/dist/kerebron.js +7 -0
  111. package/dist/kerebron.js.map +1 -0
  112. package/dist/livescript-CanGTf8u.js +273 -0
  113. package/dist/livescript-CanGTf8u.js.map +1 -0
  114. package/dist/lua-XplVlWi_.js +218 -0
  115. package/dist/lua-XplVlWi_.js.map +1 -0
  116. package/dist/mathematica-jaRHnSxC.js +36 -0
  117. package/dist/mathematica-jaRHnSxC.js.map +1 -0
  118. package/dist/mbox-BctzC1hL.js +77 -0
  119. package/dist/mbox-BctzC1hL.js.map +1 -0
  120. package/dist/mirc-CFBPAOaF.js +73 -0
  121. package/dist/mirc-CFBPAOaF.js.map +1 -0
  122. package/dist/mllike-gvRenHsu.js +273 -0
  123. package/dist/mllike-gvRenHsu.js.map +1 -0
  124. package/dist/modelica-vUgVs--1.js +94 -0
  125. package/dist/modelica-vUgVs--1.js.map +1 -0
  126. package/dist/mscgen-ucEwbOaK.js +82 -0
  127. package/dist/mscgen-ucEwbOaK.js.map +1 -0
  128. package/dist/mumps-CQoS1kWX.js +26 -0
  129. package/dist/mumps-CQoS1kWX.js.map +1 -0
  130. package/dist/nginx-zDPm3Z74.js +90 -0
  131. package/dist/nginx-zDPm3Z74.js.map +1 -0
  132. package/dist/nsis-fePjrhq7.js +63 -0
  133. package/dist/nsis-fePjrhq7.js.map +1 -0
  134. package/dist/ntriples-CsNjv2QF.js +80 -0
  135. package/dist/ntriples-CsNjv2QF.js.map +1 -0
  136. package/dist/octave-C8PmmSRH.js +144 -0
  137. package/dist/octave-C8PmmSRH.js.map +1 -0
  138. package/dist/odt_parser.internal-CYdkAHGB.js +258 -0
  139. package/dist/odt_parser.internal-CYdkAHGB.js.map +1 -0
  140. package/dist/oz-Ce8aN8oE.js +152 -0
  141. package/dist/oz-Ce8aN8oE.js.map +1 -0
  142. package/dist/pascal-De0D6mP7.js +78 -0
  143. package/dist/pascal-De0D6mP7.js.map +1 -0
  144. package/dist/perl-B4bSCe1C.js +916 -0
  145. package/dist/perl-B4bSCe1C.js.map +1 -0
  146. package/dist/pig-D24Z8EXi.js +55 -0
  147. package/dist/pig-D24Z8EXi.js.map +1 -0
  148. package/dist/powershell-DkYVfTzP.js +250 -0
  149. package/dist/powershell-DkYVfTzP.js.map +1 -0
  150. package/dist/properties-Dn9wna3M.js +27 -0
  151. package/dist/properties-Dn9wna3M.js.map +1 -0
  152. package/dist/protobuf-BPIjwpzm.js +50 -0
  153. package/dist/protobuf-BPIjwpzm.js.map +1 -0
  154. package/dist/puppet-nyd4dhjf.js +46 -0
  155. package/dist/puppet-nyd4dhjf.js.map +1 -0
  156. package/dist/q-DXjKs-tC.js +84 -0
  157. package/dist/q-DXjKs-tC.js.map +1 -0
  158. package/dist/r-LKEuhEGI.js +105 -0
  159. package/dist/r-LKEuhEGI.js.map +1 -0
  160. package/dist/rpm-BoAefZZ1.js +50 -0
  161. package/dist/rpm-BoAefZZ1.js.map +1 -0
  162. package/dist/ruby-CcYfvIk6.js +229 -0
  163. package/dist/ruby-CcYfvIk6.js.map +1 -0
  164. package/dist/sas-7E8yHoCW.js +106 -0
  165. package/dist/sas-7E8yHoCW.js.map +1 -0
  166. package/dist/scheme-DjibxsNh.js +125 -0
  167. package/dist/scheme-DjibxsNh.js.map +1 -0
  168. package/dist/shell-C0C2sNA_.js +183 -0
  169. package/dist/shell-C0C2sNA_.js.map +1 -0
  170. package/dist/simple-mode-B0dvCdAA.js +90 -0
  171. package/dist/simple-mode-B0dvCdAA.js.map +1 -0
  172. package/dist/smalltalk-Bhddl2pB.js +49 -0
  173. package/dist/smalltalk-Bhddl2pB.js.map +1 -0
  174. package/dist/solr-BNlsLglM.js +42 -0
  175. package/dist/solr-BNlsLglM.js.map +1 -0
  176. package/dist/sparql-FarWu_Gb.js +198 -0
  177. package/dist/sparql-FarWu_Gb.js.map +1 -0
  178. package/dist/spreadsheet-C-cy4P5N.js +50 -0
  179. package/dist/spreadsheet-C-cy4P5N.js.map +1 -0
  180. package/dist/stex-Du4h4KAU.js +130 -0
  181. package/dist/stex-Du4h4KAU.js.map +1 -0
  182. package/dist/stylus-DRcbY16X.js +251 -0
  183. package/dist/stylus-DRcbY16X.js.map +1 -0
  184. package/dist/swift-DSxqR9R6.js +231 -0
  185. package/dist/swift-DSxqR9R6.js.map +1 -0
  186. package/dist/tcl-xfoLljhY.js +82 -0
  187. package/dist/tcl-xfoLljhY.js.map +1 -0
  188. package/dist/textile-D1AWE-pc.js +296 -0
  189. package/dist/textile-D1AWE-pc.js.map +1 -0
  190. package/dist/tiddlywiki-5wqsXtSk.js +156 -0
  191. package/dist/tiddlywiki-5wqsXtSk.js.map +1 -0
  192. package/dist/tiki-__Kn3CeS.js +182 -0
  193. package/dist/tiki-__Kn3CeS.js.map +1 -0
  194. package/dist/toml-BHiuTcfn.js +50 -0
  195. package/dist/toml-BHiuTcfn.js.map +1 -0
  196. package/dist/troff-D2UO-fKf.js +36 -0
  197. package/dist/troff-D2UO-fKf.js.map +1 -0
  198. package/dist/ttcn-Bsa4sfRm.js +124 -0
  199. package/dist/ttcn-Bsa4sfRm.js.map +1 -0
  200. package/dist/turtle-xwJUxoPV.js +81 -0
  201. package/dist/turtle-xwJUxoPV.js.map +1 -0
  202. package/dist/vb-c2kQGd6-.js +75 -0
  203. package/dist/vb-c2kQGd6-.js.map +1 -0
  204. package/dist/vbscript-1f_Dhg5H.js +325 -0
  205. package/dist/vbscript-1f_Dhg5H.js.map +1 -0
  206. package/dist/velocity-DJd0pTTC.js +97 -0
  207. package/dist/velocity-DJd0pTTC.js.map +1 -0
  208. package/dist/verilog-CiS1jyi5.js +263 -0
  209. package/dist/verilog-CiS1jyi5.js.map +1 -0
  210. package/dist/vhdl-T9HkrbI2.js +107 -0
  211. package/dist/vhdl-T9HkrbI2.js.map +1 -0
  212. package/dist/webidl-CjfDENEo.js +156 -0
  213. package/dist/webidl-CjfDENEo.js.map +1 -0
  214. package/dist/xquery-Ct6lEb4B.js +423 -0
  215. package/dist/xquery-Ct6lEb4B.js.map +1 -0
  216. package/dist/yacas-C0absKBh.js +74 -0
  217. package/dist/yacas-C0absKBh.js.map +1 -0
  218. package/dist/yaml-Dt6Tp2eU.js +54 -0
  219. package/dist/yaml-Dt6Tp2eU.js.map +1 -0
  220. package/dist/z80-Pki2zAjW.js +62 -0
  221. package/dist/z80-Pki2zAjW.js.map +1 -0
  222. package/package.json +16 -0
@@ -0,0 +1,310 @@
1
+ import { L as G, E as A, C as N } from "./index-CLnSITym.js";
2
+ import { s as I, t as p, E as Y, a as j, L as U, e as k, m as Z, i as B, f as D, n as M } from "./__vite-browser-external-C8P1ckfS.js";
3
+ const h = 1, F = 2, L = 3, K = 4, H = 5, J = 36, ee = 37, te = 38, Oe = 11, oe = 13;
4
+ function re(e) {
5
+ return e == 45 || e == 46 || e == 58 || e >= 65 && e <= 90 || e == 95 || e >= 97 && e <= 122 || e >= 161;
6
+ }
7
+ function ne(e) {
8
+ return e == 9 || e == 10 || e == 13 || e == 32;
9
+ }
10
+ let Q = null, V = null, X = 0;
11
+ function W(e, t) {
12
+ let o = e.pos + t;
13
+ if (V == e && X == o) return Q;
14
+ for (; ne(e.peek(t)); ) t++;
15
+ let O = "";
16
+ for (; ; ) {
17
+ let r = e.peek(t);
18
+ if (!re(r)) break;
19
+ O += String.fromCharCode(r), t++;
20
+ }
21
+ return V = e, X = o, Q = O || null;
22
+ }
23
+ function _(e, t) {
24
+ this.name = e, this.parent = t;
25
+ }
26
+ const ae = new N({
27
+ start: null,
28
+ shift(e, t, o, O) {
29
+ return t == h ? new _(W(O, 1) || "", e) : e;
30
+ },
31
+ reduce(e, t) {
32
+ return t == Oe && e ? e.parent : e;
33
+ },
34
+ reuse(e, t, o, O) {
35
+ let r = t.type.id;
36
+ return r == h || r == oe ? new _(W(O, 1) || "", e) : e;
37
+ },
38
+ strict: !1
39
+ }), le = new A((e, t) => {
40
+ if (e.next == 60) {
41
+ if (e.advance(), e.next == 47) {
42
+ e.advance();
43
+ let o = W(e, 0);
44
+ if (!o) return e.acceptToken(H);
45
+ if (t.context && o == t.context.name) return e.acceptToken(F);
46
+ for (let O = t.context; O; O = O.parent) if (O.name == o) return e.acceptToken(L, -2);
47
+ e.acceptToken(K);
48
+ } else if (e.next != 33 && e.next != 63)
49
+ return e.acceptToken(h);
50
+ }
51
+ }, { contextual: !0 });
52
+ function y(e, t) {
53
+ return new A((o) => {
54
+ let O = 0, r = t.charCodeAt(0);
55
+ e: for (; !(o.next < 0); o.advance(), O++)
56
+ if (o.next == r) {
57
+ for (let a = 1; a < t.length; a++)
58
+ if (o.peek(a) != t.charCodeAt(a)) continue e;
59
+ break;
60
+ }
61
+ O && o.acceptToken(e);
62
+ });
63
+ }
64
+ const se = y(J, "-->"), ie = y(ee, "?>"), ce = y(te, "]]>"), me = I({
65
+ Text: p.content,
66
+ "StartTag StartCloseTag EndTag SelfCloseEndTag": p.angleBracket,
67
+ TagName: p.tagName,
68
+ "MismatchedCloseTag/TagName": [p.tagName, p.invalid],
69
+ AttributeName: p.attributeName,
70
+ AttributeValue: p.attributeValue,
71
+ Is: p.definitionOperator,
72
+ "EntityReference CharacterReference": p.character,
73
+ Comment: p.blockComment,
74
+ ProcessingInst: p.processingInstruction,
75
+ DoctypeDecl: p.documentMeta,
76
+ Cdata: p.special(p.string)
77
+ }), $e = G.deserialize({
78
+ version: 14,
79
+ states: ",lOQOaOOOrOxO'#CfOzOpO'#CiO!tOaO'#CgOOOP'#Cg'#CgO!{OrO'#CrO#TOtO'#CsO#]OpO'#CtOOOP'#DT'#DTOOOP'#Cv'#CvQQOaOOOOOW'#Cw'#CwO#eOxO,59QOOOP,59Q,59QOOOO'#Cx'#CxO#mOpO,59TO#uO!bO,59TOOOP'#C|'#C|O$TOaO,59RO$[OpO'#CoOOOP,59R,59ROOOQ'#C}'#C}O$dOrO,59^OOOP,59^,59^OOOS'#DO'#DOO$lOtO,59_OOOP,59_,59_O$tOpO,59`O$|OpO,59`OOOP-E6t-E6tOOOW-E6u-E6uOOOP1G.l1G.lOOOO-E6v-E6vO%UO!bO1G.oO%UO!bO1G.oO%dOpO'#CkO%lO!bO'#CyO%zO!bO1G.oOOOP1G.o1G.oOOOP1G.w1G.wOOOP-E6z-E6zOOOP1G.m1G.mO&VOpO,59ZO&_OpO,59ZOOOQ-E6{-E6{OOOP1G.x1G.xOOOS-E6|-E6|OOOP1G.y1G.yO&gOpO1G.zO&gOpO1G.zOOOP1G.z1G.zO&oO!bO7+$ZO&}O!bO7+$ZOOOP7+$Z7+$ZOOOP7+$c7+$cO'YOpO,59VO'bOpO,59VO'mO!bO,59eOOOO-E6w-E6wO'{OpO1G.uO'{OpO1G.uOOOP1G.u1G.uO(TOpO7+$fOOOP7+$f7+$fO(]O!bO<<GuOOOP<<Gu<<GuOOOP<<G}<<G}O'bOpO1G.qO'bOpO1G.qO(hO#tO'#CnO(vO&jO'#CnOOOO1G.q1G.qO)UOpO7+$aOOOP7+$a7+$aOOOP<<HQ<<HQOOOPAN=aAN=aOOOPAN=iAN=iO'bOpO7+$]OOOO7+$]7+$]OOOO'#Cz'#CzO)^O#tO,59YOOOO,59Y,59YOOOO'#C{'#C{O)lO&jO,59YOOOP<<G{<<G{OOOO<<Gw<<GwOOOO-E6x-E6xOOOO1G.t1G.tOOOO-E6y-E6y",
80
+ stateData: ")z~OPQOSVOTWOVWOWWOXWOiXOyPO!QTO!SUO~OvZOx]O~O^`Oz^O~OPQOQcOSVOTWOVWOWWOXWOyPO!QTO!SUO~ORdO~P!SOteO!PgO~OuhO!RjO~O^lOz^O~OvZOxoO~O^qOz^O~O[vO`sOdwOz^O~ORyO~P!SO^{Oz^O~OteO!P}O~OuhO!R!PO~O^!QOz^O~O[!SOz^O~O[!VO`sOd!WOz^O~Oa!YOz^O~Oz^O[mX`mXdmX~O[!VO`sOd!WO~O^!]Oz^O~O[!_Oz^O~O[!aOz^O~O[!cO`sOd!dOz^O~O[!cO`sOd!dO~Oa!eOz^O~Oz^O{!gO}!hO~Oz^O[ma`madma~O[!kOz^O~O[!lOz^O~O[!mO`sOd!nO~OW!qOX!qO{!sO|!qO~OW!tOX!tO}!sO!O!tO~O[!vOz^O~OW!qOX!qO{!yO|!qO~OW!tOX!tO}!yO!O!tO~O",
81
+ goto: "%cxPPPPPPPPPPyyP!PP!VPP!`!jP!pyyyP!v!|#S$[$k$q$w$}%TPPPP%ZXWORYbXRORYb_t`qru!T!U!bQ!i!YS!p!e!fR!w!oQdRRybXSORYbQYORmYQ[PRn[Q_QQkVjp_krz!R!T!X!Z!^!`!f!j!oQr`QzcQ!RlQ!TqQ!XsQ!ZtQ!^{Q!`!QQ!f!YQ!j!]R!o!eQu`S!UqrU![u!U!bR!b!TQ!r!gR!x!rQ!u!hR!z!uQbRRxbQfTR|fQiUR!OiSXOYTaRb",
82
+ nodeNames: "⚠ StartTag StartCloseTag MissingCloseTag StartCloseTag StartCloseTag Document Text EntityReference CharacterReference Cdata Element EndTag OpenTag TagName Attribute AttributeName Is AttributeValue CloseTag SelfCloseEndTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag DoctypeDecl",
83
+ maxTerm: 50,
84
+ context: ae,
85
+ nodeProps: [
86
+ ["closedBy", 1, "SelfCloseEndTag EndTag", 13, "CloseTag MissingCloseTag"],
87
+ ["openedBy", 12, "StartTag StartCloseTag", 19, "OpenTag", 20, "StartTag"],
88
+ ["isolate", -6, 13, 18, 19, 21, 22, 24, ""]
89
+ ],
90
+ propSources: [me],
91
+ skippedNodes: [0],
92
+ repeatNodeCount: 9,
93
+ tokenData: "!)v~R!YOX$qXY)iYZ)iZ]$q]^)i^p$qpq)iqr$qrs*vsv$qvw+fwx/ix}$q}!O0[!O!P$q!P!Q2z!Q![$q![!]4n!]!^$q!^!_8U!_!`!#t!`!a!$l!a!b!%d!b!c$q!c!}4n!}#P$q#P#Q!'W#Q#R$q#R#S4n#S#T$q#T#o4n#o%W$q%W%o4n%o%p$q%p&a4n&a&b$q&b1p4n1p4U$q4U4d4n4d4e$q4e$IS4n$IS$I`$q$I`$Ib4n$Ib$Kh$q$Kh%#t4n%#t&/x$q&/x&Et4n&Et&FV$q&FV;'S4n;'S;:j8O;:j;=`)c<%l?&r$q?&r?Ah4n?Ah?BY$q?BY?Mn4n?MnO$qi$zXVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qa%nVVP!O`Ov%gwx&Tx!^%g!^!_&o!_;'S%g;'S;=`'W<%lO%gP&YTVPOv&Tw!^&T!_;'S&T;'S;=`&i<%lO&TP&lP;=`<%l&T`&tS!O`Ov&ox;'S&o;'S;=`'Q<%lO&o`'TP;=`<%l&oa'ZP;=`<%l%gX'eWVP|WOr'^rs&Tsv'^w!^'^!^!_'}!_;'S'^;'S;=`(i<%lO'^W(ST|WOr'}sv'}w;'S'};'S;=`(c<%lO'}W(fP;=`<%l'}X(lP;=`<%l'^h(vV|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oh)`P;=`<%l(oi)fP;=`<%l$qo)t`VP|W!O`zUOX$qXY)iYZ)iZ]$q]^)i^p$qpq)iqr$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk+PV{YVP!O`Ov%gwx&Tx!^%g!^!_&o!_;'S%g;'S;=`'W<%lO%g~+iast,n![!]-r!c!}-r#R#S-r#T#o-r%W%o-r%p&a-r&b1p-r4U4d-r4e$IS-r$I`$Ib-r$Kh%#t-r&/x&Et-r&FV;'S-r;'S;:j/c?&r?Ah-r?BY?Mn-r~,qQ!Q![,w#l#m-V~,zQ!Q![,w!]!^-Q~-VOX~~-YR!Q![-c!c!i-c#T#Z-c~-fS!Q![-c!]!^-Q!c!i-c#T#Z-c~-ug}!O-r!O!P-r!Q![-r![!]-r!]!^/^!c!}-r#R#S-r#T#o-r$}%O-r%W%o-r%p&a-r&b1p-r1p4U-r4U4d-r4e$IS-r$I`$Ib-r$Je$Jg-r$Kh%#t-r&/x&Et-r&FV;'S-r;'S;:j/c?&r?Ah-r?BY?Mn-r~/cOW~~/fP;=`<%l-rk/rW}bVP|WOr'^rs&Tsv'^w!^'^!^!_'}!_;'S'^;'S;=`(i<%lO'^k0eZVP|W!O`Or$qrs%gsv$qwx'^x}$q}!O1W!O!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk1aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a2S!a;'S$q;'S;=`)c<%lO$qk2_X!PQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qm3TZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a3v!a;'S$q;'S;=`)c<%lO$qm4RXdSVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo4{!P`S^QVP|W!O`Or$qrs%gsv$qwx'^x}$q}!O4n!O!P4n!P!Q$q!Q![4n![!]4n!]!^$q!^!_(o!_!c$q!c!}4n!}#R$q#R#S4n#S#T$q#T#o4n#o$}$q$}%O4n%O%W$q%W%o4n%o%p$q%p&a4n&a&b$q&b1p4n1p4U4n4U4d4n4d4e$q4e$IS4n$IS$I`$q$I`$Ib4n$Ib$Je$q$Je$Jg4n$Jg$Kh$q$Kh%#t4n%#t&/x$q&/x&Et4n&Et&FV$q&FV;'S4n;'S;:j8O;:j;=`)c<%l?&r$q?&r?Ah4n?Ah?BY$q?BY?Mn4n?MnO$qo8RP;=`<%l4ni8]Y|W!O`Oq(oqr8{rs&osv(owx'}x!a(o!a!b!#U!b;'S(o;'S;=`)]<%lO(oi9S_|W!O`Or(ors&osv(owx'}x}(o}!O:R!O!f(o!f!g;e!g!}(o!}#ODh#O#W(o#W#XLp#X;'S(o;'S;=`)]<%lO(oi:YX|W!O`Or(ors&osv(owx'}x}(o}!O:u!O;'S(o;'S;=`)]<%lO(oi;OV!QP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oi;lX|W!O`Or(ors&osv(owx'}x!q(o!q!r<X!r;'S(o;'S;=`)]<%lO(oi<`X|W!O`Or(ors&osv(owx'}x!e(o!e!f<{!f;'S(o;'S;=`)]<%lO(oi=SX|W!O`Or(ors&osv(owx'}x!v(o!v!w=o!w;'S(o;'S;=`)]<%lO(oi=vX|W!O`Or(ors&osv(owx'}x!{(o!{!|>c!|;'S(o;'S;=`)]<%lO(oi>jX|W!O`Or(ors&osv(owx'}x!r(o!r!s?V!s;'S(o;'S;=`)]<%lO(oi?^X|W!O`Or(ors&osv(owx'}x!g(o!g!h?y!h;'S(o;'S;=`)]<%lO(oi@QY|W!O`Or?yrs@psv?yvwA[wxBdx!`?y!`!aCr!a;'S?y;'S;=`Db<%lO?ya@uV!O`Ov@pvxA[x!`@p!`!aAy!a;'S@p;'S;=`B^<%lO@pPA_TO!`A[!`!aAn!a;'SA[;'S;=`As<%lOA[PAsOiPPAvP;=`<%lA[aBQSiP!O`Ov&ox;'S&o;'S;=`'Q<%lO&oaBaP;=`<%l@pXBiX|WOrBdrsA[svBdvwA[w!`Bd!`!aCU!a;'SBd;'S;=`Cl<%lOBdXC]TiP|WOr'}sv'}w;'S'};'S;=`(c<%lO'}XCoP;=`<%lBdiC{ViP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiDeP;=`<%l?yiDoZ|W!O`Or(ors&osv(owx'}x!e(o!e!fEb!f#V(o#V#WIr#W;'S(o;'S;=`)]<%lO(oiEiX|W!O`Or(ors&osv(owx'}x!f(o!f!gFU!g;'S(o;'S;=`)]<%lO(oiF]X|W!O`Or(ors&osv(owx'}x!c(o!c!dFx!d;'S(o;'S;=`)]<%lO(oiGPX|W!O`Or(ors&osv(owx'}x!v(o!v!wGl!w;'S(o;'S;=`)]<%lO(oiGsX|W!O`Or(ors&osv(owx'}x!c(o!c!dH`!d;'S(o;'S;=`)]<%lO(oiHgX|W!O`Or(ors&osv(owx'}x!}(o!}#OIS#O;'S(o;'S;=`)]<%lO(oiI]V|W!O`yPOr(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiIyX|W!O`Or(ors&osv(owx'}x#W(o#W#XJf#X;'S(o;'S;=`)]<%lO(oiJmX|W!O`Or(ors&osv(owx'}x#T(o#T#UKY#U;'S(o;'S;=`)]<%lO(oiKaX|W!O`Or(ors&osv(owx'}x#h(o#h#iK|#i;'S(o;'S;=`)]<%lO(oiLTX|W!O`Or(ors&osv(owx'}x#T(o#T#UH`#U;'S(o;'S;=`)]<%lO(oiLwX|W!O`Or(ors&osv(owx'}x#c(o#c#dMd#d;'S(o;'S;=`)]<%lO(oiMkX|W!O`Or(ors&osv(owx'}x#V(o#V#WNW#W;'S(o;'S;=`)]<%lO(oiN_X|W!O`Or(ors&osv(owx'}x#h(o#h#iNz#i;'S(o;'S;=`)]<%lO(oi! RX|W!O`Or(ors&osv(owx'}x#m(o#m#n! n#n;'S(o;'S;=`)]<%lO(oi! uX|W!O`Or(ors&osv(owx'}x#d(o#d#e!!b#e;'S(o;'S;=`)]<%lO(oi!!iX|W!O`Or(ors&osv(owx'}x#X(o#X#Y?y#Y;'S(o;'S;=`)]<%lO(oi!#_V!SP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(ok!$PXaQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo!$wX[UVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!%mZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!&`!a;'S$q;'S;=`)c<%lO$qk!&kX!RQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!'aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_#P$q#P#Q!(S#Q;'S$q;'S;=`)c<%lO$qk!(]ZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!)O!a;'S$q;'S;=`)c<%lO$qk!)ZXxQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$q",
94
+ tokenizers: [le, se, ie, ce, 0, 1, 2, 3, 4],
95
+ topRules: { Document: [0, 6] },
96
+ tokenPrec: 0
97
+ });
98
+ function T(e, t) {
99
+ let o = t && t.getChild("TagName");
100
+ return o ? e.sliceString(o.from, o.to) : "";
101
+ }
102
+ function P(e, t) {
103
+ let o = t && t.firstChild;
104
+ return !o || o.name != "OpenTag" ? "" : T(e, o);
105
+ }
106
+ function Se(e, t, o) {
107
+ let O = t && t.getChildren("Attribute").find((a) => a.from <= o && a.to >= o), r = O && O.getChild("AttributeName");
108
+ return r ? e.sliceString(r.from, r.to) : "";
109
+ }
110
+ function C(e) {
111
+ for (let t = e && e.parent; t; t = t.parent)
112
+ if (t.name == "Element")
113
+ return t;
114
+ return null;
115
+ }
116
+ function ge(e, t) {
117
+ var o;
118
+ let O = k(e).resolveInner(t, -1), r = null;
119
+ for (let a = O; !r && a.parent; a = a.parent)
120
+ (a.name == "OpenTag" || a.name == "CloseTag" || a.name == "SelfClosingTag" || a.name == "MismatchedCloseTag") && (r = a);
121
+ if (r && (r.to > t || r.lastChild.type.isError)) {
122
+ let a = r.parent;
123
+ if (O.name == "TagName")
124
+ return r.name == "CloseTag" || r.name == "MismatchedCloseTag" ? { type: "closeTag", from: O.from, context: a } : { type: "openTag", from: O.from, context: C(a) };
125
+ if (O.name == "AttributeName")
126
+ return { type: "attrName", from: O.from, context: r };
127
+ if (O.name == "AttributeValue")
128
+ return { type: "attrValue", from: O.from, context: r };
129
+ let s = O == r || O.name == "Attribute" ? O.childBefore(t) : O;
130
+ return s?.name == "StartTag" ? { type: "openTag", from: t, context: C(a) } : s?.name == "StartCloseTag" && s.to <= t ? { type: "closeTag", from: t, context: a } : s?.name == "Is" ? { type: "attrValue", from: t, context: r } : s ? { type: "attrName", from: t, context: r } : null;
131
+ } else if (O.name == "StartCloseTag")
132
+ return { type: "closeTag", from: t, context: O.parent };
133
+ for (; O.parent && O.to == t && !(!((o = O.lastChild) === null || o === void 0) && o.type.isError); )
134
+ O = O.parent;
135
+ return O.name == "Element" || O.name == "Text" || O.name == "Document" ? { type: "tag", from: t, context: O.name == "Element" ? O : C(O) } : null;
136
+ }
137
+ class ue {
138
+ constructor(t, o, O) {
139
+ this.attrs = o, this.attrValues = O, this.children = [], this.name = t.name, this.completion = Object.assign(Object.assign({ type: "type" }, t.completion || {}), { label: this.name }), this.openCompletion = Object.assign(Object.assign({}, this.completion), { label: "<" + this.name }), this.closeCompletion = Object.assign(Object.assign({}, this.completion), { label: "</" + this.name + ">", boost: 2 }), this.closeNameCompletion = Object.assign(Object.assign({}, this.completion), { label: this.name + ">" }), this.text = t.textContent ? t.textContent.map((r) => ({ label: r, type: "text" })) : [];
140
+ }
141
+ }
142
+ const b = /^[:\-\.\w\u00b7-\uffff]*$/;
143
+ function E(e) {
144
+ return Object.assign(Object.assign({ type: "property" }, e.completion || {}), { label: e.name });
145
+ }
146
+ function R(e) {
147
+ return typeof e == "string" ? { label: `"${e}"`, type: "constant" } : /^"/.test(e.label) ? e : Object.assign(Object.assign({}, e), { label: `"${e.label}"` });
148
+ }
149
+ function pe(e, t) {
150
+ let o = [], O = [], r = /* @__PURE__ */ Object.create(null);
151
+ for (let n of t) {
152
+ let $ = E(n);
153
+ o.push($), n.global && O.push($), n.values && (r[n.name] = n.values.map(R));
154
+ }
155
+ let a = [], s = [], f = /* @__PURE__ */ Object.create(null);
156
+ for (let n of e) {
157
+ let $ = O, c = r;
158
+ n.attributes && ($ = $.concat(n.attributes.map((l) => typeof l == "string" ? o.find((d) => d.label == l) || { label: l, type: "property" } : (l.values && (c == r && (c = Object.create(c)), c[l.name] = l.values.map(R)), E(l)))));
159
+ let u = new ue(n, $, c);
160
+ f[u.name] = u, a.push(u), n.top && s.push(u);
161
+ }
162
+ s.length || (s = a);
163
+ for (let n = 0; n < a.length; n++) {
164
+ let $ = e[n], c = a[n];
165
+ if ($.children)
166
+ for (let u of $.children)
167
+ f[u] && c.children.push(f[u]);
168
+ else
169
+ c.children = a;
170
+ }
171
+ return (n) => {
172
+ var $;
173
+ let { doc: c } = n.state, u = ge(n.state, n.pos);
174
+ if (!u || u.type == "tag" && !n.explicit)
175
+ return null;
176
+ let { type: l, from: d, context: S } = u;
177
+ if (l == "openTag") {
178
+ let i = s, m = P(c, S);
179
+ if (m) {
180
+ let g = f[m];
181
+ i = g?.children || a;
182
+ }
183
+ return {
184
+ from: d,
185
+ options: i.map((g) => g.completion),
186
+ validFor: b
187
+ };
188
+ } else if (l == "closeTag") {
189
+ let i = P(c, S);
190
+ return i ? {
191
+ from: d,
192
+ to: n.pos + (c.sliceString(n.pos, n.pos + 1) == ">" ? 1 : 0),
193
+ options: [(($ = f[i]) === null || $ === void 0 ? void 0 : $.closeNameCompletion) || { label: i + ">", type: "type" }],
194
+ validFor: b
195
+ } : null;
196
+ } else if (l == "attrName") {
197
+ let i = f[T(c, S)];
198
+ return {
199
+ from: d,
200
+ options: i?.attrs || O,
201
+ validFor: b
202
+ };
203
+ } else if (l == "attrValue") {
204
+ let i = Se(c, S, d);
205
+ if (!i)
206
+ return null;
207
+ let m = f[T(c, S)], g = (m?.attrValues || r)[i];
208
+ return !g || !g.length ? null : {
209
+ from: d,
210
+ to: n.pos + (c.sliceString(n.pos, n.pos + 1) == '"' ? 1 : 0),
211
+ options: g,
212
+ validFor: /^"[^"]*"?$/
213
+ };
214
+ } else if (l == "tag") {
215
+ let i = P(c, S), m = f[i], g = [], q = S && S.lastChild;
216
+ i && (!q || q.name != "CloseTag" || T(c, q) != i) && g.push(m ? m.closeCompletion : { label: "</" + i + ">", type: "type", boost: 2 });
217
+ let v = g.concat((m?.children || (S ? a : s)).map((x) => x.openCompletion));
218
+ if (S && m?.text.length) {
219
+ let x = S.firstChild;
220
+ x.to > n.pos - 20 && !/\S/.test(n.state.sliceDoc(x.to, n.pos)) && (v = v.concat(m.text));
221
+ }
222
+ return {
223
+ from: d,
224
+ options: v,
225
+ validFor: /^<\/?[:\-\.\w\u00b7-\uffff]*$/
226
+ };
227
+ } else
228
+ return null;
229
+ };
230
+ }
231
+ const w = /* @__PURE__ */ j.define({
232
+ name: "xml",
233
+ parser: /* @__PURE__ */ $e.configure({
234
+ props: [
235
+ /* @__PURE__ */ B.add({
236
+ Element(e) {
237
+ let t = /^\s*<\//.test(e.textAfter);
238
+ return e.lineIndent(e.node.from) + (t ? 0 : e.unit);
239
+ },
240
+ "OpenTag CloseTag SelfClosingTag"(e) {
241
+ return e.column(e.node.from) + e.unit;
242
+ }
243
+ }),
244
+ /* @__PURE__ */ D.add({
245
+ Element(e) {
246
+ let t = e.firstChild, o = e.lastChild;
247
+ return !t || t.name != "OpenTag" ? null : { from: t.to, to: o.name == "CloseTag" ? o.from : e.to };
248
+ }
249
+ }),
250
+ /* @__PURE__ */ M.add({
251
+ "OpenTag CloseTag": (e) => e.getChild("TagName")
252
+ })
253
+ ]
254
+ }),
255
+ languageData: {
256
+ commentTokens: { block: { open: "<!--", close: "-->" } },
257
+ indentOnInput: /^\s*<\/$/
258
+ }
259
+ });
260
+ function xe(e = {}) {
261
+ let t = [w.data.of({
262
+ autocomplete: pe(e.elements || [], e.attributes || [])
263
+ })];
264
+ return e.autoCloseTags !== !1 && t.push(fe), new U(w, t);
265
+ }
266
+ function z(e, t, o = e.length) {
267
+ if (!t)
268
+ return "";
269
+ let O = t.firstChild, r = O && O.getChild("TagName");
270
+ return r ? e.sliceString(r.from, Math.min(r.to, o)) : "";
271
+ }
272
+ const fe = /* @__PURE__ */ Y.inputHandler.of((e, t, o, O, r) => {
273
+ if (e.composing || e.state.readOnly || t != o || O != ">" && O != "/" || !w.isActiveAt(e.state, t, -1))
274
+ return !1;
275
+ let a = r(), { state: s } = a, f = s.changeByRange((n) => {
276
+ var $, c, u;
277
+ let { head: l } = n, d = s.doc.sliceString(l - 1, l) == O, S = k(s).resolveInner(l, -1), i;
278
+ if (d && O == ">" && S.name == "EndTag") {
279
+ let m = S.parent;
280
+ if (((c = ($ = m.parent) === null || $ === void 0 ? void 0 : $.lastChild) === null || c === void 0 ? void 0 : c.name) != "CloseTag" && (i = z(s.doc, m.parent, l))) {
281
+ let g = l + (s.doc.sliceString(l, l + 1) === ">" ? 1 : 0), q = `</${i}>`;
282
+ return { range: n, changes: { from: l, to: g, insert: q } };
283
+ }
284
+ } else if (d && O == "/" && S.name == "StartCloseTag") {
285
+ let m = S.parent;
286
+ if (S.from == l - 2 && ((u = m.lastChild) === null || u === void 0 ? void 0 : u.name) != "CloseTag" && (i = z(s.doc, m, l))) {
287
+ let g = l + (s.doc.sliceString(l, l + 1) === ">" ? 1 : 0), q = `${i}>`;
288
+ return {
289
+ range: Z.cursor(l + q.length, -1),
290
+ changes: { from: l, to: g, insert: q }
291
+ };
292
+ }
293
+ }
294
+ return { range: n };
295
+ });
296
+ return f.changes.empty ? !1 : (e.dispatch([
297
+ a,
298
+ s.update(f, {
299
+ userEvent: "input.complete",
300
+ scrollIntoView: !0
301
+ })
302
+ ]), !0);
303
+ });
304
+ export {
305
+ fe as autoCloseTags,
306
+ pe as completeFromSchema,
307
+ xe as xml,
308
+ w as xmlLanguage
309
+ };
310
+ //# sourceMappingURL=index-L0u_VcRQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-L0u_VcRQ.js","sources":["../../../node_modules/.deno/@lezer+xml@1.0.6/node_modules/@lezer/xml/dist/index.js","../../../node_modules/.deno/@codemirror+lang-xml@6.1.0/node_modules/@codemirror/lang-xml/dist/index.js"],"sourcesContent":["import { ContextTracker, ExternalTokenizer, LRParser } from '@lezer/lr';\nimport { styleTags, tags } from '@lezer/highlight';\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst StartTag = 1,\n StartCloseTag = 2,\n MissingCloseTag = 3,\n mismatchedStartCloseTag = 4,\n incompleteStartCloseTag = 5,\n commentContent$1 = 36,\n piContent$1 = 37,\n cdataContent$1 = 38,\n Element = 11,\n OpenTag = 13;\n\n/* Hand-written tokenizer for XML tag matching. */\n\nfunction nameChar(ch) {\n return ch == 45 || ch == 46 || ch == 58 || ch >= 65 && ch <= 90 || ch == 95 || ch >= 97 && ch <= 122 || ch >= 161\n}\n\nfunction isSpace(ch) {\n return ch == 9 || ch == 10 || ch == 13 || ch == 32\n}\n\nlet cachedName = null, cachedInput = null, cachedPos = 0;\nfunction tagNameAfter(input, offset) {\n let pos = input.pos + offset;\n if (cachedInput == input && cachedPos == pos) return cachedName\n while (isSpace(input.peek(offset))) offset++;\n let name = \"\";\n for (;;) {\n let next = input.peek(offset);\n if (!nameChar(next)) break\n name += String.fromCharCode(next);\n offset++;\n }\n cachedInput = input; cachedPos = pos;\n return cachedName = name || null\n}\n\nfunction ElementContext(name, parent) {\n this.name = name;\n this.parent = parent;\n}\n\nconst elementContext = new ContextTracker({\n start: null,\n shift(context, term, stack, input) {\n return term == StartTag ? new ElementContext(tagNameAfter(input, 1) || \"\", context) : context\n },\n reduce(context, term) {\n return term == Element && context ? context.parent : context\n },\n reuse(context, node, _stack, input) {\n let type = node.type.id;\n return type == StartTag || type == OpenTag\n ? new ElementContext(tagNameAfter(input, 1) || \"\", context) : context\n },\n strict: false\n});\n\nconst startTag = new ExternalTokenizer((input, stack) => {\n if (input.next != 60 /* '<' */) return\n input.advance();\n if (input.next == 47 /* '/' */) {\n input.advance();\n let name = tagNameAfter(input, 0);\n if (!name) return input.acceptToken(incompleteStartCloseTag)\n if (stack.context && name == stack.context.name) return input.acceptToken(StartCloseTag)\n for (let cx = stack.context; cx; cx = cx.parent) if (cx.name == name) return input.acceptToken(MissingCloseTag, -2)\n input.acceptToken(mismatchedStartCloseTag);\n } else if (input.next != 33 /* '!' */ && input.next != 63 /* '?' */) {\n return input.acceptToken(StartTag)\n }\n}, {contextual: true});\n\nfunction scanTo(type, end) {\n return new ExternalTokenizer(input => {\n let len = 0, first = end.charCodeAt(0);\n scan: for (;; input.advance(), len++) {\n if (input.next < 0) break\n if (input.next == first) {\n for (let i = 1; i < end.length; i++)\n if (input.peek(i) != end.charCodeAt(i)) continue scan\n break\n }\n }\n if (len) input.acceptToken(type);\n })\n}\n\nconst commentContent = scanTo(commentContent$1, \"-->\");\nconst piContent = scanTo(piContent$1, \"?>\");\nconst cdataContent = scanTo(cdataContent$1, \"]]>\");\n\nconst xmlHighlighting = styleTags({\n Text: tags.content,\n \"StartTag StartCloseTag EndTag SelfCloseEndTag\": tags.angleBracket,\n TagName: tags.tagName,\n \"MismatchedCloseTag/TagName\": [tags.tagName, tags.invalid],\n AttributeName: tags.attributeName,\n AttributeValue: tags.attributeValue,\n Is: tags.definitionOperator,\n \"EntityReference CharacterReference\": tags.character,\n Comment: tags.blockComment,\n ProcessingInst: tags.processingInstruction,\n DoctypeDecl: tags.documentMeta,\n Cdata: tags.special(tags.string)\n});\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst parser = LRParser.deserialize({\n version: 14,\n states: \",lOQOaOOOrOxO'#CfOzOpO'#CiO!tOaO'#CgOOOP'#Cg'#CgO!{OrO'#CrO#TOtO'#CsO#]OpO'#CtOOOP'#DT'#DTOOOP'#Cv'#CvQQOaOOOOOW'#Cw'#CwO#eOxO,59QOOOP,59Q,59QOOOO'#Cx'#CxO#mOpO,59TO#uO!bO,59TOOOP'#C|'#C|O$TOaO,59RO$[OpO'#CoOOOP,59R,59ROOOQ'#C}'#C}O$dOrO,59^OOOP,59^,59^OOOS'#DO'#DOO$lOtO,59_OOOP,59_,59_O$tOpO,59`O$|OpO,59`OOOP-E6t-E6tOOOW-E6u-E6uOOOP1G.l1G.lOOOO-E6v-E6vO%UO!bO1G.oO%UO!bO1G.oO%dOpO'#CkO%lO!bO'#CyO%zO!bO1G.oOOOP1G.o1G.oOOOP1G.w1G.wOOOP-E6z-E6zOOOP1G.m1G.mO&VOpO,59ZO&_OpO,59ZOOOQ-E6{-E6{OOOP1G.x1G.xOOOS-E6|-E6|OOOP1G.y1G.yO&gOpO1G.zO&gOpO1G.zOOOP1G.z1G.zO&oO!bO7+$ZO&}O!bO7+$ZOOOP7+$Z7+$ZOOOP7+$c7+$cO'YOpO,59VO'bOpO,59VO'mO!bO,59eOOOO-E6w-E6wO'{OpO1G.uO'{OpO1G.uOOOP1G.u1G.uO(TOpO7+$fOOOP7+$f7+$fO(]O!bO<<GuOOOP<<Gu<<GuOOOP<<G}<<G}O'bOpO1G.qO'bOpO1G.qO(hO#tO'#CnO(vO&jO'#CnOOOO1G.q1G.qO)UOpO7+$aOOOP7+$a7+$aOOOP<<HQ<<HQOOOPAN=aAN=aOOOPAN=iAN=iO'bOpO7+$]OOOO7+$]7+$]OOOO'#Cz'#CzO)^O#tO,59YOOOO,59Y,59YOOOO'#C{'#C{O)lO&jO,59YOOOP<<G{<<G{OOOO<<Gw<<GwOOOO-E6x-E6xOOOO1G.t1G.tOOOO-E6y-E6y\",\n stateData: \")z~OPQOSVOTWOVWOWWOXWOiXOyPO!QTO!SUO~OvZOx]O~O^`Oz^O~OPQOQcOSVOTWOVWOWWOXWOyPO!QTO!SUO~ORdO~P!SOteO!PgO~OuhO!RjO~O^lOz^O~OvZOxoO~O^qOz^O~O[vO`sOdwOz^O~ORyO~P!SO^{Oz^O~OteO!P}O~OuhO!R!PO~O^!QOz^O~O[!SOz^O~O[!VO`sOd!WOz^O~Oa!YOz^O~Oz^O[mX`mXdmX~O[!VO`sOd!WO~O^!]Oz^O~O[!_Oz^O~O[!aOz^O~O[!cO`sOd!dOz^O~O[!cO`sOd!dO~Oa!eOz^O~Oz^O{!gO}!hO~Oz^O[ma`madma~O[!kOz^O~O[!lOz^O~O[!mO`sOd!nO~OW!qOX!qO{!sO|!qO~OW!tOX!tO}!sO!O!tO~O[!vOz^O~OW!qOX!qO{!yO|!qO~OW!tOX!tO}!yO!O!tO~O\",\n goto: \"%cxPPPPPPPPPPyyP!PP!VPP!`!jP!pyyyP!v!|#S$[$k$q$w$}%TPPPP%ZXWORYbXRORYb_t`qru!T!U!bQ!i!YS!p!e!fR!w!oQdRRybXSORYbQYORmYQ[PRn[Q_QQkVjp_krz!R!T!X!Z!^!`!f!j!oQr`QzcQ!RlQ!TqQ!XsQ!ZtQ!^{Q!`!QQ!f!YQ!j!]R!o!eQu`S!UqrU![u!U!bR!b!TQ!r!gR!x!rQ!u!hR!z!uQbRRxbQfTR|fQiUR!OiSXOYTaRb\",\n nodeNames: \"⚠ StartTag StartCloseTag MissingCloseTag StartCloseTag StartCloseTag Document Text EntityReference CharacterReference Cdata Element EndTag OpenTag TagName Attribute AttributeName Is AttributeValue CloseTag SelfCloseEndTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag DoctypeDecl\",\n maxTerm: 50,\n context: elementContext,\n nodeProps: [\n [\"closedBy\", 1,\"SelfCloseEndTag EndTag\",13,\"CloseTag MissingCloseTag\"],\n [\"openedBy\", 12,\"StartTag StartCloseTag\",19,\"OpenTag\",20,\"StartTag\"],\n [\"isolate\", -6,13,18,19,21,22,24,\"\"]\n ],\n propSources: [xmlHighlighting],\n skippedNodes: [0],\n repeatNodeCount: 9,\n tokenData: \"!)v~R!YOX$qXY)iYZ)iZ]$q]^)i^p$qpq)iqr$qrs*vsv$qvw+fwx/ix}$q}!O0[!O!P$q!P!Q2z!Q![$q![!]4n!]!^$q!^!_8U!_!`!#t!`!a!$l!a!b!%d!b!c$q!c!}4n!}#P$q#P#Q!'W#Q#R$q#R#S4n#S#T$q#T#o4n#o%W$q%W%o4n%o%p$q%p&a4n&a&b$q&b1p4n1p4U$q4U4d4n4d4e$q4e$IS4n$IS$I`$q$I`$Ib4n$Ib$Kh$q$Kh%#t4n%#t&/x$q&/x&Et4n&Et&FV$q&FV;'S4n;'S;:j8O;:j;=`)c<%l?&r$q?&r?Ah4n?Ah?BY$q?BY?Mn4n?MnO$qi$zXVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qa%nVVP!O`Ov%gwx&Tx!^%g!^!_&o!_;'S%g;'S;=`'W<%lO%gP&YTVPOv&Tw!^&T!_;'S&T;'S;=`&i<%lO&TP&lP;=`<%l&T`&tS!O`Ov&ox;'S&o;'S;=`'Q<%lO&o`'TP;=`<%l&oa'ZP;=`<%l%gX'eWVP|WOr'^rs&Tsv'^w!^'^!^!_'}!_;'S'^;'S;=`(i<%lO'^W(ST|WOr'}sv'}w;'S'};'S;=`(c<%lO'}W(fP;=`<%l'}X(lP;=`<%l'^h(vV|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oh)`P;=`<%l(oi)fP;=`<%l$qo)t`VP|W!O`zUOX$qXY)iYZ)iZ]$q]^)i^p$qpq)iqr$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk+PV{YVP!O`Ov%gwx&Tx!^%g!^!_&o!_;'S%g;'S;=`'W<%lO%g~+iast,n![!]-r!c!}-r#R#S-r#T#o-r%W%o-r%p&a-r&b1p-r4U4d-r4e$IS-r$I`$Ib-r$Kh%#t-r&/x&Et-r&FV;'S-r;'S;:j/c?&r?Ah-r?BY?Mn-r~,qQ!Q![,w#l#m-V~,zQ!Q![,w!]!^-Q~-VOX~~-YR!Q![-c!c!i-c#T#Z-c~-fS!Q![-c!]!^-Q!c!i-c#T#Z-c~-ug}!O-r!O!P-r!Q![-r![!]-r!]!^/^!c!}-r#R#S-r#T#o-r$}%O-r%W%o-r%p&a-r&b1p-r1p4U-r4U4d-r4e$IS-r$I`$Ib-r$Je$Jg-r$Kh%#t-r&/x&Et-r&FV;'S-r;'S;:j/c?&r?Ah-r?BY?Mn-r~/cOW~~/fP;=`<%l-rk/rW}bVP|WOr'^rs&Tsv'^w!^'^!^!_'}!_;'S'^;'S;=`(i<%lO'^k0eZVP|W!O`Or$qrs%gsv$qwx'^x}$q}!O1W!O!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk1aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a2S!a;'S$q;'S;=`)c<%lO$qk2_X!PQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qm3TZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a3v!a;'S$q;'S;=`)c<%lO$qm4RXdSVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo4{!P`S^QVP|W!O`Or$qrs%gsv$qwx'^x}$q}!O4n!O!P4n!P!Q$q!Q![4n![!]4n!]!^$q!^!_(o!_!c$q!c!}4n!}#R$q#R#S4n#S#T$q#T#o4n#o$}$q$}%O4n%O%W$q%W%o4n%o%p$q%p&a4n&a&b$q&b1p4n1p4U4n4U4d4n4d4e$q4e$IS4n$IS$I`$q$I`$Ib4n$Ib$Je$q$Je$Jg4n$Jg$Kh$q$Kh%#t4n%#t&/x$q&/x&Et4n&Et&FV$q&FV;'S4n;'S;:j8O;:j;=`)c<%l?&r$q?&r?Ah4n?Ah?BY$q?BY?Mn4n?MnO$qo8RP;=`<%l4ni8]Y|W!O`Oq(oqr8{rs&osv(owx'}x!a(o!a!b!#U!b;'S(o;'S;=`)]<%lO(oi9S_|W!O`Or(ors&osv(owx'}x}(o}!O:R!O!f(o!f!g;e!g!}(o!}#ODh#O#W(o#W#XLp#X;'S(o;'S;=`)]<%lO(oi:YX|W!O`Or(ors&osv(owx'}x}(o}!O:u!O;'S(o;'S;=`)]<%lO(oi;OV!QP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oi;lX|W!O`Or(ors&osv(owx'}x!q(o!q!r<X!r;'S(o;'S;=`)]<%lO(oi<`X|W!O`Or(ors&osv(owx'}x!e(o!e!f<{!f;'S(o;'S;=`)]<%lO(oi=SX|W!O`Or(ors&osv(owx'}x!v(o!v!w=o!w;'S(o;'S;=`)]<%lO(oi=vX|W!O`Or(ors&osv(owx'}x!{(o!{!|>c!|;'S(o;'S;=`)]<%lO(oi>jX|W!O`Or(ors&osv(owx'}x!r(o!r!s?V!s;'S(o;'S;=`)]<%lO(oi?^X|W!O`Or(ors&osv(owx'}x!g(o!g!h?y!h;'S(o;'S;=`)]<%lO(oi@QY|W!O`Or?yrs@psv?yvwA[wxBdx!`?y!`!aCr!a;'S?y;'S;=`Db<%lO?ya@uV!O`Ov@pvxA[x!`@p!`!aAy!a;'S@p;'S;=`B^<%lO@pPA_TO!`A[!`!aAn!a;'SA[;'S;=`As<%lOA[PAsOiPPAvP;=`<%lA[aBQSiP!O`Ov&ox;'S&o;'S;=`'Q<%lO&oaBaP;=`<%l@pXBiX|WOrBdrsA[svBdvwA[w!`Bd!`!aCU!a;'SBd;'S;=`Cl<%lOBdXC]TiP|WOr'}sv'}w;'S'};'S;=`(c<%lO'}XCoP;=`<%lBdiC{ViP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiDeP;=`<%l?yiDoZ|W!O`Or(ors&osv(owx'}x!e(o!e!fEb!f#V(o#V#WIr#W;'S(o;'S;=`)]<%lO(oiEiX|W!O`Or(ors&osv(owx'}x!f(o!f!gFU!g;'S(o;'S;=`)]<%lO(oiF]X|W!O`Or(ors&osv(owx'}x!c(o!c!dFx!d;'S(o;'S;=`)]<%lO(oiGPX|W!O`Or(ors&osv(owx'}x!v(o!v!wGl!w;'S(o;'S;=`)]<%lO(oiGsX|W!O`Or(ors&osv(owx'}x!c(o!c!dH`!d;'S(o;'S;=`)]<%lO(oiHgX|W!O`Or(ors&osv(owx'}x!}(o!}#OIS#O;'S(o;'S;=`)]<%lO(oiI]V|W!O`yPOr(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiIyX|W!O`Or(ors&osv(owx'}x#W(o#W#XJf#X;'S(o;'S;=`)]<%lO(oiJmX|W!O`Or(ors&osv(owx'}x#T(o#T#UKY#U;'S(o;'S;=`)]<%lO(oiKaX|W!O`Or(ors&osv(owx'}x#h(o#h#iK|#i;'S(o;'S;=`)]<%lO(oiLTX|W!O`Or(ors&osv(owx'}x#T(o#T#UH`#U;'S(o;'S;=`)]<%lO(oiLwX|W!O`Or(ors&osv(owx'}x#c(o#c#dMd#d;'S(o;'S;=`)]<%lO(oiMkX|W!O`Or(ors&osv(owx'}x#V(o#V#WNW#W;'S(o;'S;=`)]<%lO(oiN_X|W!O`Or(ors&osv(owx'}x#h(o#h#iNz#i;'S(o;'S;=`)]<%lO(oi! RX|W!O`Or(ors&osv(owx'}x#m(o#m#n! n#n;'S(o;'S;=`)]<%lO(oi! uX|W!O`Or(ors&osv(owx'}x#d(o#d#e!!b#e;'S(o;'S;=`)]<%lO(oi!!iX|W!O`Or(ors&osv(owx'}x#X(o#X#Y?y#Y;'S(o;'S;=`)]<%lO(oi!#_V!SP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(ok!$PXaQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo!$wX[UVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!%mZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!&`!a;'S$q;'S;=`)c<%lO$qk!&kX!RQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!'aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_#P$q#P#Q!(S#Q;'S$q;'S;=`)c<%lO$qk!(]ZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!)O!a;'S$q;'S;=`)c<%lO$qk!)ZXxQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$q\",\n tokenizers: [startTag, commentContent, piContent, cdataContent, 0, 1, 2, 3, 4],\n topRules: {\"Document\":[0,6]},\n tokenPrec: 0\n});\n\nexport { parser };\n","import { parser } from '@lezer/xml';\nimport { syntaxTree, LRLanguage, indentNodeProp, foldNodeProp, bracketMatchingHandle, LanguageSupport } from '@codemirror/language';\nimport { EditorSelection } from '@codemirror/state';\nimport { EditorView } from '@codemirror/view';\n\nfunction tagName(doc, tag) {\n let name = tag && tag.getChild(\"TagName\");\n return name ? doc.sliceString(name.from, name.to) : \"\";\n}\nfunction elementName$1(doc, tree) {\n let tag = tree && tree.firstChild;\n return !tag || tag.name != \"OpenTag\" ? \"\" : tagName(doc, tag);\n}\nfunction attrName(doc, tag, pos) {\n let attr = tag && tag.getChildren(\"Attribute\").find(a => a.from <= pos && a.to >= pos);\n let name = attr && attr.getChild(\"AttributeName\");\n return name ? doc.sliceString(name.from, name.to) : \"\";\n}\nfunction findParentElement(tree) {\n for (let cur = tree && tree.parent; cur; cur = cur.parent)\n if (cur.name == \"Element\")\n return cur;\n return null;\n}\nfunction findLocation(state, pos) {\n var _a;\n let at = syntaxTree(state).resolveInner(pos, -1), inTag = null;\n for (let cur = at; !inTag && cur.parent; cur = cur.parent)\n if (cur.name == \"OpenTag\" || cur.name == \"CloseTag\" || cur.name == \"SelfClosingTag\" || cur.name == \"MismatchedCloseTag\")\n inTag = cur;\n if (inTag && (inTag.to > pos || inTag.lastChild.type.isError)) {\n let elt = inTag.parent;\n if (at.name == \"TagName\")\n return inTag.name == \"CloseTag\" || inTag.name == \"MismatchedCloseTag\"\n ? { type: \"closeTag\", from: at.from, context: elt }\n : { type: \"openTag\", from: at.from, context: findParentElement(elt) };\n if (at.name == \"AttributeName\")\n return { type: \"attrName\", from: at.from, context: inTag };\n if (at.name == \"AttributeValue\")\n return { type: \"attrValue\", from: at.from, context: inTag };\n let before = at == inTag || at.name == \"Attribute\" ? at.childBefore(pos) : at;\n if ((before === null || before === void 0 ? void 0 : before.name) == \"StartTag\")\n return { type: \"openTag\", from: pos, context: findParentElement(elt) };\n if ((before === null || before === void 0 ? void 0 : before.name) == \"StartCloseTag\" && before.to <= pos)\n return { type: \"closeTag\", from: pos, context: elt };\n if ((before === null || before === void 0 ? void 0 : before.name) == \"Is\")\n return { type: \"attrValue\", from: pos, context: inTag };\n if (before)\n return { type: \"attrName\", from: pos, context: inTag };\n return null;\n }\n else if (at.name == \"StartCloseTag\") {\n return { type: \"closeTag\", from: pos, context: at.parent };\n }\n while (at.parent && at.to == pos && !((_a = at.lastChild) === null || _a === void 0 ? void 0 : _a.type.isError))\n at = at.parent;\n if (at.name == \"Element\" || at.name == \"Text\" || at.name == \"Document\")\n return { type: \"tag\", from: pos, context: at.name == \"Element\" ? at : findParentElement(at) };\n return null;\n}\nclass Element {\n constructor(spec, attrs, attrValues) {\n this.attrs = attrs;\n this.attrValues = attrValues;\n this.children = [];\n this.name = spec.name;\n this.completion = Object.assign(Object.assign({ type: \"type\" }, spec.completion || {}), { label: this.name });\n this.openCompletion = Object.assign(Object.assign({}, this.completion), { label: \"<\" + this.name });\n this.closeCompletion = Object.assign(Object.assign({}, this.completion), { label: \"</\" + this.name + \">\", boost: 2 });\n this.closeNameCompletion = Object.assign(Object.assign({}, this.completion), { label: this.name + \">\" });\n this.text = spec.textContent ? spec.textContent.map(s => ({ label: s, type: \"text\" })) : [];\n }\n}\nconst Identifier = /^[:\\-\\.\\w\\u00b7-\\uffff]*$/;\nfunction attrCompletion(spec) {\n return Object.assign(Object.assign({ type: \"property\" }, spec.completion || {}), { label: spec.name });\n}\nfunction valueCompletion(spec) {\n return typeof spec == \"string\" ? { label: `\"${spec}\"`, type: \"constant\" }\n : /^\"/.test(spec.label) ? spec\n : Object.assign(Object.assign({}, spec), { label: `\"${spec.label}\"` });\n}\n/**\nCreate a completion source for the given schema.\n*/\nfunction completeFromSchema(eltSpecs, attrSpecs) {\n let allAttrs = [], globalAttrs = [];\n let attrValues = Object.create(null);\n for (let s of attrSpecs) {\n let completion = attrCompletion(s);\n allAttrs.push(completion);\n if (s.global)\n globalAttrs.push(completion);\n if (s.values)\n attrValues[s.name] = s.values.map(valueCompletion);\n }\n let allElements = [], topElements = [];\n let byName = Object.create(null);\n for (let s of eltSpecs) {\n let attrs = globalAttrs, attrVals = attrValues;\n if (s.attributes)\n attrs = attrs.concat(s.attributes.map(s => {\n if (typeof s == \"string\")\n return allAttrs.find(a => a.label == s) || { label: s, type: \"property\" };\n if (s.values) {\n if (attrVals == attrValues)\n attrVals = Object.create(attrVals);\n attrVals[s.name] = s.values.map(valueCompletion);\n }\n return attrCompletion(s);\n }));\n let elt = new Element(s, attrs, attrVals);\n byName[elt.name] = elt;\n allElements.push(elt);\n if (s.top)\n topElements.push(elt);\n }\n if (!topElements.length)\n topElements = allElements;\n for (let i = 0; i < allElements.length; i++) {\n let s = eltSpecs[i], elt = allElements[i];\n if (s.children) {\n for (let ch of s.children)\n if (byName[ch])\n elt.children.push(byName[ch]);\n }\n else {\n elt.children = allElements;\n }\n }\n return cx => {\n var _a;\n let { doc } = cx.state, loc = findLocation(cx.state, cx.pos);\n if (!loc || (loc.type == \"tag\" && !cx.explicit))\n return null;\n let { type, from, context } = loc;\n if (type == \"openTag\") {\n let children = topElements;\n let parentName = elementName$1(doc, context);\n if (parentName) {\n let parent = byName[parentName];\n children = (parent === null || parent === void 0 ? void 0 : parent.children) || allElements;\n }\n return {\n from,\n options: children.map(ch => ch.completion),\n validFor: Identifier\n };\n }\n else if (type == \"closeTag\") {\n let parentName = elementName$1(doc, context);\n return parentName ? {\n from,\n to: cx.pos + (doc.sliceString(cx.pos, cx.pos + 1) == \">\" ? 1 : 0),\n options: [((_a = byName[parentName]) === null || _a === void 0 ? void 0 : _a.closeNameCompletion) || { label: parentName + \">\", type: \"type\" }],\n validFor: Identifier\n } : null;\n }\n else if (type == \"attrName\") {\n let parent = byName[tagName(doc, context)];\n return {\n from,\n options: (parent === null || parent === void 0 ? void 0 : parent.attrs) || globalAttrs,\n validFor: Identifier\n };\n }\n else if (type == \"attrValue\") {\n let attr = attrName(doc, context, from);\n if (!attr)\n return null;\n let parent = byName[tagName(doc, context)];\n let values = ((parent === null || parent === void 0 ? void 0 : parent.attrValues) || attrValues)[attr];\n if (!values || !values.length)\n return null;\n return {\n from,\n to: cx.pos + (doc.sliceString(cx.pos, cx.pos + 1) == '\"' ? 1 : 0),\n options: values,\n validFor: /^\"[^\"]*\"?$/\n };\n }\n else if (type == \"tag\") {\n let parentName = elementName$1(doc, context), parent = byName[parentName];\n let closing = [], last = context && context.lastChild;\n if (parentName && (!last || last.name != \"CloseTag\" || tagName(doc, last) != parentName))\n closing.push(parent ? parent.closeCompletion : { label: \"</\" + parentName + \">\", type: \"type\", boost: 2 });\n let options = closing.concat(((parent === null || parent === void 0 ? void 0 : parent.children) || (context ? allElements : topElements)).map(e => e.openCompletion));\n if (context && (parent === null || parent === void 0 ? void 0 : parent.text.length)) {\n let openTag = context.firstChild;\n if (openTag.to > cx.pos - 20 && !/\\S/.test(cx.state.sliceDoc(openTag.to, cx.pos)))\n options = options.concat(parent.text);\n }\n return {\n from,\n options,\n validFor: /^<\\/?[:\\-\\.\\w\\u00b7-\\uffff]*$/\n };\n }\n else {\n return null;\n }\n };\n}\n\n/**\nA language provider based on the [Lezer XML\nparser](https://github.com/lezer-parser/xml), extended with\nhighlighting and indentation information.\n*/\nconst xmlLanguage = /*@__PURE__*/LRLanguage.define({\n name: \"xml\",\n parser: /*@__PURE__*/parser.configure({\n props: [\n /*@__PURE__*/indentNodeProp.add({\n Element(context) {\n let closed = /^\\s*<\\//.test(context.textAfter);\n return context.lineIndent(context.node.from) + (closed ? 0 : context.unit);\n },\n \"OpenTag CloseTag SelfClosingTag\"(context) {\n return context.column(context.node.from) + context.unit;\n }\n }),\n /*@__PURE__*/foldNodeProp.add({\n Element(subtree) {\n let first = subtree.firstChild, last = subtree.lastChild;\n if (!first || first.name != \"OpenTag\")\n return null;\n return { from: first.to, to: last.name == \"CloseTag\" ? last.from : subtree.to };\n }\n }),\n /*@__PURE__*/bracketMatchingHandle.add({\n \"OpenTag CloseTag\": node => node.getChild(\"TagName\")\n })\n ]\n }),\n languageData: {\n commentTokens: { block: { open: \"<!--\", close: \"-->\" } },\n indentOnInput: /^\\s*<\\/$/\n }\n});\n/**\nXML language support. Includes schema-based autocompletion when\nconfigured.\n*/\nfunction xml(conf = {}) {\n let support = [xmlLanguage.data.of({\n autocomplete: completeFromSchema(conf.elements || [], conf.attributes || [])\n })];\n if (conf.autoCloseTags !== false)\n support.push(autoCloseTags);\n return new LanguageSupport(xmlLanguage, support);\n}\nfunction elementName(doc, tree, max = doc.length) {\n if (!tree)\n return \"\";\n let tag = tree.firstChild;\n let name = tag && tag.getChild(\"TagName\");\n return name ? doc.sliceString(name.from, Math.min(name.to, max)) : \"\";\n}\n/**\nExtension that will automatically insert close tags when a `>` or\n`/` is typed.\n*/\nconst autoCloseTags = /*@__PURE__*/EditorView.inputHandler.of((view, from, to, text, insertTransaction) => {\n if (view.composing || view.state.readOnly || from != to || (text != \">\" && text != \"/\") ||\n !xmlLanguage.isActiveAt(view.state, from, -1))\n return false;\n let base = insertTransaction(), { state } = base;\n let closeTags = state.changeByRange(range => {\n var _a, _b, _c;\n let { head } = range;\n let didType = state.doc.sliceString(head - 1, head) == text;\n let after = syntaxTree(state).resolveInner(head, -1), name;\n if (didType && text == \">\" && after.name == \"EndTag\") {\n let tag = after.parent;\n if (((_b = (_a = tag.parent) === null || _a === void 0 ? void 0 : _a.lastChild) === null || _b === void 0 ? void 0 : _b.name) != \"CloseTag\" &&\n (name = elementName(state.doc, tag.parent, head))) {\n let to = head + (state.doc.sliceString(head, head + 1) === \">\" ? 1 : 0);\n let insert = `</${name}>`;\n return { range, changes: { from: head, to, insert } };\n }\n }\n else if (didType && text == \"/\" && after.name == \"StartCloseTag\") {\n let base = after.parent;\n if (after.from == head - 2 && ((_c = base.lastChild) === null || _c === void 0 ? void 0 : _c.name) != \"CloseTag\" &&\n (name = elementName(state.doc, base, head))) {\n let to = head + (state.doc.sliceString(head, head + 1) === \">\" ? 1 : 0);\n let insert = `${name}>`;\n return {\n range: EditorSelection.cursor(head + insert.length, -1),\n changes: { from: head, to, insert }\n };\n }\n }\n return { range };\n });\n if (closeTags.changes.empty)\n return false;\n view.dispatch([\n base,\n state.update(closeTags, {\n userEvent: \"input.complete\",\n scrollIntoView: true\n })\n ]);\n return true;\n});\n\nexport { autoCloseTags, completeFromSchema, xml, xmlLanguage };\n"],"names":["StartTag","StartCloseTag","MissingCloseTag","mismatchedStartCloseTag","incompleteStartCloseTag","commentContent$1","piContent$1","cdataContent$1","Element","OpenTag","nameChar","ch","isSpace","cachedName","cachedInput","cachedPos","tagNameAfter","input","offset","pos","name","next","ElementContext","parent","elementContext","ContextTracker","context","term","stack","node","_stack","type","startTag","ExternalTokenizer","cx","scanTo","end","len","first","scan","i","commentContent","piContent","cdataContent","xmlHighlighting","styleTags","tags","parser","LRParser","tagName","doc","tag","elementName$1","tree","attrName","attr","findParentElement","cur","findLocation","state","_a","at","syntaxTree","inTag","elt","before","spec","attrs","attrValues","s","Identifier","attrCompletion","valueCompletion","completeFromSchema","eltSpecs","attrSpecs","allAttrs","globalAttrs","completion","allElements","topElements","byName","attrVals","a","loc","from","children","parentName","values","closing","last","options","e","openTag","xmlLanguage","LRLanguage","indentNodeProp","closed","foldNodeProp","subtree","bracketMatchingHandle","xml","conf","support","autoCloseTags","LanguageSupport","elementName","max","EditorView","view","to","text","insertTransaction","base","closeTags","range","_b","_c","head","didType","after","insert","EditorSelection"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -0,0 +1,155 @@
1
+ var l = [
2
+ "and",
3
+ "as",
4
+ "block",
5
+ "endblock",
6
+ "by",
7
+ "cycle",
8
+ "debug",
9
+ "else",
10
+ "elif",
11
+ "extends",
12
+ "filter",
13
+ "endfilter",
14
+ "firstof",
15
+ "do",
16
+ "for",
17
+ "endfor",
18
+ "if",
19
+ "endif",
20
+ "ifchanged",
21
+ "endifchanged",
22
+ "ifequal",
23
+ "endifequal",
24
+ "ifnotequal",
25
+ "set",
26
+ "raw",
27
+ "endraw",
28
+ "endifnotequal",
29
+ "in",
30
+ "include",
31
+ "load",
32
+ "not",
33
+ "now",
34
+ "or",
35
+ "parsed",
36
+ "regroup",
37
+ "reversed",
38
+ "spaceless",
39
+ "call",
40
+ "endcall",
41
+ "macro",
42
+ "endmacro",
43
+ "endspaceless",
44
+ "ssi",
45
+ "templatetag",
46
+ "openblock",
47
+ "closeblock",
48
+ "openvariable",
49
+ "closevariable",
50
+ "without",
51
+ "context",
52
+ "openbrace",
53
+ "closebrace",
54
+ "opencomment",
55
+ "closecomment",
56
+ "widthratio",
57
+ "url",
58
+ "with",
59
+ "endwith",
60
+ "get_current_language",
61
+ "trans",
62
+ "endtrans",
63
+ "noop",
64
+ "blocktrans",
65
+ "endblocktrans",
66
+ "get_available_languages",
67
+ "get_current_language_bidi",
68
+ "pluralize",
69
+ "autoescape",
70
+ "endautoescape"
71
+ ], c = /^[+\-*&%=<>!?|~^]/, f = /^[:\[\(\{]/, o = ["true", "false"], r = /^(\d[+\-\*\/])?\d+(\.\d+)?/;
72
+ l = new RegExp("((" + l.join(")|(") + "))\\b");
73
+ o = new RegExp("((" + o.join(")|(") + "))\\b");
74
+ function u(n, e) {
75
+ var i = n.peek();
76
+ if (e.incomment)
77
+ return n.skipTo("#}") ? (n.eatWhile(/\#|}/), e.incomment = !1) : n.skipToEnd(), "comment";
78
+ if (e.intag) {
79
+ if (e.operator) {
80
+ if (e.operator = !1, n.match(o))
81
+ return "atom";
82
+ if (n.match(r))
83
+ return "number";
84
+ }
85
+ if (e.sign) {
86
+ if (e.sign = !1, n.match(o))
87
+ return "atom";
88
+ if (n.match(r))
89
+ return "number";
90
+ }
91
+ if (e.instring)
92
+ return i == e.instring && (e.instring = !1), n.next(), "string";
93
+ if (i == "'" || i == '"')
94
+ return e.instring = i, n.next(), "string";
95
+ if (e.inbraces > 0 && i == ")")
96
+ n.next(), e.inbraces--;
97
+ else if (i == "(")
98
+ n.next(), e.inbraces++;
99
+ else if (e.inbrackets > 0 && i == "]")
100
+ n.next(), e.inbrackets--;
101
+ else if (i == "[")
102
+ n.next(), e.inbrackets++;
103
+ else {
104
+ if (!e.lineTag && (n.match(e.intag + "}") || n.eat("-") && n.match(e.intag + "}")))
105
+ return e.intag = !1, "tag";
106
+ if (n.match(c))
107
+ return e.operator = !0, "operator";
108
+ if (n.match(f))
109
+ e.sign = !0;
110
+ else {
111
+ if (n.column() == 1 && e.lineTag && n.match(l))
112
+ return "keyword";
113
+ if (n.eat(" ") || n.sol()) {
114
+ if (n.match(l))
115
+ return "keyword";
116
+ if (n.match(o))
117
+ return "atom";
118
+ if (n.match(r))
119
+ return "number";
120
+ n.sol() && n.next();
121
+ } else
122
+ n.next();
123
+ }
124
+ }
125
+ return "variable";
126
+ } else if (n.eat("{")) {
127
+ if (n.eat("#"))
128
+ return e.incomment = !0, n.skipTo("#}") ? (n.eatWhile(/\#|}/), e.incomment = !1) : n.skipToEnd(), "comment";
129
+ if (i = n.eat(/\{|%/))
130
+ return e.intag = i, e.inbraces = 0, e.inbrackets = 0, i == "{" && (e.intag = "}"), n.eat("-"), "tag";
131
+ } else if (n.eat("#")) {
132
+ if (n.peek() == "#")
133
+ return n.skipToEnd(), "comment";
134
+ if (!n.eol())
135
+ return e.intag = !0, e.lineTag = !0, e.inbraces = 0, e.inbrackets = 0, "tag";
136
+ }
137
+ n.next();
138
+ }
139
+ const a = {
140
+ name: "jinja2",
141
+ startState: function() {
142
+ return { tokenize: u, inbrackets: 0, inbraces: 0 };
143
+ },
144
+ token: function(n, e) {
145
+ var i = e.tokenize(n, e);
146
+ return n.eol() && e.lineTag && !e.instring && e.inbraces == 0 && e.inbrackets == 0 && (e.intag = !1, e.lineTag = !1), i;
147
+ },
148
+ languageData: {
149
+ commentTokens: { block: { open: "{#", close: "#}", line: "##" } }
150
+ }
151
+ };
152
+ export {
153
+ a as jinja2
154
+ };
155
+ //# sourceMappingURL=jinja2-DnB6dQmV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jinja2-DnB6dQmV.js","sources":["../../../node_modules/.deno/@codemirror+legacy-modes@6.5.0/node_modules/@codemirror/legacy-modes/mode/jinja2.js"],"sourcesContent":["var keywords = [\"and\", \"as\", \"block\", \"endblock\", \"by\", \"cycle\", \"debug\", \"else\", \"elif\",\n \"extends\", \"filter\", \"endfilter\", \"firstof\", \"do\", \"for\",\n \"endfor\", \"if\", \"endif\", \"ifchanged\", \"endifchanged\",\n \"ifequal\", \"endifequal\", \"ifnotequal\", \"set\", \"raw\", \"endraw\",\n \"endifnotequal\", \"in\", \"include\", \"load\", \"not\", \"now\", \"or\",\n \"parsed\", \"regroup\", \"reversed\", \"spaceless\", \"call\", \"endcall\", \"macro\",\n \"endmacro\", \"endspaceless\", \"ssi\", \"templatetag\", \"openblock\",\n \"closeblock\", \"openvariable\", \"closevariable\", \"without\", \"context\",\n \"openbrace\", \"closebrace\", \"opencomment\",\n \"closecomment\", \"widthratio\", \"url\", \"with\", \"endwith\",\n \"get_current_language\", \"trans\", \"endtrans\", \"noop\", \"blocktrans\",\n \"endblocktrans\", \"get_available_languages\",\n \"get_current_language_bidi\", \"pluralize\", \"autoescape\", \"endautoescape\"],\n operator = /^[+\\-*&%=<>!?|~^]/,\n sign = /^[:\\[\\(\\{]/,\n atom = [\"true\", \"false\"],\n number = /^(\\d[+\\-\\*\\/])?\\d+(\\.\\d+)?/;\n\nkeywords = new RegExp(\"((\" + keywords.join(\")|(\") + \"))\\\\b\");\natom = new RegExp(\"((\" + atom.join(\")|(\") + \"))\\\\b\");\n\nfunction tokenBase (stream, state) {\n var ch = stream.peek();\n\n //Comment\n if (state.incomment) {\n if(!stream.skipTo(\"#}\")) {\n stream.skipToEnd();\n } else {\n stream.eatWhile(/\\#|}/);\n state.incomment = false;\n }\n return \"comment\";\n //Tag\n } else if (state.intag) {\n //After operator\n if(state.operator) {\n state.operator = false;\n if(stream.match(atom)) {\n return \"atom\";\n }\n if(stream.match(number)) {\n return \"number\";\n }\n }\n //After sign\n if(state.sign) {\n state.sign = false;\n if(stream.match(atom)) {\n return \"atom\";\n }\n if(stream.match(number)) {\n return \"number\";\n }\n }\n\n if(state.instring) {\n if(ch == state.instring) {\n state.instring = false;\n }\n stream.next();\n return \"string\";\n } else if(ch == \"'\" || ch == '\"') {\n state.instring = ch;\n stream.next();\n return \"string\";\n } else if (state.inbraces > 0 && ch ==\")\") {\n stream.next()\n state.inbraces--;\n }\n else if (ch == \"(\") {\n stream.next()\n state.inbraces++;\n }\n else if (state.inbrackets > 0 && ch ==\"]\") {\n stream.next()\n state.inbrackets--;\n }\n else if (ch == \"[\") {\n stream.next()\n state.inbrackets++;\n } else if (!state.lineTag && (stream.match(state.intag + \"}\") || stream.eat(\"-\") && stream.match(state.intag + \"}\"))) {\n state.intag = false;\n return \"tag\";\n } else if(stream.match(operator)) {\n state.operator = true;\n return \"operator\";\n } else if(stream.match(sign)) {\n state.sign = true;\n } else {\n if (stream.column() == 1 && state.lineTag && stream.match(keywords)) {\n //allow nospace after tag before the keyword\n return \"keyword\";\n }\n if(stream.eat(\" \") || stream.sol()) {\n if(stream.match(keywords)) {\n return \"keyword\";\n }\n if(stream.match(atom)) {\n return \"atom\";\n }\n if(stream.match(number)) {\n return \"number\";\n }\n if(stream.sol()) {\n stream.next();\n }\n } else {\n stream.next();\n }\n\n }\n return \"variable\";\n } else if (stream.eat(\"{\")) {\n if (stream.eat(\"#\")) {\n state.incomment = true;\n if(!stream.skipTo(\"#}\")) {\n stream.skipToEnd();\n } else {\n stream.eatWhile(/\\#|}/);\n state.incomment = false;\n }\n return \"comment\";\n //Open tag\n } else if (ch = stream.eat(/\\{|%/)) {\n //Cache close tag\n state.intag = ch;\n state.inbraces = 0;\n state.inbrackets = 0;\n if(ch == \"{\") {\n state.intag = \"}\";\n }\n stream.eat(\"-\");\n return \"tag\";\n }\n //Line statements\n } else if (stream.eat('#')) {\n if (stream.peek() == '#') {\n stream.skipToEnd();\n return \"comment\"\n }\n else if (!stream.eol()) {\n state.intag = true;\n state.lineTag = true;\n state.inbraces = 0;\n state.inbrackets = 0;\n return \"tag\";\n }\n }\n stream.next();\n};\n\nexport const jinja2 = {\n name: \"jinja2\",\n startState: function () {\n return {tokenize: tokenBase, inbrackets: 0, inbraces: 0};\n },\n token: function(stream, state) {\n var style = state.tokenize(stream, state);\n if (stream.eol() && state.lineTag && !state.instring && state.inbraces == 0 && state.inbrackets == 0) {\n //Close line statement at the EOL\n state.intag = false\n state.lineTag = false\n }\n return style;\n },\n languageData: {\n commentTokens: {block: {open: \"{#\", close: \"#}\", line: \"##\"}}\n }\n};\n"],"names":["keywords","operator","sign","atom","number","tokenBase","stream","state","ch","jinja2","style"],"mappings":"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","x_google_ignoreList":[0]}