@milkdown/crepe 7.5.1 → 7.5.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 (499) hide show
  1. package/lib/cjs/{index-udZSknd8.js → index-TGmNEvsj.js} +7 -7
  2. package/lib/cjs/index-TGmNEvsj.js.map +1 -0
  3. package/lib/cjs/index-fhKBUFkq.js +46 -0
  4. package/lib/cjs/index-fhKBUFkq.js.map +1 -0
  5. package/lib/cjs/{index-tqAbVyds.js → index-rLAgJeYn.js} +4 -4
  6. package/lib/cjs/index-rLAgJeYn.js.map +1 -0
  7. package/lib/cjs/index.js +3 -3
  8. package/lib/cjs/index.js.map +1 -1
  9. package/lib/esm/{index-v3rvbocl.js → index-amuALmzU.js} +2 -2
  10. package/lib/esm/{index-v3rvbocl.js.map → index-amuALmzU.js.map} +1 -1
  11. package/lib/esm/index-jU_6odT9.js +44 -0
  12. package/lib/esm/index-jU_6odT9.js.map +1 -0
  13. package/lib/esm/{index-lm00PM0y.js → index-w69wbtEZ.js} +2 -2
  14. package/lib/esm/{index-lm00PM0y.js.map → index-w69wbtEZ.js.map} +1 -1
  15. package/lib/esm/index.js +3 -3
  16. package/lib/esm/index.js.map +1 -1
  17. package/package.json +3 -5
  18. package/lib/cjs/apl-99bWvYTf.js +0 -145
  19. package/lib/cjs/apl-99bWvYTf.js.map +0 -1
  20. package/lib/cjs/asciiarmor-cf0JLIr_.js +0 -59
  21. package/lib/cjs/asciiarmor-cf0JLIr_.js.map +0 -1
  22. package/lib/cjs/asn1-H4XzAvBS.js +0 -195
  23. package/lib/cjs/asn1-H4XzAvBS.js.map +0 -1
  24. package/lib/cjs/asterisk-0FgJEfZB.js +0 -190
  25. package/lib/cjs/asterisk-0FgJEfZB.js.map +0 -1
  26. package/lib/cjs/brainfuck-JX7vRZy7.js +0 -73
  27. package/lib/cjs/brainfuck-JX7vRZy7.js.map +0 -1
  28. package/lib/cjs/clike-ueXlMQy5.js +0 -1034
  29. package/lib/cjs/clike-ueXlMQy5.js.map +0 -1
  30. package/lib/cjs/clojure-6iDAG5oi.js +0 -277
  31. package/lib/cjs/clojure-6iDAG5oi.js.map +0 -1
  32. package/lib/cjs/clsx-dASsG01A.js +0 -6
  33. package/lib/cjs/clsx-dASsG01A.js.map +0 -1
  34. package/lib/cjs/cmake-L0RIBnfc.js +0 -84
  35. package/lib/cjs/cmake-L0RIBnfc.js.map +0 -1
  36. package/lib/cjs/cobol-oxkMh1GJ.js +0 -238
  37. package/lib/cjs/cobol-oxkMh1GJ.js.map +0 -1
  38. package/lib/cjs/coffeescript--eauIeRQ.js +0 -332
  39. package/lib/cjs/coffeescript--eauIeRQ.js.map +0 -1
  40. package/lib/cjs/commonlisp-pgSu-q6f.js +0 -111
  41. package/lib/cjs/commonlisp-pgSu-q6f.js.map +0 -1
  42. package/lib/cjs/crystal-2y3I5ibZ.js +0 -422
  43. package/lib/cjs/crystal-2y3I5ibZ.js.map +0 -1
  44. package/lib/cjs/css-WH69cXzo.js +0 -855
  45. package/lib/cjs/css-WH69cXzo.js.map +0 -1
  46. package/lib/cjs/cypher-da-dqVyQ.js +0 -125
  47. package/lib/cjs/cypher-da-dqVyQ.js.map +0 -1
  48. package/lib/cjs/d-58J7EOkP.js +0 -208
  49. package/lib/cjs/d-58J7EOkP.js.map +0 -1
  50. package/lib/cjs/diff-437Hfzqm.js +0 -33
  51. package/lib/cjs/diff-437Hfzqm.js.map +0 -1
  52. package/lib/cjs/dockerfile-7i0OoaQe.js +0 -202
  53. package/lib/cjs/dockerfile-7i0OoaQe.js.map +0 -1
  54. package/lib/cjs/dtd-AKekCPPB.js +0 -124
  55. package/lib/cjs/dtd-AKekCPPB.js.map +0 -1
  56. package/lib/cjs/dylan-DLEmvz1I.js +0 -340
  57. package/lib/cjs/dylan-DLEmvz1I.js.map +0 -1
  58. package/lib/cjs/ebnf-36cJWqxB.js +0 -154
  59. package/lib/cjs/ebnf-36cJWqxB.js.map +0 -1
  60. package/lib/cjs/ecl-UWr5vJKJ.js +0 -193
  61. package/lib/cjs/ecl-UWr5vJKJ.js.map +0 -1
  62. package/lib/cjs/eiffel-Su-C9LAY.js +0 -149
  63. package/lib/cjs/eiffel-Su-C9LAY.js.map +0 -1
  64. package/lib/cjs/elm-vNNfVJj7.js +0 -233
  65. package/lib/cjs/elm-vNNfVJj7.js.map +0 -1
  66. package/lib/cjs/erlang-NM9dgYaS.js +0 -584
  67. package/lib/cjs/erlang-NM9dgYaS.js.map +0 -1
  68. package/lib/cjs/factor-RWs-4aWg.js +0 -68
  69. package/lib/cjs/factor-RWs-4aWg.js.map +0 -1
  70. package/lib/cjs/fcl-acUhGCfs.js +0 -157
  71. package/lib/cjs/fcl-acUhGCfs.js.map +0 -1
  72. package/lib/cjs/forth-sDkE6z3A.js +0 -167
  73. package/lib/cjs/forth-sDkE6z3A.js.map +0 -1
  74. package/lib/cjs/fortran-gkb4yvdk.js +0 -175
  75. package/lib/cjs/fortran-gkb4yvdk.js.map +0 -1
  76. package/lib/cjs/gas-mNA0qvkv.js +0 -347
  77. package/lib/cjs/gas-mNA0qvkv.js.map +0 -1
  78. package/lib/cjs/gherkin-5uyKpXXh.js +0 -150
  79. package/lib/cjs/gherkin-5uyKpXXh.js.map +0 -1
  80. package/lib/cjs/go-5XitXoIZ.js +0 -167
  81. package/lib/cjs/go-5XitXoIZ.js.map +0 -1
  82. package/lib/cjs/groovy-mz3pWMKN.js +0 -233
  83. package/lib/cjs/groovy-mz3pWMKN.js.map +0 -1
  84. package/lib/cjs/haskell-9KaSS7kb.js +0 -242
  85. package/lib/cjs/haskell-9KaSS7kb.js.map +0 -1
  86. package/lib/cjs/haxe-L8h6Pvni.js +0 -494
  87. package/lib/cjs/haxe-L8h6Pvni.js.map +0 -1
  88. package/lib/cjs/http-BFQQnRR-.js +0 -92
  89. package/lib/cjs/http-BFQQnRR-.js.map +0 -1
  90. package/lib/cjs/idl-29T-AzAy.js +0 -277
  91. package/lib/cjs/idl-29T-AzAy.js.map +0 -1
  92. package/lib/cjs/index--2zEz40J.js +0 -93
  93. package/lib/cjs/index--2zEz40J.js.map +0 -1
  94. package/lib/cjs/index-5n9R-QCl.js +0 -390
  95. package/lib/cjs/index-5n9R-QCl.js.map +0 -1
  96. package/lib/cjs/index-HEdBw63r.js +0 -428
  97. package/lib/cjs/index-HEdBw63r.js.map +0 -1
  98. package/lib/cjs/index-Hlt9dRH5.js +0 -113
  99. package/lib/cjs/index-Hlt9dRH5.js.map +0 -1
  100. package/lib/cjs/index-KCW2CzRk.js +0 -2504
  101. package/lib/cjs/index-KCW2CzRk.js.map +0 -1
  102. package/lib/cjs/index-KSZhahYb.js +0 -146
  103. package/lib/cjs/index-KSZhahYb.js.map +0 -1
  104. package/lib/cjs/index-NNo_VSEA.js +0 -684
  105. package/lib/cjs/index-NNo_VSEA.js.map +0 -1
  106. package/lib/cjs/index-O1bDbloo.js +0 -383
  107. package/lib/cjs/index-O1bDbloo.js.map +0 -1
  108. package/lib/cjs/index-OPh9naof.js +0 -141
  109. package/lib/cjs/index-OPh9naof.js.map +0 -1
  110. package/lib/cjs/index-PAhfZtcH.js +0 -517
  111. package/lib/cjs/index-PAhfZtcH.js.map +0 -1
  112. package/lib/cjs/index-PeRHVz4A.js +0 -759
  113. package/lib/cjs/index-PeRHVz4A.js.map +0 -1
  114. package/lib/cjs/index-U7GWrg-w.js +0 -25251
  115. package/lib/cjs/index-U7GWrg-w.js.map +0 -1
  116. package/lib/cjs/index-UTb0Az5e.js +0 -1877
  117. package/lib/cjs/index-UTb0Az5e.js.map +0 -1
  118. package/lib/cjs/index-UnEAyH8X.js +0 -194
  119. package/lib/cjs/index-UnEAyH8X.js.map +0 -1
  120. package/lib/cjs/index-VCkq0ru1.js +0 -188
  121. package/lib/cjs/index-VCkq0ru1.js.map +0 -1
  122. package/lib/cjs/index-WQl7Du53.js +0 -248
  123. package/lib/cjs/index-WQl7Du53.js.map +0 -1
  124. package/lib/cjs/index-ahL5MvrQ.js +0 -1014
  125. package/lib/cjs/index-ahL5MvrQ.js.map +0 -1
  126. package/lib/cjs/index-bpgWLeRY.js +0 -104
  127. package/lib/cjs/index-bpgWLeRY.js.map +0 -1
  128. package/lib/cjs/index-fZupvR_f.js +0 -341
  129. package/lib/cjs/index-fZupvR_f.js.map +0 -1
  130. package/lib/cjs/index-gSM-jgti.js +0 -449
  131. package/lib/cjs/index-gSM-jgti.js.map +0 -1
  132. package/lib/cjs/index-jlPr_A_N.js +0 -66
  133. package/lib/cjs/index-jlPr_A_N.js.map +0 -1
  134. package/lib/cjs/index-tqAbVyds.js.map +0 -1
  135. package/lib/cjs/index-udZSknd8.js.map +0 -1
  136. package/lib/cjs/index-urB-WDqA.js +0 -1030
  137. package/lib/cjs/index-urB-WDqA.js.map +0 -1
  138. package/lib/cjs/index-xWgWtxUR.js +0 -347
  139. package/lib/cjs/index-xWgWtxUR.js.map +0 -1
  140. package/lib/cjs/javascript-5-BTydbD.js +0 -928
  141. package/lib/cjs/javascript-5-BTydbD.js.map +0 -1
  142. package/lib/cjs/jinja2-BWMz4gPk.js +0 -174
  143. package/lib/cjs/jinja2-BWMz4gPk.js.map +0 -1
  144. package/lib/cjs/julia-dtR9J3KZ.js +0 -372
  145. package/lib/cjs/julia-dtR9J3KZ.js.map +0 -1
  146. package/lib/cjs/livescript-YxT0INe3.js +0 -262
  147. package/lib/cjs/livescript-YxT0INe3.js.map +0 -1
  148. package/lib/cjs/lua-h7_AXjy9.js +0 -140
  149. package/lib/cjs/lua-h7_AXjy9.js.map +0 -1
  150. package/lib/cjs/mathematica-Zc57fOr3.js +0 -156
  151. package/lib/cjs/mathematica-Zc57fOr3.js.map +0 -1
  152. package/lib/cjs/mbox-ltKsKgJd.js +0 -117
  153. package/lib/cjs/mbox-ltKsKgJd.js.map +0 -1
  154. package/lib/cjs/mirc-xTLeWqmy.js +0 -179
  155. package/lib/cjs/mirc-xTLeWqmy.js.map +0 -1
  156. package/lib/cjs/mllike-xukl-Kjp.js +0 -351
  157. package/lib/cjs/mllike-xukl-Kjp.js.map +0 -1
  158. package/lib/cjs/modelica-LsXtAawk.js +0 -195
  159. package/lib/cjs/modelica-LsXtAawk.js.map +0 -1
  160. package/lib/cjs/mscgen-9HooYIVW.js +0 -154
  161. package/lib/cjs/mscgen-9HooYIVW.js.map +0 -1
  162. package/lib/cjs/mumps-VXqGp84f.js +0 -132
  163. package/lib/cjs/mumps-VXqGp84f.js.map +0 -1
  164. package/lib/cjs/nginx-UrubUbn1.js +0 -166
  165. package/lib/cjs/nginx-UrubUbn1.js.map +0 -1
  166. package/lib/cjs/nsis-c2AYwqyy.js +0 -83
  167. package/lib/cjs/nsis-c2AYwqyy.js.map +0 -1
  168. package/lib/cjs/ntriples-N1nwiheD.js +0 -144
  169. package/lib/cjs/ntriples-N1nwiheD.js.map +0 -1
  170. package/lib/cjs/octave-ElonStfZ.js +0 -115
  171. package/lib/cjs/octave-ElonStfZ.js.map +0 -1
  172. package/lib/cjs/oz-7VQTnCfu.js +0 -238
  173. package/lib/cjs/oz-7VQTnCfu.js.map +0 -1
  174. package/lib/cjs/pascal-yq2Cb88Q.js +0 -127
  175. package/lib/cjs/pascal-yq2Cb88Q.js.map +0 -1
  176. package/lib/cjs/perl-hJq4byS9.js +0 -822
  177. package/lib/cjs/perl-hJq4byS9.js.map +0 -1
  178. package/lib/cjs/pig-2syuOlAa.js +0 -152
  179. package/lib/cjs/pig-2syuOlAa.js.map +0 -1
  180. package/lib/cjs/powershell-NDwxuSDg.js +0 -384
  181. package/lib/cjs/powershell-NDwxuSDg.js.map +0 -1
  182. package/lib/cjs/properties-wacODxDJ.js +0 -65
  183. package/lib/cjs/properties-wacODxDJ.js.map +0 -1
  184. package/lib/cjs/protobuf-zVHZwskk.js +0 -57
  185. package/lib/cjs/protobuf-zVHZwskk.js.map +0 -1
  186. package/lib/cjs/puppet-koQikqO-.js +0 -208
  187. package/lib/cjs/puppet-koQikqO-.js.map +0 -1
  188. package/lib/cjs/python-P3UsKHbj.js +0 -394
  189. package/lib/cjs/python-P3UsKHbj.js.map +0 -1
  190. package/lib/cjs/q-Z_d2uXoA.js +0 -126
  191. package/lib/cjs/q-Z_d2uXoA.js.map +0 -1
  192. package/lib/cjs/r-J6Jl9z1i.js +0 -177
  193. package/lib/cjs/r-J6Jl9z1i.js.map +0 -1
  194. package/lib/cjs/rpm-6C0Omumu.js +0 -93
  195. package/lib/cjs/rpm-6C0Omumu.js.map +0 -1
  196. package/lib/cjs/ruby-POVyUmsb.js +0 -290
  197. package/lib/cjs/ruby-POVyUmsb.js.map +0 -1
  198. package/lib/cjs/sas-vDtpSmFr.js +0 -271
  199. package/lib/cjs/sas-vDtpSmFr.js.map +0 -1
  200. package/lib/cjs/scheme-5AA5BH7S.js +0 -266
  201. package/lib/cjs/scheme-5AA5BH7S.js.map +0 -1
  202. package/lib/cjs/shell-_ztDMiW6.js +0 -148
  203. package/lib/cjs/shell-_ztDMiW6.js.map +0 -1
  204. package/lib/cjs/sieve-R_vzlbvH.js +0 -181
  205. package/lib/cjs/sieve-R_vzlbvH.js.map +0 -1
  206. package/lib/cjs/simple-mode-ZwmNbV0h.js +0 -138
  207. package/lib/cjs/simple-mode-ZwmNbV0h.js.map +0 -1
  208. package/lib/cjs/smalltalk-dWLp5zN8.js +0 -156
  209. package/lib/cjs/smalltalk-dWLp5zN8.js.map +0 -1
  210. package/lib/cjs/solr-wSmvjKI8.js +0 -83
  211. package/lib/cjs/solr-wSmvjKI8.js.map +0 -1
  212. package/lib/cjs/sparql-GNU_0xKB.js +0 -173
  213. package/lib/cjs/sparql-GNU_0xKB.js.map +0 -1
  214. package/lib/cjs/spreadsheet-BiqYLk6M.js +0 -101
  215. package/lib/cjs/spreadsheet-BiqYLk6M.js.map +0 -1
  216. package/lib/cjs/sql-9GpHBPsC.js +0 -497
  217. package/lib/cjs/sql-9GpHBPsC.js.map +0 -1
  218. package/lib/cjs/stex-1V41CNLk.js +0 -250
  219. package/lib/cjs/stex-1V41CNLk.js.map +0 -1
  220. package/lib/cjs/stylus-H6hn9z_G.js +0 -753
  221. package/lib/cjs/stylus-H6hn9z_G.js.map +0 -1
  222. package/lib/cjs/swift-Xv5f8zgN.js +0 -205
  223. package/lib/cjs/swift-Xv5f8zgN.js.map +0 -1
  224. package/lib/cjs/tcl-LI-LOw_t.js +0 -128
  225. package/lib/cjs/tcl-LI-LOw_t.js.map +0 -1
  226. package/lib/cjs/textile-3NvRPUgg.js +0 -444
  227. package/lib/cjs/textile-3NvRPUgg.js.map +0 -1
  228. package/lib/cjs/tiddlywiki-PkMzy8_R.js +0 -281
  229. package/lib/cjs/tiddlywiki-PkMzy8_R.js.map +0 -1
  230. package/lib/cjs/tiki-Zk_GnEC8.js +0 -292
  231. package/lib/cjs/tiki-Zk_GnEC8.js.map +0 -1
  232. package/lib/cjs/toml-36gJ0YCq.js +0 -78
  233. package/lib/cjs/toml-36gJ0YCq.js.map +0 -1
  234. package/lib/cjs/troff-RLZ_o61o.js +0 -67
  235. package/lib/cjs/troff-RLZ_o61o.js.map +0 -1
  236. package/lib/cjs/ttcn-cfg-twaoJYvf.js +0 -204
  237. package/lib/cjs/ttcn-cfg-twaoJYvf.js.map +0 -1
  238. package/lib/cjs/ttcn-kGwvGb2v.js +0 -260
  239. package/lib/cjs/ttcn-kGwvGb2v.js.map +0 -1
  240. package/lib/cjs/turtle-nnevat7b.js +0 -144
  241. package/lib/cjs/turtle-nnevat7b.js.map +0 -1
  242. package/lib/cjs/vb-fO_I9s3s.js +0 -252
  243. package/lib/cjs/vb-fO_I9s3s.js.map +0 -1
  244. package/lib/cjs/vbscript-HXnn40y4.js +0 -324
  245. package/lib/cjs/vbscript-HXnn40y4.js.map +0 -1
  246. package/lib/cjs/velocity-Wn-ZfFzr.js +0 -189
  247. package/lib/cjs/velocity-Wn-ZfFzr.js.map +0 -1
  248. package/lib/cjs/verilog-y1ev34z6.js +0 -569
  249. package/lib/cjs/verilog-y1ev34z6.js.map +0 -1
  250. package/lib/cjs/vhdl-LF0oeXxc.js +0 -177
  251. package/lib/cjs/vhdl-LF0oeXxc.js.map +0 -1
  252. package/lib/cjs/webidl-6kI5KbeC.js +0 -182
  253. package/lib/cjs/webidl-6kI5KbeC.js.map +0 -1
  254. package/lib/cjs/xquery-BavrmwsO.js +0 -428
  255. package/lib/cjs/xquery-BavrmwsO.js.map +0 -1
  256. package/lib/cjs/yacas-1g_AbTrl.js +0 -185
  257. package/lib/cjs/yacas-1g_AbTrl.js.map +0 -1
  258. package/lib/cjs/z80-QYzKAAp7.js +0 -106
  259. package/lib/cjs/z80-QYzKAAp7.js.map +0 -1
  260. package/lib/esm/apl-eHQxyJFn.js +0 -143
  261. package/lib/esm/apl-eHQxyJFn.js.map +0 -1
  262. package/lib/esm/asciiarmor-Z-IGYCI4.js +0 -57
  263. package/lib/esm/asciiarmor-Z-IGYCI4.js.map +0 -1
  264. package/lib/esm/asn1-gF7x-q1y.js +0 -193
  265. package/lib/esm/asn1-gF7x-q1y.js.map +0 -1
  266. package/lib/esm/asterisk-swk20ftp.js +0 -188
  267. package/lib/esm/asterisk-swk20ftp.js.map +0 -1
  268. package/lib/esm/brainfuck-IFQdiQoR.js +0 -71
  269. package/lib/esm/brainfuck-IFQdiQoR.js.map +0 -1
  270. package/lib/esm/clike-q3hUF2Cx.js +0 -1019
  271. package/lib/esm/clike-q3hUF2Cx.js.map +0 -1
  272. package/lib/esm/clojure-I2Krbr2M.js +0 -275
  273. package/lib/esm/clojure-I2Krbr2M.js.map +0 -1
  274. package/lib/esm/clsx-RxCLxYpD.js +0 -4
  275. package/lib/esm/clsx-RxCLxYpD.js.map +0 -1
  276. package/lib/esm/cmake-ewwXLeuZ.js +0 -82
  277. package/lib/esm/cmake-ewwXLeuZ.js.map +0 -1
  278. package/lib/esm/cobol-fpN1nAnR.js +0 -236
  279. package/lib/esm/cobol-fpN1nAnR.js.map +0 -1
  280. package/lib/esm/coffeescript--eTFR-bH.js +0 -330
  281. package/lib/esm/coffeescript--eTFR-bH.js.map +0 -1
  282. package/lib/esm/commonlisp-XLSwVdLc.js +0 -109
  283. package/lib/esm/commonlisp-XLSwVdLc.js.map +0 -1
  284. package/lib/esm/crystal-_r3Aa1_a.js +0 -420
  285. package/lib/esm/crystal-_r3Aa1_a.js.map +0 -1
  286. package/lib/esm/css-hgwYGMKZ.js +0 -848
  287. package/lib/esm/css-hgwYGMKZ.js.map +0 -1
  288. package/lib/esm/cypher-bbJyAa-4.js +0 -123
  289. package/lib/esm/cypher-bbJyAa-4.js.map +0 -1
  290. package/lib/esm/d-5MyulviS.js +0 -206
  291. package/lib/esm/d-5MyulviS.js.map +0 -1
  292. package/lib/esm/diff-neOaT_vk.js +0 -31
  293. package/lib/esm/diff-neOaT_vk.js.map +0 -1
  294. package/lib/esm/dockerfile-lzx42-zz.js +0 -200
  295. package/lib/esm/dockerfile-lzx42-zz.js.map +0 -1
  296. package/lib/esm/dtd-FmzPLZcQ.js +0 -122
  297. package/lib/esm/dtd-FmzPLZcQ.js.map +0 -1
  298. package/lib/esm/dylan-1HtRK4GO.js +0 -338
  299. package/lib/esm/dylan-1HtRK4GO.js.map +0 -1
  300. package/lib/esm/ebnf-Nz-pnLHy.js +0 -152
  301. package/lib/esm/ebnf-Nz-pnLHy.js.map +0 -1
  302. package/lib/esm/ecl-lQsZhQz0.js +0 -191
  303. package/lib/esm/ecl-lQsZhQz0.js.map +0 -1
  304. package/lib/esm/eiffel-R_HiEkhx.js +0 -147
  305. package/lib/esm/eiffel-R_HiEkhx.js.map +0 -1
  306. package/lib/esm/elm-KYv4VTDg.js +0 -231
  307. package/lib/esm/elm-KYv4VTDg.js.map +0 -1
  308. package/lib/esm/erlang-7YaHCBIe.js +0 -582
  309. package/lib/esm/erlang-7YaHCBIe.js.map +0 -1
  310. package/lib/esm/factor-opBU9aTK.js +0 -66
  311. package/lib/esm/factor-opBU9aTK.js.map +0 -1
  312. package/lib/esm/fcl-jm31FmFz.js +0 -155
  313. package/lib/esm/fcl-jm31FmFz.js.map +0 -1
  314. package/lib/esm/forth-5NKbjnWh.js +0 -165
  315. package/lib/esm/forth-5NKbjnWh.js.map +0 -1
  316. package/lib/esm/fortran-dXm_-cb9.js +0 -173
  317. package/lib/esm/fortran-dXm_-cb9.js.map +0 -1
  318. package/lib/esm/gas-nsYVnsy-.js +0 -344
  319. package/lib/esm/gas-nsYVnsy-.js.map +0 -1
  320. package/lib/esm/gherkin-fzKpjm3M.js +0 -148
  321. package/lib/esm/gherkin-fzKpjm3M.js.map +0 -1
  322. package/lib/esm/go-Pn1qh7yl.js +0 -165
  323. package/lib/esm/go-Pn1qh7yl.js.map +0 -1
  324. package/lib/esm/groovy-DZY-8keZ.js +0 -231
  325. package/lib/esm/groovy-DZY-8keZ.js.map +0 -1
  326. package/lib/esm/haskell-JGh2upDd.js +0 -240
  327. package/lib/esm/haskell-JGh2upDd.js.map +0 -1
  328. package/lib/esm/haxe-1hvVK-Fy.js +0 -491
  329. package/lib/esm/haxe-1hvVK-Fy.js.map +0 -1
  330. package/lib/esm/http-mY1M77wn.js +0 -90
  331. package/lib/esm/http-mY1M77wn.js.map +0 -1
  332. package/lib/esm/idl-dy_653wH.js +0 -275
  333. package/lib/esm/idl-dy_653wH.js.map +0 -1
  334. package/lib/esm/index-1NetiFdJ.js +0 -90
  335. package/lib/esm/index-1NetiFdJ.js.map +0 -1
  336. package/lib/esm/index-2I_xbjAZ.js +0 -1012
  337. package/lib/esm/index-2I_xbjAZ.js.map +0 -1
  338. package/lib/esm/index-2huXYfuJ.js +0 -138
  339. package/lib/esm/index-2huXYfuJ.js.map +0 -1
  340. package/lib/esm/index-4x6_TVZv.js +0 -100
  341. package/lib/esm/index-4x6_TVZv.js.map +0 -1
  342. package/lib/esm/index-A-dNwMMf.js +0 -1872
  343. package/lib/esm/index-A-dNwMMf.js.map +0 -1
  344. package/lib/esm/index-AV99ipmP.js +0 -446
  345. package/lib/esm/index-AV99ipmP.js.map +0 -1
  346. package/lib/esm/index-PC2bahtq.js +0 -110
  347. package/lib/esm/index-PC2bahtq.js.map +0 -1
  348. package/lib/esm/index-QBYz82jZ.js +0 -378
  349. package/lib/esm/index-QBYz82jZ.js.map +0 -1
  350. package/lib/esm/index-W1pAMr_8.js +0 -142
  351. package/lib/esm/index-W1pAMr_8.js.map +0 -1
  352. package/lib/esm/index-Xzdc2jbA.js +0 -25207
  353. package/lib/esm/index-Xzdc2jbA.js.map +0 -1
  354. package/lib/esm/index-ZAtZWqJQ.js +0 -191
  355. package/lib/esm/index-ZAtZWqJQ.js.map +0 -1
  356. package/lib/esm/index-bnSKBrbD.js +0 -386
  357. package/lib/esm/index-bnSKBrbD.js.map +0 -1
  358. package/lib/esm/index-ftnOhuRS.js +0 -244
  359. package/lib/esm/index-ftnOhuRS.js.map +0 -1
  360. package/lib/esm/index-iQPB0Rdl.js +0 -343
  361. package/lib/esm/index-iQPB0Rdl.js.map +0 -1
  362. package/lib/esm/index-kPj3-TKp.js +0 -63
  363. package/lib/esm/index-kPj3-TKp.js.map +0 -1
  364. package/lib/esm/index-kgOR7SZ6.js +0 -336
  365. package/lib/esm/index-kgOR7SZ6.js.map +0 -1
  366. package/lib/esm/index-m49Bj3q7.js +0 -185
  367. package/lib/esm/index-m49Bj3q7.js.map +0 -1
  368. package/lib/esm/index-sWVjGw-3.js +0 -2497
  369. package/lib/esm/index-sWVjGw-3.js.map +0 -1
  370. package/lib/esm/index-twh8lL5o.js +0 -671
  371. package/lib/esm/index-twh8lL5o.js.map +0 -1
  372. package/lib/esm/index-v02MCz4_.js +0 -744
  373. package/lib/esm/index-v02MCz4_.js.map +0 -1
  374. package/lib/esm/index-wEXT8mbN.js +0 -512
  375. package/lib/esm/index-wEXT8mbN.js.map +0 -1
  376. package/lib/esm/index-wFIac5Kw.js +0 -1023
  377. package/lib/esm/index-wFIac5Kw.js.map +0 -1
  378. package/lib/esm/index-wg94ewRo.js +0 -425
  379. package/lib/esm/index-wg94ewRo.js.map +0 -1
  380. package/lib/esm/javascript-TMTz-YQH.js +0 -923
  381. package/lib/esm/javascript-TMTz-YQH.js.map +0 -1
  382. package/lib/esm/jinja2-sRIdliZK.js +0 -172
  383. package/lib/esm/jinja2-sRIdliZK.js.map +0 -1
  384. package/lib/esm/julia-fK0wmpGL.js +0 -370
  385. package/lib/esm/julia-fK0wmpGL.js.map +0 -1
  386. package/lib/esm/livescript-FRbAot3D.js +0 -260
  387. package/lib/esm/livescript-FRbAot3D.js.map +0 -1
  388. package/lib/esm/lua-t4FHEjvK.js +0 -138
  389. package/lib/esm/lua-t4FHEjvK.js.map +0 -1
  390. package/lib/esm/mathematica-sn_KGlYj.js +0 -154
  391. package/lib/esm/mathematica-sn_KGlYj.js.map +0 -1
  392. package/lib/esm/mbox-KvVC319E.js +0 -115
  393. package/lib/esm/mbox-KvVC319E.js.map +0 -1
  394. package/lib/esm/mirc-PzJ0zKSk.js +0 -177
  395. package/lib/esm/mirc-PzJ0zKSk.js.map +0 -1
  396. package/lib/esm/mllike-ZK411xkN.js +0 -347
  397. package/lib/esm/mllike-ZK411xkN.js.map +0 -1
  398. package/lib/esm/modelica-ZaHlRCbp.js +0 -193
  399. package/lib/esm/modelica-ZaHlRCbp.js.map +0 -1
  400. package/lib/esm/mscgen-Kkq4o4Zm.js +0 -150
  401. package/lib/esm/mscgen-Kkq4o4Zm.js.map +0 -1
  402. package/lib/esm/mumps-M8a87-rl.js +0 -130
  403. package/lib/esm/mumps-M8a87-rl.js.map +0 -1
  404. package/lib/esm/nginx-2LJIX23E.js +0 -164
  405. package/lib/esm/nginx-2LJIX23E.js.map +0 -1
  406. package/lib/esm/nsis-zvfFgMLi.js +0 -81
  407. package/lib/esm/nsis-zvfFgMLi.js.map +0 -1
  408. package/lib/esm/ntriples-tVkHy5bk.js +0 -142
  409. package/lib/esm/ntriples-tVkHy5bk.js.map +0 -1
  410. package/lib/esm/octave-mE4T5MF5.js +0 -113
  411. package/lib/esm/octave-mE4T5MF5.js.map +0 -1
  412. package/lib/esm/oz-q-LCsuVg.js +0 -236
  413. package/lib/esm/oz-q-LCsuVg.js.map +0 -1
  414. package/lib/esm/pascal-0IgUAn4C.js +0 -125
  415. package/lib/esm/pascal-0IgUAn4C.js.map +0 -1
  416. package/lib/esm/perl-AqxdYGac.js +0 -820
  417. package/lib/esm/perl-AqxdYGac.js.map +0 -1
  418. package/lib/esm/pig-ESM-IjQj.js +0 -150
  419. package/lib/esm/pig-ESM-IjQj.js.map +0 -1
  420. package/lib/esm/powershell-CLFP0L55.js +0 -382
  421. package/lib/esm/powershell-CLFP0L55.js.map +0 -1
  422. package/lib/esm/properties-oWHNzvb9.js +0 -63
  423. package/lib/esm/properties-oWHNzvb9.js.map +0 -1
  424. package/lib/esm/protobuf-c7eMmdcc.js +0 -55
  425. package/lib/esm/protobuf-c7eMmdcc.js.map +0 -1
  426. package/lib/esm/puppet-FjzvdRJr.js +0 -206
  427. package/lib/esm/puppet-FjzvdRJr.js.map +0 -1
  428. package/lib/esm/python-3Pv0tnvt.js +0 -390
  429. package/lib/esm/python-3Pv0tnvt.js.map +0 -1
  430. package/lib/esm/q-IImW8da6.js +0 -124
  431. package/lib/esm/q-IImW8da6.js.map +0 -1
  432. package/lib/esm/r-CnEkTvR0.js +0 -175
  433. package/lib/esm/r-CnEkTvR0.js.map +0 -1
  434. package/lib/esm/rpm-Q55-fEHj.js +0 -90
  435. package/lib/esm/rpm-Q55-fEHj.js.map +0 -1
  436. package/lib/esm/ruby-zhaGB3Kh.js +0 -288
  437. package/lib/esm/ruby-zhaGB3Kh.js.map +0 -1
  438. package/lib/esm/sas-Ur9jZIOV.js +0 -269
  439. package/lib/esm/sas-Ur9jZIOV.js.map +0 -1
  440. package/lib/esm/scheme-daT5-Rya.js +0 -264
  441. package/lib/esm/scheme-daT5-Rya.js.map +0 -1
  442. package/lib/esm/shell-cwFL0AYP.js +0 -146
  443. package/lib/esm/shell-cwFL0AYP.js.map +0 -1
  444. package/lib/esm/sieve-MlNXFFUq.js +0 -179
  445. package/lib/esm/sieve-MlNXFFUq.js.map +0 -1
  446. package/lib/esm/simple-mode-m1rsX7Gw.js +0 -136
  447. package/lib/esm/simple-mode-m1rsX7Gw.js.map +0 -1
  448. package/lib/esm/smalltalk-xrQICp9e.js +0 -154
  449. package/lib/esm/smalltalk-xrQICp9e.js.map +0 -1
  450. package/lib/esm/solr-PU3oPgQz.js +0 -81
  451. package/lib/esm/solr-PU3oPgQz.js.map +0 -1
  452. package/lib/esm/sparql--u8NRBii.js +0 -171
  453. package/lib/esm/sparql--u8NRBii.js.map +0 -1
  454. package/lib/esm/spreadsheet-QCp0LifX.js +0 -99
  455. package/lib/esm/spreadsheet-QCp0LifX.js.map +0 -1
  456. package/lib/esm/sql-dsGfl64h.js +0 -482
  457. package/lib/esm/sql-dsGfl64h.js.map +0 -1
  458. package/lib/esm/stex-WcLBzvkD.js +0 -247
  459. package/lib/esm/stex-WcLBzvkD.js.map +0 -1
  460. package/lib/esm/stylus--A5XAqOX.js +0 -751
  461. package/lib/esm/stylus--A5XAqOX.js.map +0 -1
  462. package/lib/esm/swift-qAm73i7G.js +0 -203
  463. package/lib/esm/swift-qAm73i7G.js.map +0 -1
  464. package/lib/esm/tcl-Kdc7qxc-.js +0 -126
  465. package/lib/esm/tcl-Kdc7qxc-.js.map +0 -1
  466. package/lib/esm/textile--sz8UrIz.js +0 -442
  467. package/lib/esm/textile--sz8UrIz.js.map +0 -1
  468. package/lib/esm/tiddlywiki-xNXTeBlQ.js +0 -279
  469. package/lib/esm/tiddlywiki-xNXTeBlQ.js.map +0 -1
  470. package/lib/esm/tiki-LCXjrNH3.js +0 -290
  471. package/lib/esm/tiki-LCXjrNH3.js.map +0 -1
  472. package/lib/esm/toml-Ac4tlBMn.js +0 -76
  473. package/lib/esm/toml-Ac4tlBMn.js.map +0 -1
  474. package/lib/esm/troff-LLW1x1Yz.js +0 -65
  475. package/lib/esm/troff-LLW1x1Yz.js.map +0 -1
  476. package/lib/esm/ttcn-ZYZ9FS3u.js +0 -258
  477. package/lib/esm/ttcn-ZYZ9FS3u.js.map +0 -1
  478. package/lib/esm/ttcn-cfg-qsvf3MfB.js +0 -202
  479. package/lib/esm/ttcn-cfg-qsvf3MfB.js.map +0 -1
  480. package/lib/esm/turtle-wq3TqOth.js +0 -142
  481. package/lib/esm/turtle-wq3TqOth.js.map +0 -1
  482. package/lib/esm/vb-86M_JuNP.js +0 -250
  483. package/lib/esm/vb-86M_JuNP.js.map +0 -1
  484. package/lib/esm/vbscript-GueAeVug.js +0 -321
  485. package/lib/esm/vbscript-GueAeVug.js.map +0 -1
  486. package/lib/esm/velocity-7PW9GXO2.js +0 -187
  487. package/lib/esm/velocity-7PW9GXO2.js.map +0 -1
  488. package/lib/esm/verilog-PXtXH14C.js +0 -566
  489. package/lib/esm/verilog-PXtXH14C.js.map +0 -1
  490. package/lib/esm/vhdl-I8eyK83X.js +0 -175
  491. package/lib/esm/vhdl-I8eyK83X.js.map +0 -1
  492. package/lib/esm/webidl-1f8ATJ66.js +0 -180
  493. package/lib/esm/webidl-1f8ATJ66.js.map +0 -1
  494. package/lib/esm/xquery-IYp28Wx6.js +0 -426
  495. package/lib/esm/xquery-IYp28Wx6.js.map +0 -1
  496. package/lib/esm/yacas-wkENB05f.js +0 -183
  497. package/lib/esm/yacas-wkENB05f.js.map +0 -1
  498. package/lib/esm/z80-GaXiLdiV.js +0 -103
  499. package/lib/esm/z80-GaXiLdiV.js.map +0 -1
@@ -1,1023 +0,0 @@
1
- import { C as ContextTracker, E as ExternalTokenizer, L as LRParser } from './index-A-dNwMMf.js';
2
- import { b as styleTags, t as tags, p as parseMixed, d as LRLanguage, i as indentNodeProp, f as foldNodeProp, J as bracketMatchingHandle, a as LanguageSupport, E as EditorView, h as syntaxTree, m as EditorSelection } from './index-Xzdc2jbA.js';
3
- import { cssLanguage, css } from './index-QBYz82jZ.js';
4
- import { typescriptLanguage, jsxLanguage, tsxLanguage, javascriptLanguage, javascript } from './index-twh8lL5o.js';
5
- import '@milkdown/kit/component/code-block';
6
- import './todoList-9QsDDcmB.js';
7
- import 'atomico';
8
-
9
- // This file was generated by lezer-generator. You probably shouldn't edit it.
10
- const scriptText = 54,
11
- StartCloseScriptTag = 1,
12
- styleText = 55,
13
- StartCloseStyleTag = 2,
14
- textareaText = 56,
15
- StartCloseTextareaTag = 3,
16
- EndTag = 4,
17
- SelfClosingEndTag = 5,
18
- StartTag = 6,
19
- StartScriptTag = 7,
20
- StartStyleTag = 8,
21
- StartTextareaTag = 9,
22
- StartSelfClosingTag = 10,
23
- StartCloseTag = 11,
24
- NoMatchStartCloseTag = 12,
25
- MismatchedStartCloseTag = 13,
26
- missingCloseTag = 57,
27
- IncompleteCloseTag = 14,
28
- commentContent$1 = 58,
29
- Element = 20,
30
- TagName = 22,
31
- Attribute = 23,
32
- AttributeName = 24,
33
- AttributeValue = 26,
34
- UnquotedAttributeValue = 27,
35
- ScriptText = 28,
36
- StyleText = 31,
37
- TextareaText = 34,
38
- OpenTag = 36,
39
- CloseTag = 37,
40
- Dialect_noMatch = 0,
41
- Dialect_selfClosing = 1;
42
-
43
- /* Hand-written tokenizers for HTML. */
44
-
45
- const selfClosers$1 = {
46
- area: true, base: true, br: true, col: true, command: true,
47
- embed: true, frame: true, hr: true, img: true, input: true,
48
- keygen: true, link: true, meta: true, param: true, source: true,
49
- track: true, wbr: true, menuitem: true
50
- };
51
-
52
- const implicitlyClosed = {
53
- dd: true, li: true, optgroup: true, option: true, p: true,
54
- rp: true, rt: true, tbody: true, td: true, tfoot: true,
55
- th: true, tr: true
56
- };
57
-
58
- const closeOnOpen = {
59
- dd: {dd: true, dt: true},
60
- dt: {dd: true, dt: true},
61
- li: {li: true},
62
- option: {option: true, optgroup: true},
63
- optgroup: {optgroup: true},
64
- p: {
65
- address: true, article: true, aside: true, blockquote: true, dir: true,
66
- div: true, dl: true, fieldset: true, footer: true, form: true,
67
- h1: true, h2: true, h3: true, h4: true, h5: true, h6: true,
68
- header: true, hgroup: true, hr: true, menu: true, nav: true, ol: true,
69
- p: true, pre: true, section: true, table: true, ul: true
70
- },
71
- rp: {rp: true, rt: true},
72
- rt: {rp: true, rt: true},
73
- tbody: {tbody: true, tfoot: true},
74
- td: {td: true, th: true},
75
- tfoot: {tbody: true},
76
- th: {td: true, th: true},
77
- thead: {tbody: true, tfoot: true},
78
- tr: {tr: true}
79
- };
80
-
81
- function nameChar(ch) {
82
- return ch == 45 || ch == 46 || ch == 58 || ch >= 65 && ch <= 90 || ch == 95 || ch >= 97 && ch <= 122 || ch >= 161
83
- }
84
-
85
- function isSpace(ch) {
86
- return ch == 9 || ch == 10 || ch == 13 || ch == 32
87
- }
88
-
89
- let cachedName = null, cachedInput = null, cachedPos = 0;
90
- function tagNameAfter(input, offset) {
91
- let pos = input.pos + offset;
92
- if (cachedPos == pos && cachedInput == input) return cachedName
93
- let next = input.peek(offset);
94
- while (isSpace(next)) next = input.peek(++offset);
95
- let name = "";
96
- for (;;) {
97
- if (!nameChar(next)) break
98
- name += String.fromCharCode(next);
99
- next = input.peek(++offset);
100
- }
101
- // Undefined to signal there's a <? or <!, null for just missing
102
- cachedInput = input; cachedPos = pos;
103
- return cachedName = name ? name.toLowerCase() : next == question || next == bang ? undefined : null
104
- }
105
-
106
- const lessThan = 60, greaterThan = 62, slash = 47, question = 63, bang = 33, dash = 45;
107
-
108
- function ElementContext(name, parent) {
109
- this.name = name;
110
- this.parent = parent;
111
- this.hash = parent ? parent.hash : 0;
112
- for (let i = 0; i < name.length; i++) this.hash += (this.hash << 4) + name.charCodeAt(i) + (name.charCodeAt(i) << 8);
113
- }
114
-
115
- const startTagTerms = [StartTag, StartSelfClosingTag, StartScriptTag, StartStyleTag, StartTextareaTag];
116
-
117
- const elementContext = new ContextTracker({
118
- start: null,
119
- shift(context, term, stack, input) {
120
- return startTagTerms.indexOf(term) > -1 ? new ElementContext(tagNameAfter(input, 1) || "", context) : context
121
- },
122
- reduce(context, term) {
123
- return term == Element && context ? context.parent : context
124
- },
125
- reuse(context, node, stack, input) {
126
- let type = node.type.id;
127
- return type == StartTag || type == OpenTag
128
- ? new ElementContext(tagNameAfter(input, 1) || "", context) : context
129
- },
130
- hash(context) { return context ? context.hash : 0 },
131
- strict: false
132
- });
133
-
134
- const tagStart = new ExternalTokenizer((input, stack) => {
135
- if (input.next != lessThan) {
136
- // End of file, close any open tags
137
- if (input.next < 0 && stack.context) input.acceptToken(missingCloseTag);
138
- return
139
- }
140
- input.advance();
141
- let close = input.next == slash;
142
- if (close) input.advance();
143
- let name = tagNameAfter(input, 0);
144
- if (name === undefined) return
145
- if (!name) return input.acceptToken(close ? IncompleteCloseTag : StartTag)
146
-
147
- let parent = stack.context ? stack.context.name : null;
148
- if (close) {
149
- if (name == parent) return input.acceptToken(StartCloseTag)
150
- if (parent && implicitlyClosed[parent]) return input.acceptToken(missingCloseTag, -2)
151
- if (stack.dialectEnabled(Dialect_noMatch)) return input.acceptToken(NoMatchStartCloseTag)
152
- for (let cx = stack.context; cx; cx = cx.parent) if (cx.name == name) return
153
- input.acceptToken(MismatchedStartCloseTag);
154
- } else {
155
- if (name == "script") return input.acceptToken(StartScriptTag)
156
- if (name == "style") return input.acceptToken(StartStyleTag)
157
- if (name == "textarea") return input.acceptToken(StartTextareaTag)
158
- if (selfClosers$1.hasOwnProperty(name)) return input.acceptToken(StartSelfClosingTag)
159
- if (parent && closeOnOpen[parent] && closeOnOpen[parent][name]) input.acceptToken(missingCloseTag, -1);
160
- else input.acceptToken(StartTag);
161
- }
162
- }, {contextual: true});
163
-
164
- const commentContent = new ExternalTokenizer(input => {
165
- for (let dashes = 0, i = 0;; i++) {
166
- if (input.next < 0) {
167
- if (i) input.acceptToken(commentContent$1);
168
- break
169
- }
170
- if (input.next == dash) {
171
- dashes++;
172
- } else if (input.next == greaterThan && dashes >= 2) {
173
- if (i >= 3) input.acceptToken(commentContent$1, -2);
174
- break
175
- } else {
176
- dashes = 0;
177
- }
178
- input.advance();
179
- }
180
- });
181
-
182
- function inForeignElement(context) {
183
- for (; context; context = context.parent)
184
- if (context.name == "svg" || context.name == "math") return true
185
- return false
186
- }
187
-
188
- const endTag = new ExternalTokenizer((input, stack) => {
189
- if (input.next == slash && input.peek(1) == greaterThan) {
190
- let selfClosing = stack.dialectEnabled(Dialect_selfClosing) || inForeignElement(stack.context);
191
- input.acceptToken(selfClosing ? SelfClosingEndTag : EndTag, 2);
192
- } else if (input.next == greaterThan) {
193
- input.acceptToken(EndTag, 1);
194
- }
195
- });
196
-
197
- function contentTokenizer(tag, textToken, endToken) {
198
- let lastState = 2 + tag.length;
199
- return new ExternalTokenizer(input => {
200
- // state means:
201
- // - 0 nothing matched
202
- // - 1 '<' matched
203
- // - 2 '</' + possibly whitespace matched
204
- // - 3-(1+tag.length) part of the tag matched
205
- // - lastState whole tag + possibly whitespace matched
206
- for (let state = 0, matchedLen = 0, i = 0;; i++) {
207
- if (input.next < 0) {
208
- if (i) input.acceptToken(textToken);
209
- break
210
- }
211
- if (state == 0 && input.next == lessThan ||
212
- state == 1 && input.next == slash ||
213
- state >= 2 && state < lastState && input.next == tag.charCodeAt(state - 2)) {
214
- state++;
215
- matchedLen++;
216
- } else if ((state == 2 || state == lastState) && isSpace(input.next)) {
217
- matchedLen++;
218
- } else if (state == lastState && input.next == greaterThan) {
219
- if (i > matchedLen)
220
- input.acceptToken(textToken, -matchedLen);
221
- else
222
- input.acceptToken(endToken, -(matchedLen - 2));
223
- break
224
- } else if ((input.next == 10 /* '\n' */ || input.next == 13 /* '\r' */) && i) {
225
- input.acceptToken(textToken, 1);
226
- break
227
- } else {
228
- state = matchedLen = 0;
229
- }
230
- input.advance();
231
- }
232
- })
233
- }
234
-
235
- const scriptTokens = contentTokenizer("script", scriptText, StartCloseScriptTag);
236
-
237
- const styleTokens = contentTokenizer("style", styleText, StartCloseStyleTag);
238
-
239
- const textareaTokens = contentTokenizer("textarea", textareaText, StartCloseTextareaTag);
240
-
241
- const htmlHighlighting = styleTags({
242
- "Text RawText": tags.content,
243
- "StartTag StartCloseTag SelfClosingEndTag EndTag": tags.angleBracket,
244
- TagName: tags.tagName,
245
- "MismatchedCloseTag/TagName": [tags.tagName, tags.invalid],
246
- AttributeName: tags.attributeName,
247
- "AttributeValue UnquotedAttributeValue": tags.attributeValue,
248
- Is: tags.definitionOperator,
249
- "EntityReference CharacterReference": tags.character,
250
- Comment: tags.blockComment,
251
- ProcessingInst: tags.processingInstruction,
252
- DoctypeDecl: tags.documentMeta
253
- });
254
-
255
- // This file was generated by lezer-generator. You probably shouldn't edit it.
256
- const parser = LRParser.deserialize({
257
- version: 14,
258
- states: ",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%WQ&rO,59fO%`Q&rO,59iO%hQ&rO,59lO%sQ&rO,59nOOOa'#D^'#D^O%{OaO'#CxO&WOaO,59[OOOb'#D_'#D_O&`ObO'#C{O&kObO,59[OOOd'#D`'#D`O&sOdO'#DOO'OOdO,59[OOO`'#Da'#DaO'WO!rO,59[O'_Q#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'dO$fO,59oOOO`,59o,59oO'lQ#|O,59qO'qQ#|O,59rOOO`-E7W-E7WO'vQ&rO'#CsOOQW'#DZ'#DZO(UQ&rO1G.wOOOa1G.w1G.wO(^Q&rO1G/QOOOb1G/Q1G/QO(fQ&rO1G/TOOOd1G/T1G/TO(nQ&rO1G/WOOO`1G/W1G/WOOO`1G/Y1G/YO(yQ&rO1G/YOOOa-E7[-E7[O)RQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)WQ#tO'#C|OOOd-E7^-E7^O)]Q#tO'#DPOOO`-E7_-E7_O)bQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O)gQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rOOO`7+$t7+$tO)rQ#|O,59eO)wQ#|O,59hO)|Q#|O,59kOOO`1G/X1G/XO*RO7[O'#CvO*dOMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O*uO7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+WOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z",
259
- stateData: "+s~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OhyO~OS!OOhyO~OS!QOhyO~OS!SOT!TOhyO~OS!TOhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXhgXTgX~OS!fOhyO~OS!gOhyO~OS!hOhyO~OS!iOT!jOhyO~OS!jOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~",
260
- goto: "%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{}!P!R!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ}bQ!PcQ!RdQ!UeZ!e{}!P!R!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",
261
- nodeNames: "⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",
262
- maxTerm: 67,
263
- context: elementContext,
264
- nodeProps: [
265
- ["closedBy", -10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,21,30,33,36,"CloseTag"],
266
- ["openedBy", 4,"StartTag StartCloseTag",5,"StartTag",-4,29,32,35,37,"OpenTag"],
267
- ["group", -9,14,17,18,19,20,39,40,41,42,"Entity",16,"Entity TextContent",-3,28,31,34,"TextContent Entity"]
268
- ],
269
- propSources: [htmlHighlighting],
270
- skippedNodes: [0],
271
- repeatNodeCount: 9,
272
- tokenData: "!<p!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs3_sv-_vw3}wxHYx}-_}!OH{!O!P-_!P!Q$q!Q![-_![!]Mz!]!^-_!^!_!$S!_!`!;x!`!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4U-_4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!Z$|c`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bX`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UV`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pT`POv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!cpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({W`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!a`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!a`!cpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYkWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]``P!a`!cp!^^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/ebhSkWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0rXhSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vchS`P!a`!cpOq&Xqr1krs&}sv1kvw0mwx(tx!P1k!P!Q&X!Q!^1k!^!_*V!_!a&X!a#s1k#s$f&X$f;'S1k;'S;=`3R<%l?Ah1k?Ah?BY&X?BY?Mn1k?MnO&X!V3UP;=`<%l1k!_3[P;=`<%l-_!Z3hV!`h`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WihSkWc!ROX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst>]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zbkWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOa!R!R7tP;=`<%l7S!Z8OYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{ihSkWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbhSkWa!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!V<QchSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXhSa!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TakWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOb!R!RAwP;=`<%lAY!ZBRYkWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbhSkWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbhSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXhSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!bx`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYlhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_khS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_X`P!a`!cp!eQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZhSfQ`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!a`!cpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!a`!cp!dPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!a`!cpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!a`!cpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!a`!cpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!a`!cpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!a`!cpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!a`!cpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!a`!cpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!cpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO{PP!-nP;=`<%l!-Sq!-xS!cp{POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!a`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!a`{POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!a`!cp{POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!a`!cpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!a`!cpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!a`!cpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!a`!cpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!a`!cpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!a`!cpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!cpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOxPP!7TP;=`<%l!6Vq!7]V!cpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!a`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!a`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!<TXiS`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",
273
- tokenizers: [scriptTokens, styleTokens, textareaTokens, endTag, tagStart, commentContent, 0, 1, 2, 3, 4, 5],
274
- topRules: {"Document":[0,15]},
275
- dialects: {noMatch: 0, selfClosing: 485},
276
- tokenPrec: 487
277
- });
278
-
279
- function getAttrs(openTag, input) {
280
- let attrs = Object.create(null);
281
- for (let att of openTag.getChildren(Attribute)) {
282
- let name = att.getChild(AttributeName), value = att.getChild(AttributeValue) || att.getChild(UnquotedAttributeValue);
283
- if (name) attrs[input.read(name.from, name.to)] =
284
- !value ? "" : value.type.id == AttributeValue ? input.read(value.from + 1, value.to - 1) : input.read(value.from, value.to);
285
- }
286
- return attrs
287
- }
288
-
289
- function findTagName(openTag, input) {
290
- let tagNameNode = openTag.getChild(TagName);
291
- return tagNameNode ? input.read(tagNameNode.from, tagNameNode.to) : " "
292
- }
293
-
294
- function maybeNest(node, input, tags) {
295
- let attrs;
296
- for (let tag of tags) {
297
- if (!tag.attrs || tag.attrs(attrs || (attrs = getAttrs(node.node.parent.firstChild, input))))
298
- return {parser: tag.parser}
299
- }
300
- return null
301
- }
302
-
303
- // tags?: {
304
- // tag: string,
305
- // attrs?: ({[attr: string]: string}) => boolean,
306
- // parser: Parser
307
- // }[]
308
- // attributes?: {
309
- // name: string,
310
- // tagName?: string,
311
- // parser: Parser
312
- // }[]
313
-
314
- function configureNesting(tags = [], attributes = []) {
315
- let script = [], style = [], textarea = [], other = [];
316
- for (let tag of tags) {
317
- let array = tag.tag == "script" ? script : tag.tag == "style" ? style : tag.tag == "textarea" ? textarea : other;
318
- array.push(tag);
319
- }
320
- let attrs = attributes.length ? Object.create(null) : null;
321
- for (let attr of attributes) (attrs[attr.name] || (attrs[attr.name] = [])).push(attr);
322
-
323
- return parseMixed((node, input) => {
324
- let id = node.type.id;
325
- if (id == ScriptText) return maybeNest(node, input, script)
326
- if (id == StyleText) return maybeNest(node, input, style)
327
- if (id == TextareaText) return maybeNest(node, input, textarea)
328
-
329
- if (id == Element && other.length) {
330
- let n = node.node, open = n.firstChild, tagName = open && findTagName(open, input), attrs;
331
- if (tagName) for (let tag of other) {
332
- if (tag.tag == tagName && (!tag.attrs || tag.attrs(attrs || (attrs = getAttrs(n, input))))) {
333
- let close = n.lastChild;
334
- let to = close.type.id == CloseTag ? close.from : n.to;
335
- if (to > open.to)
336
- return {parser: tag.parser, overlay: [{from: open.to, to}]}
337
- }
338
- }
339
- }
340
-
341
- if (attrs && id == Attribute) {
342
- let n = node.node, nameNode;
343
- if (nameNode = n.firstChild) {
344
- let matches = attrs[input.read(nameNode.from, nameNode.to)];
345
- if (matches) for (let attr of matches) {
346
- if (attr.tagName && attr.tagName != findTagName(n.parent, input)) continue
347
- let value = n.lastChild;
348
- if (value.type.id == AttributeValue) {
349
- let from = value.from + 1;
350
- let last = value.lastChild, to = value.to - (last && last.isError ? 0 : 1);
351
- if (to > from) return {parser: attr.parser, overlay: [{from, to}]}
352
- } else if (value.type.id == UnquotedAttributeValue) {
353
- return {parser: attr.parser, overlay: [{from: value.from, to: value.to}]}
354
- }
355
- }
356
- }
357
- }
358
- return null
359
- })
360
- }
361
-
362
- const Targets = ["_blank", "_self", "_top", "_parent"];
363
- const Charsets = ["ascii", "utf-8", "utf-16", "latin1", "latin1"];
364
- const Methods = ["get", "post", "put", "delete"];
365
- const Encs = ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"];
366
- const Bool = ["true", "false"];
367
- const S = {}; // Empty tag spec
368
- const Tags = {
369
- a: {
370
- attrs: {
371
- href: null, ping: null, type: null,
372
- media: null,
373
- target: Targets,
374
- hreflang: null
375
- }
376
- },
377
- abbr: S,
378
- address: S,
379
- area: {
380
- attrs: {
381
- alt: null, coords: null, href: null, target: null, ping: null,
382
- media: null, hreflang: null, type: null,
383
- shape: ["default", "rect", "circle", "poly"]
384
- }
385
- },
386
- article: S,
387
- aside: S,
388
- audio: {
389
- attrs: {
390
- src: null, mediagroup: null,
391
- crossorigin: ["anonymous", "use-credentials"],
392
- preload: ["none", "metadata", "auto"],
393
- autoplay: ["autoplay"],
394
- loop: ["loop"],
395
- controls: ["controls"]
396
- }
397
- },
398
- b: S,
399
- base: { attrs: { href: null, target: Targets } },
400
- bdi: S,
401
- bdo: S,
402
- blockquote: { attrs: { cite: null } },
403
- body: S,
404
- br: S,
405
- button: {
406
- attrs: {
407
- form: null, formaction: null, name: null, value: null,
408
- autofocus: ["autofocus"],
409
- disabled: ["autofocus"],
410
- formenctype: Encs,
411
- formmethod: Methods,
412
- formnovalidate: ["novalidate"],
413
- formtarget: Targets,
414
- type: ["submit", "reset", "button"]
415
- }
416
- },
417
- canvas: { attrs: { width: null, height: null } },
418
- caption: S,
419
- center: S,
420
- cite: S,
421
- code: S,
422
- col: { attrs: { span: null } },
423
- colgroup: { attrs: { span: null } },
424
- command: {
425
- attrs: {
426
- type: ["command", "checkbox", "radio"],
427
- label: null, icon: null, radiogroup: null, command: null, title: null,
428
- disabled: ["disabled"],
429
- checked: ["checked"]
430
- }
431
- },
432
- data: { attrs: { value: null } },
433
- datagrid: { attrs: { disabled: ["disabled"], multiple: ["multiple"] } },
434
- datalist: { attrs: { data: null } },
435
- dd: S,
436
- del: { attrs: { cite: null, datetime: null } },
437
- details: { attrs: { open: ["open"] } },
438
- dfn: S,
439
- div: S,
440
- dl: S,
441
- dt: S,
442
- em: S,
443
- embed: { attrs: { src: null, type: null, width: null, height: null } },
444
- eventsource: { attrs: { src: null } },
445
- fieldset: { attrs: { disabled: ["disabled"], form: null, name: null } },
446
- figcaption: S,
447
- figure: S,
448
- footer: S,
449
- form: {
450
- attrs: {
451
- action: null, name: null,
452
- "accept-charset": Charsets,
453
- autocomplete: ["on", "off"],
454
- enctype: Encs,
455
- method: Methods,
456
- novalidate: ["novalidate"],
457
- target: Targets
458
- }
459
- },
460
- h1: S, h2: S, h3: S, h4: S, h5: S, h6: S,
461
- head: {
462
- children: ["title", "base", "link", "style", "meta", "script", "noscript", "command"]
463
- },
464
- header: S,
465
- hgroup: S,
466
- hr: S,
467
- html: {
468
- attrs: { manifest: null }
469
- },
470
- i: S,
471
- iframe: {
472
- attrs: {
473
- src: null, srcdoc: null, name: null, width: null, height: null,
474
- sandbox: ["allow-top-navigation", "allow-same-origin", "allow-forms", "allow-scripts"],
475
- seamless: ["seamless"]
476
- }
477
- },
478
- img: {
479
- attrs: {
480
- alt: null, src: null, ismap: null, usemap: null, width: null, height: null,
481
- crossorigin: ["anonymous", "use-credentials"]
482
- }
483
- },
484
- input: {
485
- attrs: {
486
- alt: null, dirname: null, form: null, formaction: null,
487
- height: null, list: null, max: null, maxlength: null, min: null,
488
- name: null, pattern: null, placeholder: null, size: null, src: null,
489
- step: null, value: null, width: null,
490
- accept: ["audio/*", "video/*", "image/*"],
491
- autocomplete: ["on", "off"],
492
- autofocus: ["autofocus"],
493
- checked: ["checked"],
494
- disabled: ["disabled"],
495
- formenctype: Encs,
496
- formmethod: Methods,
497
- formnovalidate: ["novalidate"],
498
- formtarget: Targets,
499
- multiple: ["multiple"],
500
- readonly: ["readonly"],
501
- required: ["required"],
502
- type: ["hidden", "text", "search", "tel", "url", "email", "password", "datetime", "date", "month",
503
- "week", "time", "datetime-local", "number", "range", "color", "checkbox", "radio",
504
- "file", "submit", "image", "reset", "button"]
505
- }
506
- },
507
- ins: { attrs: { cite: null, datetime: null } },
508
- kbd: S,
509
- keygen: {
510
- attrs: {
511
- challenge: null, form: null, name: null,
512
- autofocus: ["autofocus"],
513
- disabled: ["disabled"],
514
- keytype: ["RSA"]
515
- }
516
- },
517
- label: { attrs: { for: null, form: null } },
518
- legend: S,
519
- li: { attrs: { value: null } },
520
- link: {
521
- attrs: {
522
- href: null, type: null,
523
- hreflang: null,
524
- media: null,
525
- sizes: ["all", "16x16", "16x16 32x32", "16x16 32x32 64x64"]
526
- }
527
- },
528
- map: { attrs: { name: null } },
529
- mark: S,
530
- menu: { attrs: { label: null, type: ["list", "context", "toolbar"] } },
531
- meta: {
532
- attrs: {
533
- content: null,
534
- charset: Charsets,
535
- name: ["viewport", "application-name", "author", "description", "generator", "keywords"],
536
- "http-equiv": ["content-language", "content-type", "default-style", "refresh"]
537
- }
538
- },
539
- meter: { attrs: { value: null, min: null, low: null, high: null, max: null, optimum: null } },
540
- nav: S,
541
- noscript: S,
542
- object: {
543
- attrs: {
544
- data: null, type: null, name: null, usemap: null, form: null, width: null, height: null,
545
- typemustmatch: ["typemustmatch"]
546
- }
547
- },
548
- ol: { attrs: { reversed: ["reversed"], start: null, type: ["1", "a", "A", "i", "I"] },
549
- children: ["li", "script", "template", "ul", "ol"] },
550
- optgroup: { attrs: { disabled: ["disabled"], label: null } },
551
- option: { attrs: { disabled: ["disabled"], label: null, selected: ["selected"], value: null } },
552
- output: { attrs: { for: null, form: null, name: null } },
553
- p: S,
554
- param: { attrs: { name: null, value: null } },
555
- pre: S,
556
- progress: { attrs: { value: null, max: null } },
557
- q: { attrs: { cite: null } },
558
- rp: S,
559
- rt: S,
560
- ruby: S,
561
- samp: S,
562
- script: {
563
- attrs: {
564
- type: ["text/javascript"],
565
- src: null,
566
- async: ["async"],
567
- defer: ["defer"],
568
- charset: Charsets
569
- }
570
- },
571
- section: S,
572
- select: {
573
- attrs: {
574
- form: null, name: null, size: null,
575
- autofocus: ["autofocus"],
576
- disabled: ["disabled"],
577
- multiple: ["multiple"]
578
- }
579
- },
580
- slot: { attrs: { name: null } },
581
- small: S,
582
- source: { attrs: { src: null, type: null, media: null } },
583
- span: S,
584
- strong: S,
585
- style: {
586
- attrs: {
587
- type: ["text/css"],
588
- media: null,
589
- scoped: null
590
- }
591
- },
592
- sub: S,
593
- summary: S,
594
- sup: S,
595
- table: S,
596
- tbody: S,
597
- td: { attrs: { colspan: null, rowspan: null, headers: null } },
598
- template: S,
599
- textarea: {
600
- attrs: {
601
- dirname: null, form: null, maxlength: null, name: null, placeholder: null,
602
- rows: null, cols: null,
603
- autofocus: ["autofocus"],
604
- disabled: ["disabled"],
605
- readonly: ["readonly"],
606
- required: ["required"],
607
- wrap: ["soft", "hard"]
608
- }
609
- },
610
- tfoot: S,
611
- th: { attrs: { colspan: null, rowspan: null, headers: null, scope: ["row", "col", "rowgroup", "colgroup"] } },
612
- thead: S,
613
- time: { attrs: { datetime: null } },
614
- title: S,
615
- tr: S,
616
- track: {
617
- attrs: {
618
- src: null, label: null, default: null,
619
- kind: ["subtitles", "captions", "descriptions", "chapters", "metadata"],
620
- srclang: null
621
- }
622
- },
623
- ul: { children: ["li", "script", "template", "ul", "ol"] },
624
- var: S,
625
- video: {
626
- attrs: {
627
- src: null, poster: null, width: null, height: null,
628
- crossorigin: ["anonymous", "use-credentials"],
629
- preload: ["auto", "metadata", "none"],
630
- autoplay: ["autoplay"],
631
- mediagroup: ["movie"],
632
- muted: ["muted"],
633
- controls: ["controls"]
634
- }
635
- },
636
- wbr: S
637
- };
638
- const GlobalAttrs = {
639
- accesskey: null,
640
- class: null,
641
- contenteditable: Bool,
642
- contextmenu: null,
643
- dir: ["ltr", "rtl", "auto"],
644
- draggable: ["true", "false", "auto"],
645
- dropzone: ["copy", "move", "link", "string:", "file:"],
646
- hidden: ["hidden"],
647
- id: null,
648
- inert: ["inert"],
649
- itemid: null,
650
- itemprop: null,
651
- itemref: null,
652
- itemscope: ["itemscope"],
653
- itemtype: null,
654
- lang: ["ar", "bn", "de", "en-GB", "en-US", "es", "fr", "hi", "id", "ja", "pa", "pt", "ru", "tr", "zh"],
655
- spellcheck: Bool,
656
- autocorrect: Bool,
657
- autocapitalize: Bool,
658
- style: null,
659
- tabindex: null,
660
- title: null,
661
- translate: ["yes", "no"],
662
- rel: ["stylesheet", "alternate", "author", "bookmark", "help", "license", "next", "nofollow", "noreferrer", "prefetch", "prev", "search", "tag"],
663
- role: /*@__PURE__*/"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),
664
- "aria-activedescendant": null,
665
- "aria-atomic": Bool,
666
- "aria-autocomplete": ["inline", "list", "both", "none"],
667
- "aria-busy": Bool,
668
- "aria-checked": ["true", "false", "mixed", "undefined"],
669
- "aria-controls": null,
670
- "aria-describedby": null,
671
- "aria-disabled": Bool,
672
- "aria-dropeffect": null,
673
- "aria-expanded": ["true", "false", "undefined"],
674
- "aria-flowto": null,
675
- "aria-grabbed": ["true", "false", "undefined"],
676
- "aria-haspopup": Bool,
677
- "aria-hidden": Bool,
678
- "aria-invalid": ["true", "false", "grammar", "spelling"],
679
- "aria-label": null,
680
- "aria-labelledby": null,
681
- "aria-level": null,
682
- "aria-live": ["off", "polite", "assertive"],
683
- "aria-multiline": Bool,
684
- "aria-multiselectable": Bool,
685
- "aria-owns": null,
686
- "aria-posinset": null,
687
- "aria-pressed": ["true", "false", "mixed", "undefined"],
688
- "aria-readonly": Bool,
689
- "aria-relevant": null,
690
- "aria-required": Bool,
691
- "aria-selected": ["true", "false", "undefined"],
692
- "aria-setsize": null,
693
- "aria-sort": ["ascending", "descending", "none", "other"],
694
- "aria-valuemax": null,
695
- "aria-valuemin": null,
696
- "aria-valuenow": null,
697
- "aria-valuetext": null
698
- };
699
- const eventAttributes = /*@__PURE__*/("beforeunload copy cut dragstart dragover dragleave dragenter dragend " +
700
- "drag paste focus blur change click load mousedown mouseenter mouseleave " +
701
- "mouseup keydown keyup resize scroll unload").split(" ").map(n => "on" + n);
702
- for (let a of eventAttributes)
703
- GlobalAttrs[a] = null;
704
- class Schema {
705
- constructor(extraTags, extraAttrs) {
706
- this.tags = Object.assign(Object.assign({}, Tags), extraTags);
707
- this.globalAttrs = Object.assign(Object.assign({}, GlobalAttrs), extraAttrs);
708
- this.allTags = Object.keys(this.tags);
709
- this.globalAttrNames = Object.keys(this.globalAttrs);
710
- }
711
- }
712
- Schema.default = /*@__PURE__*/new Schema;
713
- function elementName(doc, tree, max = doc.length) {
714
- if (!tree)
715
- return "";
716
- let tag = tree.firstChild;
717
- let name = tag && tag.getChild("TagName");
718
- return name ? doc.sliceString(name.from, Math.min(name.to, max)) : "";
719
- }
720
- function findParentElement(tree, skip = false) {
721
- for (; tree; tree = tree.parent)
722
- if (tree.name == "Element") {
723
- if (skip)
724
- skip = false;
725
- else
726
- return tree;
727
- }
728
- return null;
729
- }
730
- function allowedChildren(doc, tree, schema) {
731
- let parentInfo = schema.tags[elementName(doc, findParentElement(tree))];
732
- return (parentInfo === null || parentInfo === void 0 ? void 0 : parentInfo.children) || schema.allTags;
733
- }
734
- function openTags(doc, tree) {
735
- let open = [];
736
- for (let parent = findParentElement(tree); parent && !parent.type.isTop; parent = findParentElement(parent.parent)) {
737
- let tagName = elementName(doc, parent);
738
- if (tagName && parent.lastChild.name == "CloseTag")
739
- break;
740
- if (tagName && open.indexOf(tagName) < 0 && (tree.name == "EndTag" || tree.from >= parent.firstChild.to))
741
- open.push(tagName);
742
- }
743
- return open;
744
- }
745
- const identifier = /^[:\-\.\w\u00b7-\uffff]*$/;
746
- function completeTag(state, schema, tree, from, to) {
747
- let end = /\s*>/.test(state.sliceDoc(to, to + 5)) ? "" : ">";
748
- let parent = findParentElement(tree, true);
749
- return { from, to,
750
- options: allowedChildren(state.doc, parent, schema).map(tagName => ({ label: tagName, type: "type" })).concat(openTags(state.doc, tree).map((tag, i) => ({ label: "/" + tag, apply: "/" + tag + end,
751
- type: "type", boost: 99 - i }))),
752
- validFor: /^\/?[:\-\.\w\u00b7-\uffff]*$/ };
753
- }
754
- function completeCloseTag(state, tree, from, to) {
755
- let end = /\s*>/.test(state.sliceDoc(to, to + 5)) ? "" : ">";
756
- return { from, to,
757
- options: openTags(state.doc, tree).map((tag, i) => ({ label: tag, apply: tag + end, type: "type", boost: 99 - i })),
758
- validFor: identifier };
759
- }
760
- function completeStartTag(state, schema, tree, pos) {
761
- let options = [], level = 0;
762
- for (let tagName of allowedChildren(state.doc, tree, schema))
763
- options.push({ label: "<" + tagName, type: "type" });
764
- for (let open of openTags(state.doc, tree))
765
- options.push({ label: "</" + open + ">", type: "type", boost: 99 - level++ });
766
- return { from: pos, to: pos, options, validFor: /^<\/?[:\-\.\w\u00b7-\uffff]*$/ };
767
- }
768
- function completeAttrName(state, schema, tree, from, to) {
769
- let elt = findParentElement(tree), info = elt ? schema.tags[elementName(state.doc, elt)] : null;
770
- let localAttrs = info && info.attrs ? Object.keys(info.attrs) : [];
771
- let names = info && info.globalAttrs === false ? localAttrs
772
- : localAttrs.length ? localAttrs.concat(schema.globalAttrNames) : schema.globalAttrNames;
773
- return { from, to,
774
- options: names.map(attrName => ({ label: attrName, type: "property" })),
775
- validFor: identifier };
776
- }
777
- function completeAttrValue(state, schema, tree, from, to) {
778
- var _a;
779
- let nameNode = (_a = tree.parent) === null || _a === void 0 ? void 0 : _a.getChild("AttributeName");
780
- let options = [], token = undefined;
781
- if (nameNode) {
782
- let attrName = state.sliceDoc(nameNode.from, nameNode.to);
783
- let attrs = schema.globalAttrs[attrName];
784
- if (!attrs) {
785
- let elt = findParentElement(tree), info = elt ? schema.tags[elementName(state.doc, elt)] : null;
786
- attrs = (info === null || info === void 0 ? void 0 : info.attrs) && info.attrs[attrName];
787
- }
788
- if (attrs) {
789
- let base = state.sliceDoc(from, to).toLowerCase(), quoteStart = '"', quoteEnd = '"';
790
- if (/^['"]/.test(base)) {
791
- token = base[0] == '"' ? /^[^"]*$/ : /^[^']*$/;
792
- quoteStart = "";
793
- quoteEnd = state.sliceDoc(to, to + 1) == base[0] ? "" : base[0];
794
- base = base.slice(1);
795
- from++;
796
- }
797
- else {
798
- token = /^[^\s<>='"]*$/;
799
- }
800
- for (let value of attrs)
801
- options.push({ label: value, apply: quoteStart + value + quoteEnd, type: "constant" });
802
- }
803
- }
804
- return { from, to, options, validFor: token };
805
- }
806
- function htmlCompletionFor(schema, context) {
807
- let { state, pos } = context, tree = syntaxTree(state).resolveInner(pos, -1), around = tree.resolve(pos);
808
- for (let scan = pos, before; around == tree && (before = tree.childBefore(scan));) {
809
- let last = before.lastChild;
810
- if (!last || !last.type.isError || last.from < last.to)
811
- break;
812
- around = tree = before;
813
- scan = last.from;
814
- }
815
- if (tree.name == "TagName") {
816
- return tree.parent && /CloseTag$/.test(tree.parent.name) ? completeCloseTag(state, tree, tree.from, pos)
817
- : completeTag(state, schema, tree, tree.from, pos);
818
- }
819
- else if (tree.name == "StartTag") {
820
- return completeTag(state, schema, tree, pos, pos);
821
- }
822
- else if (tree.name == "StartCloseTag" || tree.name == "IncompleteCloseTag") {
823
- return completeCloseTag(state, tree, pos, pos);
824
- }
825
- else if (context.explicit && (tree.name == "OpenTag" || tree.name == "SelfClosingTag") || tree.name == "AttributeName") {
826
- return completeAttrName(state, schema, tree, tree.name == "AttributeName" ? tree.from : pos, pos);
827
- }
828
- else if (tree.name == "Is" || tree.name == "AttributeValue" || tree.name == "UnquotedAttributeValue") {
829
- return completeAttrValue(state, schema, tree, tree.name == "Is" ? pos : tree.from, pos);
830
- }
831
- else if (context.explicit && (around.name == "Element" || around.name == "Text" || around.name == "Document")) {
832
- return completeStartTag(state, schema, tree, pos);
833
- }
834
- else {
835
- return null;
836
- }
837
- }
838
- /**
839
- HTML tag completion. Opens and closes tags and attributes in a
840
- context-aware way.
841
- */
842
- function htmlCompletionSource(context) {
843
- return htmlCompletionFor(Schema.default, context);
844
- }
845
- /**
846
- Create a completion source for HTML extended with additional tags
847
- or attributes.
848
- */
849
- function htmlCompletionSourceWith(config) {
850
- let { extraTags, extraGlobalAttributes: extraAttrs } = config;
851
- let schema = extraAttrs || extraTags ? new Schema(extraTags, extraAttrs) : Schema.default;
852
- return (context) => htmlCompletionFor(schema, context);
853
- }
854
-
855
- const jsonParser = /*@__PURE__*/javascriptLanguage.parser.configure({ top: "SingleExpression" });
856
- const defaultNesting = [
857
- { tag: "script",
858
- attrs: attrs => attrs.type == "text/typescript" || attrs.lang == "ts",
859
- parser: typescriptLanguage.parser },
860
- { tag: "script",
861
- attrs: attrs => attrs.type == "text/babel" || attrs.type == "text/jsx",
862
- parser: jsxLanguage.parser },
863
- { tag: "script",
864
- attrs: attrs => attrs.type == "text/typescript-jsx",
865
- parser: tsxLanguage.parser },
866
- { tag: "script",
867
- attrs(attrs) {
868
- return /^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(attrs.type);
869
- },
870
- parser: jsonParser },
871
- { tag: "script",
872
- attrs(attrs) {
873
- return !attrs.type || /^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(attrs.type);
874
- },
875
- parser: javascriptLanguage.parser },
876
- { tag: "style",
877
- attrs(attrs) {
878
- return (!attrs.lang || attrs.lang == "css") && (!attrs.type || /^(text\/)?(x-)?(stylesheet|css)$/i.test(attrs.type));
879
- },
880
- parser: cssLanguage.parser }
881
- ];
882
- const defaultAttrs = /*@__PURE__*/[
883
- { name: "style",
884
- parser: /*@__PURE__*/cssLanguage.parser.configure({ top: "Styles" }) }
885
- ].concat(/*@__PURE__*/eventAttributes.map(name => ({ name, parser: javascriptLanguage.parser })));
886
- /**
887
- A language provider based on the [Lezer HTML
888
- parser](https://github.com/lezer-parser/html), extended with the
889
- JavaScript and CSS parsers to parse the content of `<script>` and
890
- `<style>` tags.
891
- */
892
- const htmlPlain = /*@__PURE__*/LRLanguage.define({
893
- name: "html",
894
- parser: /*@__PURE__*/parser.configure({
895
- props: [
896
- /*@__PURE__*/indentNodeProp.add({
897
- Element(context) {
898
- let after = /^(\s*)(<\/)?/.exec(context.textAfter);
899
- if (context.node.to <= context.pos + after[0].length)
900
- return context.continue();
901
- return context.lineIndent(context.node.from) + (after[2] ? 0 : context.unit);
902
- },
903
- "OpenTag CloseTag SelfClosingTag"(context) {
904
- return context.column(context.node.from) + context.unit;
905
- },
906
- Document(context) {
907
- if (context.pos + /\s*/.exec(context.textAfter)[0].length < context.node.to)
908
- return context.continue();
909
- let endElt = null, close;
910
- for (let cur = context.node;;) {
911
- let last = cur.lastChild;
912
- if (!last || last.name != "Element" || last.to != cur.to)
913
- break;
914
- endElt = cur = last;
915
- }
916
- if (endElt && !((close = endElt.lastChild) && (close.name == "CloseTag" || close.name == "SelfClosingTag")))
917
- return context.lineIndent(endElt.from) + context.unit;
918
- return null;
919
- }
920
- }),
921
- /*@__PURE__*/foldNodeProp.add({
922
- Element(node) {
923
- let first = node.firstChild, last = node.lastChild;
924
- if (!first || first.name != "OpenTag")
925
- return null;
926
- return { from: first.to, to: last.name == "CloseTag" ? last.from : node.to };
927
- }
928
- }),
929
- /*@__PURE__*/bracketMatchingHandle.add({
930
- "OpenTag CloseTag": node => node.getChild("TagName")
931
- })
932
- ]
933
- }),
934
- languageData: {
935
- commentTokens: { block: { open: "<!--", close: "-->" } },
936
- indentOnInput: /^\s*<\/\w+\W$/,
937
- wordChars: "-._"
938
- }
939
- });
940
- /**
941
- A language provider based on the [Lezer HTML
942
- parser](https://github.com/lezer-parser/html), extended with the
943
- JavaScript and CSS parsers to parse the content of `<script>` and
944
- `<style>` tags.
945
- */
946
- const htmlLanguage = /*@__PURE__*/htmlPlain.configure({
947
- wrap: /*@__PURE__*/configureNesting(defaultNesting, defaultAttrs)
948
- });
949
- /**
950
- Language support for HTML, including
951
- [`htmlCompletion`](https://codemirror.net/6/docs/ref/#lang-html.htmlCompletion) and JavaScript and
952
- CSS support extensions.
953
- */
954
- function html(config = {}) {
955
- let dialect = "", wrap;
956
- if (config.matchClosingTags === false)
957
- dialect = "noMatch";
958
- if (config.selfClosingTags === true)
959
- dialect = (dialect ? dialect + " " : "") + "selfClosing";
960
- if (config.nestedLanguages && config.nestedLanguages.length ||
961
- config.nestedAttributes && config.nestedAttributes.length)
962
- wrap = configureNesting((config.nestedLanguages || []).concat(defaultNesting), (config.nestedAttributes || []).concat(defaultAttrs));
963
- let lang = wrap ? htmlPlain.configure({ wrap, dialect }) : dialect ? htmlLanguage.configure({ dialect }) : htmlLanguage;
964
- return new LanguageSupport(lang, [
965
- htmlLanguage.data.of({ autocomplete: htmlCompletionSourceWith(config) }),
966
- config.autoCloseTags !== false ? autoCloseTags : [],
967
- javascript().support,
968
- css().support
969
- ]);
970
- }
971
- const selfClosers = /*@__PURE__*/new Set(/*@__PURE__*/"area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" "));
972
- /**
973
- Extension that will automatically insert close tags when a `>` or
974
- `/` is typed.
975
- */
976
- const autoCloseTags = /*@__PURE__*/EditorView.inputHandler.of((view, from, to, text, insertTransaction) => {
977
- if (view.composing || view.state.readOnly || from != to || (text != ">" && text != "/") ||
978
- !htmlLanguage.isActiveAt(view.state, from, -1))
979
- return false;
980
- let base = insertTransaction(), { state } = base;
981
- let closeTags = state.changeByRange(range => {
982
- var _a, _b, _c;
983
- let didType = state.doc.sliceString(range.from - 1, range.to) == text;
984
- let { head } = range, around = syntaxTree(state).resolveInner(head - 1, -1), name;
985
- if (around.name == "TagName" || around.name == "StartTag")
986
- around = around.parent;
987
- if (didType && text == ">" && around.name == "OpenTag") {
988
- if (((_b = (_a = around.parent) === null || _a === void 0 ? void 0 : _a.lastChild) === null || _b === void 0 ? void 0 : _b.name) != "CloseTag" &&
989
- (name = elementName(state.doc, around.parent, head)) &&
990
- !selfClosers.has(name)) {
991
- let to = head + (state.doc.sliceString(head, head + 1) === ">" ? 1 : 0);
992
- let insert = `</${name}>`;
993
- return { range, changes: { from: head, to, insert } };
994
- }
995
- }
996
- else if (didType && text == "/" && around.name == "IncompleteCloseTag") {
997
- let base = around.parent;
998
- if (around.from == head - 2 && ((_c = base.lastChild) === null || _c === void 0 ? void 0 : _c.name) != "CloseTag" &&
999
- (name = elementName(state.doc, base, head)) && !selfClosers.has(name)) {
1000
- let to = head + (state.doc.sliceString(head, head + 1) === ">" ? 1 : 0);
1001
- let insert = `${name}>`;
1002
- return {
1003
- range: EditorSelection.cursor(head + insert.length, -1),
1004
- changes: { from: head, to, insert }
1005
- };
1006
- }
1007
- }
1008
- return { range };
1009
- });
1010
- if (closeTags.changes.empty)
1011
- return false;
1012
- view.dispatch([
1013
- base,
1014
- state.update(closeTags, {
1015
- userEvent: "input.complete",
1016
- scrollIntoView: true
1017
- })
1018
- ]);
1019
- return true;
1020
- });
1021
-
1022
- export { autoCloseTags, html, htmlCompletionSource, htmlCompletionSourceWith, htmlLanguage, htmlPlain };
1023
- //# sourceMappingURL=index-wFIac5Kw.js.map