@cyfung1031/prism-code-editor 5.2.0-cdn-esm.0

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 (1861) hide show
  1. package/LICENSE +48 -0
  2. package/dist/atom-one-dark-WoPpRJvW.js.map +1 -0
  3. package/dist/atom-one-dark.js +6 -0
  4. package/dist/autocomplete-icons.css +1 -0
  5. package/dist/autocomplete.css +1 -0
  6. package/dist/basic-DwpT6yIa.js +33 -0
  7. package/dist/basic-DwpT6yIa.js.map +1 -0
  8. package/dist/bracket-CStGDfC7.js +8 -0
  9. package/dist/bracket-CStGDfC7.js.map +1 -0
  10. package/dist/client/code-block.d.ts +44 -0
  11. package/dist/client/code-block.js +254 -0
  12. package/dist/client/code-block.js.map +1 -0
  13. package/dist/client/hover.d.ts +54 -0
  14. package/dist/client/index.d.ts +14 -0
  15. package/dist/client/index.js +210 -0
  16. package/dist/client/index.js.map +1 -0
  17. package/dist/clike-class-CXD3NFPG.js +10 -0
  18. package/dist/clike-class-CXD3NFPG.js.map +1 -0
  19. package/dist/code-block.css +1 -0
  20. package/dist/commands-HRCav5fj.js +799 -0
  21. package/dist/commands-HRCav5fj.js.map +1 -0
  22. package/dist/copy.css +1 -0
  23. package/dist/core-DpDyJ-7r.js +163 -0
  24. package/dist/core-DpDyJ-7r.js.map +1 -0
  25. package/dist/core-fngiDtt5.js +228 -0
  26. package/dist/core-fngiDtt5.js.map +1 -0
  27. package/dist/core.d.ts +38 -0
  28. package/dist/cursor-7DP0p42U.js +80 -0
  29. package/dist/cursor-7DP0p42U.js.map +1 -0
  30. package/dist/cursor.css +1 -0
  31. package/dist/data-Be9fjVqf.js +984 -0
  32. package/dist/data-Be9fjVqf.js.map +1 -0
  33. package/dist/dracula-zKfxpQ6d.js.map +1 -0
  34. package/dist/dracula.js +6 -0
  35. package/dist/extensions/autocomplete/css/data.d.ts +6 -0
  36. package/dist/extensions/autocomplete/css/index.d.ts +15 -0
  37. package/dist/extensions/autocomplete/css/index.js +140 -0
  38. package/dist/extensions/autocomplete/css/index.js.map +1 -0
  39. package/dist/extensions/autocomplete/filter.d.ts +21 -0
  40. package/dist/extensions/autocomplete/index.d.ts +5 -0
  41. package/dist/extensions/autocomplete/index.js +59 -0
  42. package/dist/extensions/autocomplete/index.js.map +1 -0
  43. package/dist/extensions/autocomplete/javascript/index.d.ts +68 -0
  44. package/dist/extensions/autocomplete/javascript/index.js +1164 -0
  45. package/dist/extensions/autocomplete/javascript/index.js.map +1 -0
  46. package/dist/extensions/autocomplete/javascript/jsdoc.d.ts +4 -0
  47. package/dist/extensions/autocomplete/javascript/jsx.d.ts +10 -0
  48. package/dist/extensions/autocomplete/javascript/keywords.d.ts +7 -0
  49. package/dist/extensions/autocomplete/javascript/reactData.d.ts +4 -0
  50. package/dist/extensions/autocomplete/javascript/snippets.d.ts +3 -0
  51. package/dist/extensions/autocomplete/markup/data.d.ts +45 -0
  52. package/dist/extensions/autocomplete/markup/index.d.ts +35 -0
  53. package/dist/extensions/autocomplete/markup/index.js +3 -0
  54. package/dist/extensions/autocomplete/markup/mathData.d.ts +4 -0
  55. package/dist/extensions/autocomplete/markup/svgData.d.ts +4 -0
  56. package/dist/extensions/autocomplete/svelte/index.d.ts +14 -0
  57. package/dist/extensions/autocomplete/svelte/index.js +310 -0
  58. package/dist/extensions/autocomplete/svelte/index.js.map +1 -0
  59. package/dist/extensions/autocomplete/svelte/snippets.d.ts +3 -0
  60. package/dist/extensions/autocomplete/tooltip.d.ts +46 -0
  61. package/dist/extensions/autocomplete/types.d.ts +168 -0
  62. package/dist/extensions/autocomplete/utils.d.ts +40 -0
  63. package/dist/extensions/autocomplete/vue/index.d.ts +14 -0
  64. package/dist/extensions/autocomplete/vue/index.js +132 -0
  65. package/dist/extensions/autocomplete/vue/index.js.map +1 -0
  66. package/dist/extensions/commands/commands.d.ts +95 -0
  67. package/dist/extensions/commands/deprecated.d.ts +38 -0
  68. package/dist/extensions/commands/format.d.ts +55 -0
  69. package/dist/extensions/commands/index.d.ts +37 -0
  70. package/dist/extensions/commands/index.js +3 -0
  71. package/dist/extensions/commands/types.d.ts +53 -0
  72. package/dist/extensions/commands/utils.d.ts +91 -0
  73. package/dist/extensions/copyButton/index.d.ts +13 -0
  74. package/dist/extensions/copyButton/index.js +32 -0
  75. package/dist/extensions/copyButton/index.js.map +1 -0
  76. package/dist/extensions/cursor/custom.d.ts +15 -0
  77. package/dist/extensions/cursor/index.d.ts +4 -0
  78. package/dist/extensions/cursor/index.js +2 -0
  79. package/dist/extensions/cursor/position.d.ts +24 -0
  80. package/dist/extensions/folding/index.d.ts +63 -0
  81. package/dist/extensions/folding/index.js +241 -0
  82. package/dist/extensions/folding/index.js.map +1 -0
  83. package/dist/extensions/guides.d.ts +18 -0
  84. package/dist/extensions/guides.js +105 -0
  85. package/dist/extensions/guides.js.map +1 -0
  86. package/dist/extensions/matchBrackets/highlight.d.ts +10 -0
  87. package/dist/extensions/matchBrackets/highlight.js +52 -0
  88. package/dist/extensions/matchBrackets/highlight.js.map +1 -0
  89. package/dist/extensions/matchBrackets/index.d.ts +38 -0
  90. package/dist/extensions/matchBrackets/index.js +72 -0
  91. package/dist/extensions/matchBrackets/index.js.map +1 -0
  92. package/dist/extensions/matchTags.d.ts +47 -0
  93. package/dist/extensions/matchTags.js +133 -0
  94. package/dist/extensions/matchTags.js.map +1 -0
  95. package/dist/extensions/search/api.d.ts +4 -0
  96. package/dist/extensions/search/api.js +3 -0
  97. package/dist/extensions/search/index.d.ts +4 -0
  98. package/dist/extensions/search/index.js +243 -0
  99. package/dist/extensions/search/index.js.map +1 -0
  100. package/dist/extensions/search/invisibles.d.ts +9 -0
  101. package/dist/extensions/search/replace.d.ts +36 -0
  102. package/dist/extensions/search/search.d.ts +33 -0
  103. package/dist/extensions/search/selection.d.ts +50 -0
  104. package/dist/extensions/search/widget.d.ts +23 -0
  105. package/dist/folding.css +1 -0
  106. package/dist/github-dark-DAAU7q0X.js.map +1 -0
  107. package/dist/github-dark-dimmed-C7T3Cyau.js.map +1 -0
  108. package/dist/github-dark-dimmed.js +6 -0
  109. package/dist/github-dark.js +6 -0
  110. package/dist/github-light-BbUD-EcB.js.map +1 -0
  111. package/dist/github-light.js +6 -0
  112. package/dist/guides.css +1 -0
  113. package/dist/index.d.ts +2 -0
  114. package/dist/index.js +2 -0
  115. package/dist/invisibles.css +1 -0
  116. package/dist/jsx-shared-CZGNsLLj.js +96 -0
  117. package/dist/jsx-shared-CZGNsLLj.js.map +1 -0
  118. package/dist/language-CPVUjid6.js +34 -0
  119. package/dist/language-CPVUjid6.js.map +1 -0
  120. package/dist/languages/abap.d.ts +3 -0
  121. package/dist/languages/abap.js +7 -0
  122. package/dist/languages/abap.js.map +1 -0
  123. package/dist/languages/abnf.d.ts +3 -0
  124. package/dist/languages/abnf.js +8 -0
  125. package/dist/languages/abnf.js.map +1 -0
  126. package/dist/languages/actionscript.d.ts +3 -0
  127. package/dist/languages/actionscript.js +8 -0
  128. package/dist/languages/actionscript.js.map +1 -0
  129. package/dist/languages/ada.d.ts +3 -0
  130. package/dist/languages/ada.js +8 -0
  131. package/dist/languages/ada.js.map +1 -0
  132. package/dist/languages/agda.d.ts +3 -0
  133. package/dist/languages/agda.js +7 -0
  134. package/dist/languages/agda.js.map +1 -0
  135. package/dist/languages/al.d.ts +3 -0
  136. package/dist/languages/al.js +8 -0
  137. package/dist/languages/al.js.map +1 -0
  138. package/dist/languages/antlr4.d.ts +3 -0
  139. package/dist/languages/antlr4.js +8 -0
  140. package/dist/languages/antlr4.js.map +1 -0
  141. package/dist/languages/apacheconf.d.ts +3 -0
  142. package/dist/languages/apacheconf.js +15 -0
  143. package/dist/languages/apacheconf.js.map +1 -0
  144. package/dist/languages/apex.d.ts +3 -0
  145. package/dist/languages/apex.js +8 -0
  146. package/dist/languages/apex.js.map +1 -0
  147. package/dist/languages/apl.d.ts +3 -0
  148. package/dist/languages/apl.js +8 -0
  149. package/dist/languages/apl.js.map +1 -0
  150. package/dist/languages/applescript.d.ts +3 -0
  151. package/dist/languages/applescript.js +10 -0
  152. package/dist/languages/applescript.js.map +1 -0
  153. package/dist/languages/aql.d.ts +3 -0
  154. package/dist/languages/aql.js +8 -0
  155. package/dist/languages/aql.js.map +1 -0
  156. package/dist/languages/arduino.d.ts +3 -0
  157. package/dist/languages/arduino.js +8 -0
  158. package/dist/languages/arduino.js.map +1 -0
  159. package/dist/languages/arff.d.ts +3 -0
  160. package/dist/languages/arff.js +7 -0
  161. package/dist/languages/arff.js.map +1 -0
  162. package/dist/languages/arturo.d.ts +3 -0
  163. package/dist/languages/arturo.js +7 -0
  164. package/dist/languages/arturo.js.map +1 -0
  165. package/dist/languages/asciidoc.d.ts +3 -0
  166. package/dist/languages/asciidoc.js +7 -0
  167. package/dist/languages/asciidoc.js.map +1 -0
  168. package/dist/languages/asm.d.ts +3 -0
  169. package/dist/languages/asm.js +7 -0
  170. package/dist/languages/asm.js.map +1 -0
  171. package/dist/languages/aspnet.d.ts +3 -0
  172. package/dist/languages/aspnet.js +9 -0
  173. package/dist/languages/aspnet.js.map +1 -0
  174. package/dist/languages/astro.d.ts +3 -0
  175. package/dist/languages/astro.js +9 -0
  176. package/dist/languages/astro.js.map +1 -0
  177. package/dist/languages/autohotkey.d.ts +3 -0
  178. package/dist/languages/autohotkey.js +11 -0
  179. package/dist/languages/autohotkey.js.map +1 -0
  180. package/dist/languages/autoit.d.ts +3 -0
  181. package/dist/languages/autoit.js +10 -0
  182. package/dist/languages/autoit.js.map +1 -0
  183. package/dist/languages/avisynth.d.ts +3 -0
  184. package/dist/languages/avisynth.js +11 -0
  185. package/dist/languages/avisynth.js.map +1 -0
  186. package/dist/languages/avro-idl.d.ts +3 -0
  187. package/dist/languages/avro-idl.js +8 -0
  188. package/dist/languages/avro-idl.js.map +1 -0
  189. package/dist/languages/awk.d.ts +3 -0
  190. package/dist/languages/awk.js +8 -0
  191. package/dist/languages/awk.js.map +1 -0
  192. package/dist/languages/bash.d.ts +3 -0
  193. package/dist/languages/bash.js +8 -0
  194. package/dist/languages/bash.js.map +1 -0
  195. package/dist/languages/basic.d.ts +3 -0
  196. package/dist/languages/basic.js +7 -0
  197. package/dist/languages/basic.js.map +1 -0
  198. package/dist/languages/batch.d.ts +3 -0
  199. package/dist/languages/batch.js +7 -0
  200. package/dist/languages/batch.js.map +1 -0
  201. package/dist/languages/bbj.d.ts +3 -0
  202. package/dist/languages/bbj.js +7 -0
  203. package/dist/languages/bbj.js.map +1 -0
  204. package/dist/languages/bicep.d.ts +3 -0
  205. package/dist/languages/bicep.js +8 -0
  206. package/dist/languages/bicep.js.map +1 -0
  207. package/dist/languages/birb.d.ts +3 -0
  208. package/dist/languages/birb.js +8 -0
  209. package/dist/languages/birb.js.map +1 -0
  210. package/dist/languages/bison.d.ts +3 -0
  211. package/dist/languages/bison.js +8 -0
  212. package/dist/languages/bison.js.map +1 -0
  213. package/dist/languages/bqn.d.ts +3 -0
  214. package/dist/languages/bqn.js +8 -0
  215. package/dist/languages/bqn.js.map +1 -0
  216. package/dist/languages/brightscript.d.ts +3 -0
  217. package/dist/languages/brightscript.js +7 -0
  218. package/dist/languages/brightscript.js.map +1 -0
  219. package/dist/languages/bro.d.ts +3 -0
  220. package/dist/languages/bro.js +8 -0
  221. package/dist/languages/bro.js.map +1 -0
  222. package/dist/languages/bsl.d.ts +3 -0
  223. package/dist/languages/bsl.js +8 -0
  224. package/dist/languages/bsl.js.map +1 -0
  225. package/dist/languages/cfscript.d.ts +3 -0
  226. package/dist/languages/cfscript.js +8 -0
  227. package/dist/languages/cfscript.js.map +1 -0
  228. package/dist/languages/chaiscript.d.ts +3 -0
  229. package/dist/languages/chaiscript.js +8 -0
  230. package/dist/languages/chaiscript.js.map +1 -0
  231. package/dist/languages/cil.d.ts +3 -0
  232. package/dist/languages/cil.js +8 -0
  233. package/dist/languages/cil.js.map +1 -0
  234. package/dist/languages/cilk.d.ts +3 -0
  235. package/dist/languages/cilk.js +8 -0
  236. package/dist/languages/cilk.js.map +1 -0
  237. package/dist/languages/clike.d.ts +3 -0
  238. package/dist/languages/clike.js +8 -0
  239. package/dist/languages/clike.js.map +1 -0
  240. package/dist/languages/clojure.d.ts +3 -0
  241. package/dist/languages/clojure.js +8 -0
  242. package/dist/languages/clojure.js.map +1 -0
  243. package/dist/languages/cmake.d.ts +3 -0
  244. package/dist/languages/cmake.js +11 -0
  245. package/dist/languages/cmake.js.map +1 -0
  246. package/dist/languages/cobol.d.ts +3 -0
  247. package/dist/languages/cobol.js +7 -0
  248. package/dist/languages/cobol.js.map +1 -0
  249. package/dist/languages/coffeescript.d.ts +3 -0
  250. package/dist/languages/coffeescript.js +11 -0
  251. package/dist/languages/coffeescript.js.map +1 -0
  252. package/dist/languages/common.d.ts +3 -0
  253. package/dist/languages/common.js +28 -0
  254. package/dist/languages/concurnas.d.ts +3 -0
  255. package/dist/languages/concurnas.js +8 -0
  256. package/dist/languages/concurnas.js.map +1 -0
  257. package/dist/languages/cooklang.d.ts +3 -0
  258. package/dist/languages/cooklang.js +10 -0
  259. package/dist/languages/cooklang.js.map +1 -0
  260. package/dist/languages/coq.d.ts +3 -0
  261. package/dist/languages/coq.js +8 -0
  262. package/dist/languages/coq.js.map +1 -0
  263. package/dist/languages/cshtml.d.ts +3 -0
  264. package/dist/languages/cshtml.js +9 -0
  265. package/dist/languages/cshtml.js.map +1 -0
  266. package/dist/languages/css.d.ts +3 -0
  267. package/dist/languages/css.js +10 -0
  268. package/dist/languages/css.js.map +1 -0
  269. package/dist/languages/cue.d.ts +3 -0
  270. package/dist/languages/cue.js +8 -0
  271. package/dist/languages/cue.js.map +1 -0
  272. package/dist/languages/cypher.d.ts +3 -0
  273. package/dist/languages/cypher.js +8 -0
  274. package/dist/languages/cypher.js.map +1 -0
  275. package/dist/languages/dataweave.d.ts +3 -0
  276. package/dist/languages/dataweave.js +8 -0
  277. package/dist/languages/dataweave.js.map +1 -0
  278. package/dist/languages/dax.d.ts +3 -0
  279. package/dist/languages/dax.js +8 -0
  280. package/dist/languages/dax.js.map +1 -0
  281. package/dist/languages/dhall.d.ts +3 -0
  282. package/dist/languages/dhall.js +11 -0
  283. package/dist/languages/dhall.js.map +1 -0
  284. package/dist/languages/django.d.ts +3 -0
  285. package/dist/languages/django.js +8 -0
  286. package/dist/languages/django.js.map +1 -0
  287. package/dist/languages/dns-zone-file.d.ts +3 -0
  288. package/dist/languages/dns-zone-file.js +7 -0
  289. package/dist/languages/dns-zone-file.js.map +1 -0
  290. package/dist/languages/docker.d.ts +3 -0
  291. package/dist/languages/docker.js +7 -0
  292. package/dist/languages/docker.js.map +1 -0
  293. package/dist/languages/dot.d.ts +3 -0
  294. package/dist/languages/dot.js +8 -0
  295. package/dist/languages/dot.js.map +1 -0
  296. package/dist/languages/ebnf.d.ts +3 -0
  297. package/dist/languages/ebnf.js +8 -0
  298. package/dist/languages/ebnf.js.map +1 -0
  299. package/dist/languages/editorconfig.d.ts +3 -0
  300. package/dist/languages/editorconfig.js +7 -0
  301. package/dist/languages/editorconfig.js.map +1 -0
  302. package/dist/languages/eiffel.d.ts +3 -0
  303. package/dist/languages/eiffel.js +8 -0
  304. package/dist/languages/eiffel.js.map +1 -0
  305. package/dist/languages/ejs.d.ts +3 -0
  306. package/dist/languages/ejs.js +9 -0
  307. package/dist/languages/ejs.js.map +1 -0
  308. package/dist/languages/elixir.d.ts +3 -0
  309. package/dist/languages/elixir.js +7 -0
  310. package/dist/languages/elixir.js.map +1 -0
  311. package/dist/languages/elm.d.ts +3 -0
  312. package/dist/languages/elm.js +10 -0
  313. package/dist/languages/elm.js.map +1 -0
  314. package/dist/languages/erb.d.ts +3 -0
  315. package/dist/languages/erb.js +8 -0
  316. package/dist/languages/erb.js.map +1 -0
  317. package/dist/languages/erlang.d.ts +3 -0
  318. package/dist/languages/erlang.js +7 -0
  319. package/dist/languages/erlang.js.map +1 -0
  320. package/dist/languages/etlua.d.ts +3 -0
  321. package/dist/languages/etlua.js +8 -0
  322. package/dist/languages/etlua.js.map +1 -0
  323. package/dist/languages/excel-formula.d.ts +3 -0
  324. package/dist/languages/excel-formula.js +8 -0
  325. package/dist/languages/excel-formula.js.map +1 -0
  326. package/dist/languages/factor.d.ts +3 -0
  327. package/dist/languages/factor.js +11 -0
  328. package/dist/languages/factor.js.map +1 -0
  329. package/dist/languages/false.d.ts +3 -0
  330. package/dist/languages/false.js +7 -0
  331. package/dist/languages/false.js.map +1 -0
  332. package/dist/languages/firestore-security-rules.d.ts +3 -0
  333. package/dist/languages/firestore-security-rules.js +8 -0
  334. package/dist/languages/firestore-security-rules.js.map +1 -0
  335. package/dist/languages/fortran.d.ts +3 -0
  336. package/dist/languages/fortran.js +7 -0
  337. package/dist/languages/fortran.js.map +1 -0
  338. package/dist/languages/fsharp.d.ts +3 -0
  339. package/dist/languages/fsharp.js +11 -0
  340. package/dist/languages/fsharp.js.map +1 -0
  341. package/dist/languages/ftl.d.ts +3 -0
  342. package/dist/languages/ftl.js +8 -0
  343. package/dist/languages/ftl.js.map +1 -0
  344. package/dist/languages/gap.d.ts +3 -0
  345. package/dist/languages/gap.js +7 -0
  346. package/dist/languages/gap.js.map +1 -0
  347. package/dist/languages/gcode.d.ts +3 -0
  348. package/dist/languages/gcode.js +7 -0
  349. package/dist/languages/gcode.js.map +1 -0
  350. package/dist/languages/gdscript.d.ts +3 -0
  351. package/dist/languages/gdscript.js +8 -0
  352. package/dist/languages/gdscript.js.map +1 -0
  353. package/dist/languages/gettext.d.ts +3 -0
  354. package/dist/languages/gettext.js +7 -0
  355. package/dist/languages/gettext.js.map +1 -0
  356. package/dist/languages/gherkin.d.ts +3 -0
  357. package/dist/languages/gherkin.js +7 -0
  358. package/dist/languages/gherkin.js.map +1 -0
  359. package/dist/languages/git.d.ts +3 -0
  360. package/dist/languages/git.js +7 -0
  361. package/dist/languages/git.js.map +1 -0
  362. package/dist/languages/glsl.d.ts +3 -0
  363. package/dist/languages/glsl.js +8 -0
  364. package/dist/languages/glsl.js.map +1 -0
  365. package/dist/languages/gml.d.ts +3 -0
  366. package/dist/languages/gml.js +8 -0
  367. package/dist/languages/gml.js.map +1 -0
  368. package/dist/languages/gn.d.ts +3 -0
  369. package/dist/languages/gn.js +8 -0
  370. package/dist/languages/gn.js.map +1 -0
  371. package/dist/languages/go-module.d.ts +3 -0
  372. package/dist/languages/go-module.js +8 -0
  373. package/dist/languages/go-module.js.map +1 -0
  374. package/dist/languages/gradle.d.ts +3 -0
  375. package/dist/languages/gradle.js +8 -0
  376. package/dist/languages/gradle.js.map +1 -0
  377. package/dist/languages/graphql.d.ts +3 -0
  378. package/dist/languages/graphql.js +8 -0
  379. package/dist/languages/graphql.js.map +1 -0
  380. package/dist/languages/groovy.d.ts +3 -0
  381. package/dist/languages/groovy.js +8 -0
  382. package/dist/languages/groovy.js.map +1 -0
  383. package/dist/languages/haml.d.ts +3 -0
  384. package/dist/languages/haml.js +8 -0
  385. package/dist/languages/haml.js.map +1 -0
  386. package/dist/languages/handlebars.d.ts +3 -0
  387. package/dist/languages/handlebars.js +8 -0
  388. package/dist/languages/handlebars.js.map +1 -0
  389. package/dist/languages/haskell.d.ts +3 -0
  390. package/dist/languages/haskell.js +11 -0
  391. package/dist/languages/haskell.js.map +1 -0
  392. package/dist/languages/hcl.d.ts +3 -0
  393. package/dist/languages/hcl.js +11 -0
  394. package/dist/languages/hcl.js.map +1 -0
  395. package/dist/languages/hoon.d.ts +3 -0
  396. package/dist/languages/hoon.js +7 -0
  397. package/dist/languages/hoon.js.map +1 -0
  398. package/dist/languages/html.d.ts +3 -0
  399. package/dist/languages/html.js +9 -0
  400. package/dist/languages/html.js.map +1 -0
  401. package/dist/languages/ichigojam.d.ts +3 -0
  402. package/dist/languages/ichigojam.js +8 -0
  403. package/dist/languages/ichigojam.js.map +1 -0
  404. package/dist/languages/icon.d.ts +3 -0
  405. package/dist/languages/icon.js +8 -0
  406. package/dist/languages/icon.js.map +1 -0
  407. package/dist/languages/iecst.d.ts +3 -0
  408. package/dist/languages/iecst.js +11 -0
  409. package/dist/languages/iecst.js.map +1 -0
  410. package/dist/languages/ignore.d.ts +3 -0
  411. package/dist/languages/ignore.js +7 -0
  412. package/dist/languages/ignore.js.map +1 -0
  413. package/dist/languages/index.d.ts +3 -0
  414. package/dist/languages/index.js +239 -0
  415. package/dist/languages/inform7.d.ts +3 -0
  416. package/dist/languages/inform7.js +8 -0
  417. package/dist/languages/inform7.js.map +1 -0
  418. package/dist/languages/ini.d.ts +3 -0
  419. package/dist/languages/ini.js +7 -0
  420. package/dist/languages/ini.js.map +1 -0
  421. package/dist/languages/io.d.ts +3 -0
  422. package/dist/languages/io.js +8 -0
  423. package/dist/languages/io.js.map +1 -0
  424. package/dist/languages/j.d.ts +3 -0
  425. package/dist/languages/j.js +7 -0
  426. package/dist/languages/j.js.map +1 -0
  427. package/dist/languages/jolie.d.ts +3 -0
  428. package/dist/languages/jolie.js +8 -0
  429. package/dist/languages/jolie.js.map +1 -0
  430. package/dist/languages/jq.d.ts +3 -0
  431. package/dist/languages/jq.js +8 -0
  432. package/dist/languages/jq.js.map +1 -0
  433. package/dist/languages/json.d.ts +3 -0
  434. package/dist/languages/json.js +8 -0
  435. package/dist/languages/json.js.map +1 -0
  436. package/dist/languages/jsx.d.ts +3 -0
  437. package/dist/languages/jsx.js +31 -0
  438. package/dist/languages/jsx.js.map +1 -0
  439. package/dist/languages/julia.d.ts +3 -0
  440. package/dist/languages/julia.js +11 -0
  441. package/dist/languages/julia.js.map +1 -0
  442. package/dist/languages/keepalived.d.ts +3 -0
  443. package/dist/languages/keepalived.js +8 -0
  444. package/dist/languages/keepalived.js.map +1 -0
  445. package/dist/languages/keyman.d.ts +3 -0
  446. package/dist/languages/keyman.js +7 -0
  447. package/dist/languages/keyman.js.map +1 -0
  448. package/dist/languages/kotlin.d.ts +3 -0
  449. package/dist/languages/kotlin.js +8 -0
  450. package/dist/languages/kotlin.js.map +1 -0
  451. package/dist/languages/kumir.d.ts +3 -0
  452. package/dist/languages/kumir.js +8 -0
  453. package/dist/languages/kumir.js.map +1 -0
  454. package/dist/languages/kusto.d.ts +3 -0
  455. package/dist/languages/kusto.js +8 -0
  456. package/dist/languages/kusto.js.map +1 -0
  457. package/dist/languages/latex.d.ts +3 -0
  458. package/dist/languages/latex.js +8 -0
  459. package/dist/languages/latex.js.map +1 -0
  460. package/dist/languages/latte.d.ts +3 -0
  461. package/dist/languages/latte.js +8 -0
  462. package/dist/languages/latte.js.map +1 -0
  463. package/dist/languages/lilypond.d.ts +3 -0
  464. package/dist/languages/lilypond.js +11 -0
  465. package/dist/languages/lilypond.js.map +1 -0
  466. package/dist/languages/linker-script.d.ts +3 -0
  467. package/dist/languages/linker-script.js +8 -0
  468. package/dist/languages/linker-script.js.map +1 -0
  469. package/dist/languages/liquid.d.ts +3 -0
  470. package/dist/languages/liquid.js +8 -0
  471. package/dist/languages/liquid.js.map +1 -0
  472. package/dist/languages/lisp.d.ts +3 -0
  473. package/dist/languages/lisp.js +8 -0
  474. package/dist/languages/lisp.js.map +1 -0
  475. package/dist/languages/livescript.d.ts +3 -0
  476. package/dist/languages/livescript.js +11 -0
  477. package/dist/languages/livescript.js.map +1 -0
  478. package/dist/languages/llvm.d.ts +3 -0
  479. package/dist/languages/llvm.js +8 -0
  480. package/dist/languages/llvm.js.map +1 -0
  481. package/dist/languages/lolcode.d.ts +3 -0
  482. package/dist/languages/lolcode.js +10 -0
  483. package/dist/languages/lolcode.js.map +1 -0
  484. package/dist/languages/lua.d.ts +3 -0
  485. package/dist/languages/lua.js +11 -0
  486. package/dist/languages/lua.js.map +1 -0
  487. package/dist/languages/magma.d.ts +3 -0
  488. package/dist/languages/magma.js +8 -0
  489. package/dist/languages/magma.js.map +1 -0
  490. package/dist/languages/makefile.d.ts +3 -0
  491. package/dist/languages/makefile.js +7 -0
  492. package/dist/languages/makefile.js.map +1 -0
  493. package/dist/languages/mata.d.ts +3 -0
  494. package/dist/languages/mata.js +8 -0
  495. package/dist/languages/mata.js.map +1 -0
  496. package/dist/languages/matlab.d.ts +3 -0
  497. package/dist/languages/matlab.js +11 -0
  498. package/dist/languages/matlab.js.map +1 -0
  499. package/dist/languages/maxscript.d.ts +3 -0
  500. package/dist/languages/maxscript.js +11 -0
  501. package/dist/languages/maxscript.js.map +1 -0
  502. package/dist/languages/mel.d.ts +3 -0
  503. package/dist/languages/mel.js +8 -0
  504. package/dist/languages/mel.js.map +1 -0
  505. package/dist/languages/mermaid.d.ts +3 -0
  506. package/dist/languages/mermaid.js +8 -0
  507. package/dist/languages/mermaid.js.map +1 -0
  508. package/dist/languages/metafont.d.ts +3 -0
  509. package/dist/languages/metafont.js +8 -0
  510. package/dist/languages/metafont.js.map +1 -0
  511. package/dist/languages/mizar.d.ts +3 -0
  512. package/dist/languages/mizar.js +8 -0
  513. package/dist/languages/mizar.js.map +1 -0
  514. package/dist/languages/mongodb.d.ts +3 -0
  515. package/dist/languages/mongodb.js +8 -0
  516. package/dist/languages/mongodb.js.map +1 -0
  517. package/dist/languages/monkey.d.ts +3 -0
  518. package/dist/languages/monkey.js +8 -0
  519. package/dist/languages/monkey.js.map +1 -0
  520. package/dist/languages/moonscript.d.ts +3 -0
  521. package/dist/languages/moonscript.js +8 -0
  522. package/dist/languages/moonscript.js.map +1 -0
  523. package/dist/languages/n1ql.d.ts +3 -0
  524. package/dist/languages/n1ql.js +11 -0
  525. package/dist/languages/n1ql.js.map +1 -0
  526. package/dist/languages/n4js.d.ts +3 -0
  527. package/dist/languages/n4js.js +8 -0
  528. package/dist/languages/n4js.js.map +1 -0
  529. package/dist/languages/nand2tetris-hdl.d.ts +3 -0
  530. package/dist/languages/nand2tetris-hdl.js +8 -0
  531. package/dist/languages/nand2tetris-hdl.js.map +1 -0
  532. package/dist/languages/naniscript.d.ts +3 -0
  533. package/dist/languages/naniscript.js +8 -0
  534. package/dist/languages/naniscript.js.map +1 -0
  535. package/dist/languages/neon.d.ts +3 -0
  536. package/dist/languages/neon.js +8 -0
  537. package/dist/languages/neon.js.map +1 -0
  538. package/dist/languages/nevod.d.ts +3 -0
  539. package/dist/languages/nevod.js +8 -0
  540. package/dist/languages/nevod.js.map +1 -0
  541. package/dist/languages/nginx.d.ts +3 -0
  542. package/dist/languages/nginx.js +8 -0
  543. package/dist/languages/nginx.js.map +1 -0
  544. package/dist/languages/nim.d.ts +3 -0
  545. package/dist/languages/nim.js +8 -0
  546. package/dist/languages/nim.js.map +1 -0
  547. package/dist/languages/nix.d.ts +3 -0
  548. package/dist/languages/nix.js +11 -0
  549. package/dist/languages/nix.js.map +1 -0
  550. package/dist/languages/nsis.d.ts +3 -0
  551. package/dist/languages/nsis.js +11 -0
  552. package/dist/languages/nsis.js.map +1 -0
  553. package/dist/languages/objectivec.d.ts +3 -0
  554. package/dist/languages/objectivec.js +8 -0
  555. package/dist/languages/objectivec.js.map +1 -0
  556. package/dist/languages/ocaml.d.ts +3 -0
  557. package/dist/languages/ocaml.js +8 -0
  558. package/dist/languages/ocaml.js.map +1 -0
  559. package/dist/languages/odin.d.ts +3 -0
  560. package/dist/languages/odin.js +8 -0
  561. package/dist/languages/odin.js.map +1 -0
  562. package/dist/languages/opencl.d.ts +3 -0
  563. package/dist/languages/opencl.js +8 -0
  564. package/dist/languages/opencl.js.map +1 -0
  565. package/dist/languages/openqasm.d.ts +3 -0
  566. package/dist/languages/openqasm.js +8 -0
  567. package/dist/languages/openqasm.js.map +1 -0
  568. package/dist/languages/oz.d.ts +3 -0
  569. package/dist/languages/oz.js +11 -0
  570. package/dist/languages/oz.js.map +1 -0
  571. package/dist/languages/parigp.d.ts +3 -0
  572. package/dist/languages/parigp.js +11 -0
  573. package/dist/languages/parigp.js.map +1 -0
  574. package/dist/languages/parser.d.ts +3 -0
  575. package/dist/languages/parser.js +12 -0
  576. package/dist/languages/parser.js.map +1 -0
  577. package/dist/languages/pascal.d.ts +3 -0
  578. package/dist/languages/pascal.js +11 -0
  579. package/dist/languages/pascal.js.map +1 -0
  580. package/dist/languages/peoplecode.d.ts +3 -0
  581. package/dist/languages/peoplecode.js +7 -0
  582. package/dist/languages/peoplecode.js.map +1 -0
  583. package/dist/languages/perl.d.ts +3 -0
  584. package/dist/languages/perl.js +8 -0
  585. package/dist/languages/perl.js.map +1 -0
  586. package/dist/languages/php.d.ts +3 -0
  587. package/dist/languages/php.js +19 -0
  588. package/dist/languages/php.js.map +1 -0
  589. package/dist/languages/plant-uml.d.ts +3 -0
  590. package/dist/languages/plant-uml.js +11 -0
  591. package/dist/languages/plant-uml.js.map +1 -0
  592. package/dist/languages/powerquery.d.ts +3 -0
  593. package/dist/languages/powerquery.js +8 -0
  594. package/dist/languages/powerquery.js.map +1 -0
  595. package/dist/languages/powershell.d.ts +3 -0
  596. package/dist/languages/powershell.js +11 -0
  597. package/dist/languages/powershell.js.map +1 -0
  598. package/dist/languages/processing.d.ts +3 -0
  599. package/dist/languages/processing.js +8 -0
  600. package/dist/languages/processing.js.map +1 -0
  601. package/dist/languages/prolog.d.ts +3 -0
  602. package/dist/languages/prolog.js +11 -0
  603. package/dist/languages/prolog.js.map +1 -0
  604. package/dist/languages/promql.d.ts +3 -0
  605. package/dist/languages/promql.js +8 -0
  606. package/dist/languages/promql.js.map +1 -0
  607. package/dist/languages/properties.d.ts +3 -0
  608. package/dist/languages/properties.js +7 -0
  609. package/dist/languages/properties.js.map +1 -0
  610. package/dist/languages/protobuf.d.ts +3 -0
  611. package/dist/languages/protobuf.js +8 -0
  612. package/dist/languages/protobuf.js.map +1 -0
  613. package/dist/languages/psl.d.ts +3 -0
  614. package/dist/languages/psl.js +8 -0
  615. package/dist/languages/psl.js.map +1 -0
  616. package/dist/languages/pug.d.ts +3 -0
  617. package/dist/languages/pug.js +8 -0
  618. package/dist/languages/pug.js.map +1 -0
  619. package/dist/languages/puppet.d.ts +3 -0
  620. package/dist/languages/puppet.js +11 -0
  621. package/dist/languages/puppet.js.map +1 -0
  622. package/dist/languages/pure.d.ts +3 -0
  623. package/dist/languages/pure.js +8 -0
  624. package/dist/languages/pure.js.map +1 -0
  625. package/dist/languages/purebasic.d.ts +3 -0
  626. package/dist/languages/purebasic.js +8 -0
  627. package/dist/languages/purebasic.js.map +1 -0
  628. package/dist/languages/python.d.ts +3 -0
  629. package/dist/languages/python.js +8 -0
  630. package/dist/languages/python.js.map +1 -0
  631. package/dist/languages/q.d.ts +3 -0
  632. package/dist/languages/q.js +8 -0
  633. package/dist/languages/q.js.map +1 -0
  634. package/dist/languages/qml.d.ts +3 -0
  635. package/dist/languages/qml.js +8 -0
  636. package/dist/languages/qml.js.map +1 -0
  637. package/dist/languages/qore.d.ts +3 -0
  638. package/dist/languages/qore.js +8 -0
  639. package/dist/languages/qore.js.map +1 -0
  640. package/dist/languages/qsharp.d.ts +3 -0
  641. package/dist/languages/qsharp.js +8 -0
  642. package/dist/languages/qsharp.js.map +1 -0
  643. package/dist/languages/r.d.ts +3 -0
  644. package/dist/languages/r.js +8 -0
  645. package/dist/languages/r.js.map +1 -0
  646. package/dist/languages/reason.d.ts +3 -0
  647. package/dist/languages/reason.js +8 -0
  648. package/dist/languages/reason.js.map +1 -0
  649. package/dist/languages/rego.d.ts +3 -0
  650. package/dist/languages/rego.js +8 -0
  651. package/dist/languages/rego.js.map +1 -0
  652. package/dist/languages/rescript.d.ts +3 -0
  653. package/dist/languages/rescript.js +8 -0
  654. package/dist/languages/rescript.js.map +1 -0
  655. package/dist/languages/rest.d.ts +3 -0
  656. package/dist/languages/rest.js +7 -0
  657. package/dist/languages/rest.js.map +1 -0
  658. package/dist/languages/rip.d.ts +3 -0
  659. package/dist/languages/rip.js +8 -0
  660. package/dist/languages/rip.js.map +1 -0
  661. package/dist/languages/roboconf.d.ts +3 -0
  662. package/dist/languages/roboconf.js +8 -0
  663. package/dist/languages/roboconf.js.map +1 -0
  664. package/dist/languages/robotframework.d.ts +3 -0
  665. package/dist/languages/robotframework.js +7 -0
  666. package/dist/languages/robotframework.js.map +1 -0
  667. package/dist/languages/ruby.d.ts +3 -0
  668. package/dist/languages/ruby.js +11 -0
  669. package/dist/languages/ruby.js.map +1 -0
  670. package/dist/languages/rust.d.ts +3 -0
  671. package/dist/languages/rust.js +8 -0
  672. package/dist/languages/rust.js.map +1 -0
  673. package/dist/languages/sas.d.ts +3 -0
  674. package/dist/languages/sas.js +8 -0
  675. package/dist/languages/sas.js.map +1 -0
  676. package/dist/languages/scala.d.ts +3 -0
  677. package/dist/languages/scala.js +8 -0
  678. package/dist/languages/scala.js.map +1 -0
  679. package/dist/languages/scheme.d.ts +3 -0
  680. package/dist/languages/scheme.js +11 -0
  681. package/dist/languages/scheme.js.map +1 -0
  682. package/dist/languages/smali.d.ts +3 -0
  683. package/dist/languages/smali.js +7 -0
  684. package/dist/languages/smali.js.map +1 -0
  685. package/dist/languages/smalltalk.d.ts +3 -0
  686. package/dist/languages/smalltalk.js +8 -0
  687. package/dist/languages/smalltalk.js.map +1 -0
  688. package/dist/languages/smarty.d.ts +3 -0
  689. package/dist/languages/smarty.js +8 -0
  690. package/dist/languages/smarty.js.map +1 -0
  691. package/dist/languages/sml.d.ts +3 -0
  692. package/dist/languages/sml.js +8 -0
  693. package/dist/languages/sml.js.map +1 -0
  694. package/dist/languages/solidity.d.ts +3 -0
  695. package/dist/languages/solidity.js +8 -0
  696. package/dist/languages/solidity.js.map +1 -0
  697. package/dist/languages/solution-file.d.ts +3 -0
  698. package/dist/languages/solution-file.js +7 -0
  699. package/dist/languages/solution-file.js.map +1 -0
  700. package/dist/languages/soy.d.ts +3 -0
  701. package/dist/languages/soy.js +8 -0
  702. package/dist/languages/soy.js.map +1 -0
  703. package/dist/languages/splunk-spl.d.ts +3 -0
  704. package/dist/languages/splunk-spl.js +8 -0
  705. package/dist/languages/splunk-spl.js.map +1 -0
  706. package/dist/languages/sqf.d.ts +3 -0
  707. package/dist/languages/sqf.js +8 -0
  708. package/dist/languages/sqf.js.map +1 -0
  709. package/dist/languages/sql.d.ts +3 -0
  710. package/dist/languages/sql.js +11 -0
  711. package/dist/languages/sql.js.map +1 -0
  712. package/dist/languages/squirrel.d.ts +3 -0
  713. package/dist/languages/squirrel.js +8 -0
  714. package/dist/languages/squirrel.js.map +1 -0
  715. package/dist/languages/stan.d.ts +3 -0
  716. package/dist/languages/stan.js +8 -0
  717. package/dist/languages/stan.js.map +1 -0
  718. package/dist/languages/stata.d.ts +3 -0
  719. package/dist/languages/stata.js +8 -0
  720. package/dist/languages/stata.js.map +1 -0
  721. package/dist/languages/stylus.d.ts +3 -0
  722. package/dist/languages/stylus.js +8 -0
  723. package/dist/languages/stylus.js.map +1 -0
  724. package/dist/languages/supercollider.d.ts +3 -0
  725. package/dist/languages/supercollider.js +8 -0
  726. package/dist/languages/supercollider.js.map +1 -0
  727. package/dist/languages/svelte.d.ts +3 -0
  728. package/dist/languages/svelte.js +9 -0
  729. package/dist/languages/svelte.js.map +1 -0
  730. package/dist/languages/swift.d.ts +3 -0
  731. package/dist/languages/swift.js +8 -0
  732. package/dist/languages/swift.js.map +1 -0
  733. package/dist/languages/systemd.d.ts +3 -0
  734. package/dist/languages/systemd.js +7 -0
  735. package/dist/languages/systemd.js.map +1 -0
  736. package/dist/languages/tcl.d.ts +3 -0
  737. package/dist/languages/tcl.js +8 -0
  738. package/dist/languages/tcl.js.map +1 -0
  739. package/dist/languages/textile.d.ts +3 -0
  740. package/dist/languages/textile.js +9 -0
  741. package/dist/languages/textile.js.map +1 -0
  742. package/dist/languages/toml.d.ts +3 -0
  743. package/dist/languages/toml.js +8 -0
  744. package/dist/languages/toml.js.map +1 -0
  745. package/dist/languages/tremor.d.ts +3 -0
  746. package/dist/languages/tremor.js +7 -0
  747. package/dist/languages/tremor.js.map +1 -0
  748. package/dist/languages/tt2.d.ts +3 -0
  749. package/dist/languages/tt2.js +12 -0
  750. package/dist/languages/tt2.js.map +1 -0
  751. package/dist/languages/turtle.d.ts +3 -0
  752. package/dist/languages/turtle.js +8 -0
  753. package/dist/languages/turtle.js.map +1 -0
  754. package/dist/languages/twig.d.ts +3 -0
  755. package/dist/languages/twig.js +8 -0
  756. package/dist/languages/twig.js.map +1 -0
  757. package/dist/languages/typoscript.d.ts +3 -0
  758. package/dist/languages/typoscript.js +8 -0
  759. package/dist/languages/typoscript.js.map +1 -0
  760. package/dist/languages/unrealscript.d.ts +3 -0
  761. package/dist/languages/unrealscript.js +8 -0
  762. package/dist/languages/unrealscript.js.map +1 -0
  763. package/dist/languages/uorazor.d.ts +3 -0
  764. package/dist/languages/uorazor.js +7 -0
  765. package/dist/languages/uorazor.js.map +1 -0
  766. package/dist/languages/v.d.ts +3 -0
  767. package/dist/languages/v.js +8 -0
  768. package/dist/languages/v.js.map +1 -0
  769. package/dist/languages/vala.d.ts +3 -0
  770. package/dist/languages/vala.js +8 -0
  771. package/dist/languages/vala.js.map +1 -0
  772. package/dist/languages/vbnet.d.ts +3 -0
  773. package/dist/languages/vbnet.js +7 -0
  774. package/dist/languages/vbnet.js.map +1 -0
  775. package/dist/languages/velocity.d.ts +3 -0
  776. package/dist/languages/velocity.js +12 -0
  777. package/dist/languages/velocity.js.map +1 -0
  778. package/dist/languages/verilog.d.ts +3 -0
  779. package/dist/languages/verilog.js +8 -0
  780. package/dist/languages/verilog.js.map +1 -0
  781. package/dist/languages/vhdl.d.ts +3 -0
  782. package/dist/languages/vhdl.js +8 -0
  783. package/dist/languages/vhdl.js.map +1 -0
  784. package/dist/languages/vim.d.ts +3 -0
  785. package/dist/languages/vim.js +8 -0
  786. package/dist/languages/vim.js.map +1 -0
  787. package/dist/languages/visual-basic.d.ts +3 -0
  788. package/dist/languages/visual-basic.js +8 -0
  789. package/dist/languages/visual-basic.js.map +1 -0
  790. package/dist/languages/vue.d.ts +3 -0
  791. package/dist/languages/vue.js +9 -0
  792. package/dist/languages/vue.js.map +1 -0
  793. package/dist/languages/warpscript.d.ts +3 -0
  794. package/dist/languages/warpscript.js +8 -0
  795. package/dist/languages/warpscript.js.map +1 -0
  796. package/dist/languages/wasm.d.ts +3 -0
  797. package/dist/languages/wasm.js +10 -0
  798. package/dist/languages/wasm.js.map +1 -0
  799. package/dist/languages/web-idl.d.ts +3 -0
  800. package/dist/languages/web-idl.js +8 -0
  801. package/dist/languages/web-idl.js.map +1 -0
  802. package/dist/languages/wgsl.d.ts +3 -0
  803. package/dist/languages/wgsl.js +8 -0
  804. package/dist/languages/wgsl.js.map +1 -0
  805. package/dist/languages/wiki.d.ts +3 -0
  806. package/dist/languages/wiki.js +9 -0
  807. package/dist/languages/wiki.js.map +1 -0
  808. package/dist/languages/wolfram.d.ts +3 -0
  809. package/dist/languages/wolfram.js +8 -0
  810. package/dist/languages/wolfram.js.map +1 -0
  811. package/dist/languages/wren.d.ts +3 -0
  812. package/dist/languages/wren.js +8 -0
  813. package/dist/languages/wren.js.map +1 -0
  814. package/dist/languages/xeora.d.ts +3 -0
  815. package/dist/languages/xeora.js +8 -0
  816. package/dist/languages/xeora.js.map +1 -0
  817. package/dist/languages/xml.d.ts +3 -0
  818. package/dist/languages/xml.js +8 -0
  819. package/dist/languages/xml.js.map +1 -0
  820. package/dist/languages/xojo.d.ts +3 -0
  821. package/dist/languages/xojo.js +7 -0
  822. package/dist/languages/xojo.js.map +1 -0
  823. package/dist/languages/xquery.d.ts +3 -0
  824. package/dist/languages/xquery.js +11 -0
  825. package/dist/languages/xquery.js.map +1 -0
  826. package/dist/languages/yaml.d.ts +3 -0
  827. package/dist/languages/yaml.js +8 -0
  828. package/dist/languages/yaml.js.map +1 -0
  829. package/dist/languages/yang.d.ts +3 -0
  830. package/dist/languages/yang.js +8 -0
  831. package/dist/languages/yang.js.map +1 -0
  832. package/dist/languages/zig.d.ts +3 -0
  833. package/dist/languages/zig.js +8 -0
  834. package/dist/languages/zig.js.map +1 -0
  835. package/dist/layout.css +1 -0
  836. package/dist/markup-BuUgjal3.js +888 -0
  837. package/dist/markup-BuUgjal3.js.map +1 -0
  838. package/dist/markup-shared-51-ECHbZ.js +57 -0
  839. package/dist/markup-shared-51-ECHbZ.js.map +1 -0
  840. package/dist/night-owl-B_W94gui.js.map +1 -0
  841. package/dist/night-owl-light-BNi30pei.js.map +1 -0
  842. package/dist/night-owl-light.js +6 -0
  843. package/dist/night-owl.js +6 -0
  844. package/dist/patterns-DSInPV_c.js +11 -0
  845. package/dist/patterns-DSInPV_c.js.map +1 -0
  846. package/dist/prism/core.d.ts +143 -0
  847. package/dist/prism/index.d.ts +2 -0
  848. package/dist/prism/index.js +2 -0
  849. package/dist/prism/languages/abap.d.ts +3 -0
  850. package/dist/prism/languages/abap.js +39 -0
  851. package/dist/prism/languages/abap.js.map +1 -0
  852. package/dist/prism/languages/abnf.d.ts +3 -0
  853. package/dist/prism/languages/abnf.js +46 -0
  854. package/dist/prism/languages/abnf.js.map +1 -0
  855. package/dist/prism/languages/actionscript.d.ts +3 -0
  856. package/dist/prism/languages/actionscript.js +17 -0
  857. package/dist/prism/languages/actionscript.js.map +1 -0
  858. package/dist/prism/languages/ada.d.ts +3 -0
  859. package/dist/prism/languages/ada.js +21 -0
  860. package/dist/prism/languages/ada.js.map +1 -0
  861. package/dist/prism/languages/agda.d.ts +3 -0
  862. package/dist/prism/languages/agda.js +24 -0
  863. package/dist/prism/languages/agda.js.map +1 -0
  864. package/dist/prism/languages/al.d.ts +3 -0
  865. package/dist/prism/languages/al.js +22 -0
  866. package/dist/prism/languages/al.js.map +1 -0
  867. package/dist/prism/languages/antlr4.d.ts +3 -0
  868. package/dist/prism/languages/antlr4.js +58 -0
  869. package/dist/prism/languages/antlr4.js.map +1 -0
  870. package/dist/prism/languages/apacheconf.d.ts +3 -0
  871. package/dist/prism/languages/apacheconf.js +47 -0
  872. package/dist/prism/languages/apacheconf.js.map +1 -0
  873. package/dist/prism/languages/apex.d.ts +3 -0
  874. package/dist/prism/languages/apex.js +58 -0
  875. package/dist/prism/languages/apex.js.map +1 -0
  876. package/dist/prism/languages/apl.d.ts +3 -0
  877. package/dist/prism/languages/apl.js +35 -0
  878. package/dist/prism/languages/apl.js.map +1 -0
  879. package/dist/prism/languages/applescript.d.ts +3 -0
  880. package/dist/prism/languages/applescript.js +15 -0
  881. package/dist/prism/languages/applescript.js.map +1 -0
  882. package/dist/prism/languages/aql.d.ts +3 -0
  883. package/dist/prism/languages/aql.js +46 -0
  884. package/dist/prism/languages/aql.js.map +1 -0
  885. package/dist/prism/languages/arduino.d.ts +3 -0
  886. package/dist/prism/languages/arduino.js +13 -0
  887. package/dist/prism/languages/arduino.js.map +1 -0
  888. package/dist/prism/languages/arff.d.ts +3 -0
  889. package/dist/prism/languages/arff.js +13 -0
  890. package/dist/prism/languages/arff.js.map +1 -0
  891. package/dist/prism/languages/armasm.d.ts +3 -0
  892. package/dist/prism/languages/armasm.js +39 -0
  893. package/dist/prism/languages/armasm.js.map +1 -0
  894. package/dist/prism/languages/arturo.d.ts +3 -0
  895. package/dist/prism/languages/arturo.js +69 -0
  896. package/dist/prism/languages/arturo.js.map +1 -0
  897. package/dist/prism/languages/asciidoc.d.ts +3 -0
  898. package/dist/prism/languages/asciidoc.js +164 -0
  899. package/dist/prism/languages/asciidoc.js.map +1 -0
  900. package/dist/prism/languages/asm6502.d.ts +3 -0
  901. package/dist/prism/languages/asm6502.js +36 -0
  902. package/dist/prism/languages/asm6502.js.map +1 -0
  903. package/dist/prism/languages/asmatmel.d.ts +3 -0
  904. package/dist/prism/languages/asmatmel.js +42 -0
  905. package/dist/prism/languages/asmatmel.js.map +1 -0
  906. package/dist/prism/languages/aspnet.d.ts +3 -0
  907. package/dist/prism/languages/aspnet.js +46 -0
  908. package/dist/prism/languages/aspnet.js.map +1 -0
  909. package/dist/prism/languages/astro.d.ts +3 -0
  910. package/dist/prism/languages/astro.js +38 -0
  911. package/dist/prism/languages/astro.js.map +1 -0
  912. package/dist/prism/languages/autohotkey.d.ts +3 -0
  913. package/dist/prism/languages/autohotkey.js +39 -0
  914. package/dist/prism/languages/autohotkey.js.map +1 -0
  915. package/dist/prism/languages/autoit.d.ts +3 -0
  916. package/dist/prism/languages/autoit.js +32 -0
  917. package/dist/prism/languages/autoit.js.map +1 -0
  918. package/dist/prism/languages/avisynth.d.ts +3 -0
  919. package/dist/prism/languages/avisynth.js +55 -0
  920. package/dist/prism/languages/avisynth.js.map +1 -0
  921. package/dist/prism/languages/avro-idl.d.ts +3 -0
  922. package/dist/prism/languages/avro-idl.js +35 -0
  923. package/dist/prism/languages/avro-idl.js.map +1 -0
  924. package/dist/prism/languages/awk.d.ts +3 -0
  925. package/dist/prism/languages/awk.js +27 -0
  926. package/dist/prism/languages/awk.js.map +1 -0
  927. package/dist/prism/languages/bash.d.ts +3 -0
  928. package/dist/prism/languages/bash.js +170 -0
  929. package/dist/prism/languages/bash.js.map +1 -0
  930. package/dist/prism/languages/basic.d.ts +3 -0
  931. package/dist/prism/languages/basic.js +18 -0
  932. package/dist/prism/languages/basic.js.map +1 -0
  933. package/dist/prism/languages/batch.d.ts +3 -0
  934. package/dist/prism/languages/batch.js +87 -0
  935. package/dist/prism/languages/batch.js.map +1 -0
  936. package/dist/prism/languages/bbcode.d.ts +3 -0
  937. package/dist/prism/languages/bbcode.js +20 -0
  938. package/dist/prism/languages/bbcode.js.map +1 -0
  939. package/dist/prism/languages/bbj.d.ts +3 -0
  940. package/dist/prism/languages/bbj.js +19 -0
  941. package/dist/prism/languages/bbj.js.map +1 -0
  942. package/dist/prism/languages/bicep.d.ts +3 -0
  943. package/dist/prism/languages/bicep.js +47 -0
  944. package/dist/prism/languages/bicep.js.map +1 -0
  945. package/dist/prism/languages/birb.d.ts +3 -0
  946. package/dist/prism/languages/birb.js +23 -0
  947. package/dist/prism/languages/birb.js.map +1 -0
  948. package/dist/prism/languages/bison.d.ts +3 -0
  949. package/dist/prism/languages/bison.js +37 -0
  950. package/dist/prism/languages/bison.js.map +1 -0
  951. package/dist/prism/languages/bnf.d.ts +3 -0
  952. package/dist/prism/languages/bnf.js +19 -0
  953. package/dist/prism/languages/bnf.js.map +1 -0
  954. package/dist/prism/languages/bqn.d.ts +3 -0
  955. package/dist/prism/languages/bqn.js +63 -0
  956. package/dist/prism/languages/bqn.js.map +1 -0
  957. package/dist/prism/languages/brainfuck.d.ts +3 -0
  958. package/dist/prism/languages/brainfuck.js +26 -0
  959. package/dist/prism/languages/brainfuck.js.map +1 -0
  960. package/dist/prism/languages/brightscript.d.ts +3 -0
  961. package/dist/prism/languages/brightscript.js +43 -0
  962. package/dist/prism/languages/brightscript.js.map +1 -0
  963. package/dist/prism/languages/bro.d.ts +3 -0
  964. package/dist/prism/languages/bro.js +29 -0
  965. package/dist/prism/languages/bro.js.map +1 -0
  966. package/dist/prism/languages/bsl.d.ts +3 -0
  967. package/dist/prism/languages/bsl.js +30 -0
  968. package/dist/prism/languages/bsl.js.map +1 -0
  969. package/dist/prism/languages/c.d.ts +3 -0
  970. package/dist/prism/languages/c.js +55 -0
  971. package/dist/prism/languages/c.js.map +1 -0
  972. package/dist/prism/languages/cfscript.d.ts +3 -0
  973. package/dist/prism/languages/cfscript.js +35 -0
  974. package/dist/prism/languages/cfscript.js.map +1 -0
  975. package/dist/prism/languages/chaiscript.d.ts +3 -0
  976. package/dist/prism/languages/chaiscript.js +54 -0
  977. package/dist/prism/languages/chaiscript.js.map +1 -0
  978. package/dist/prism/languages/cil.d.ts +3 -0
  979. package/dist/prism/languages/cil.js +22 -0
  980. package/dist/prism/languages/cil.js.map +1 -0
  981. package/dist/prism/languages/cilkc.d.ts +3 -0
  982. package/dist/prism/languages/cilkc.js +12 -0
  983. package/dist/prism/languages/cilkc.js.map +1 -0
  984. package/dist/prism/languages/cilkcpp.d.ts +3 -0
  985. package/dist/prism/languages/cilkcpp.js +12 -0
  986. package/dist/prism/languages/cilkcpp.js.map +1 -0
  987. package/dist/prism/languages/clike.d.ts +3 -0
  988. package/dist/prism/languages/clike.js +19 -0
  989. package/dist/prism/languages/clike.js.map +1 -0
  990. package/dist/prism/languages/clojure.d.ts +3 -0
  991. package/dist/prism/languages/clojure.js +30 -0
  992. package/dist/prism/languages/clojure.js.map +1 -0
  993. package/dist/prism/languages/cmake.d.ts +3 -0
  994. package/dist/prism/languages/cmake.js +32 -0
  995. package/dist/prism/languages/cmake.js.map +1 -0
  996. package/dist/prism/languages/cobol.d.ts +3 -0
  997. package/dist/prism/languages/cobol.js +46 -0
  998. package/dist/prism/languages/cobol.js.map +1 -0
  999. package/dist/prism/languages/coffeescript.d.ts +3 -0
  1000. package/dist/prism/languages/coffeescript.js +65 -0
  1001. package/dist/prism/languages/coffeescript.js.map +1 -0
  1002. package/dist/prism/languages/common.d.ts +3 -0
  1003. package/dist/prism/languages/common.js +44 -0
  1004. package/dist/prism/languages/concurnas.d.ts +3 -0
  1005. package/dist/prism/languages/concurnas.js +52 -0
  1006. package/dist/prism/languages/concurnas.js.map +1 -0
  1007. package/dist/prism/languages/cooklang.d.ts +3 -0
  1008. package/dist/prism/languages/cooklang.js +116 -0
  1009. package/dist/prism/languages/cooklang.js.map +1 -0
  1010. package/dist/prism/languages/coq.d.ts +3 -0
  1011. package/dist/prism/languages/coq.js +34 -0
  1012. package/dist/prism/languages/coq.js.map +1 -0
  1013. package/dist/prism/languages/cpp.d.ts +3 -0
  1014. package/dist/prism/languages/cpp.js +63 -0
  1015. package/dist/prism/languages/cpp.js.map +1 -0
  1016. package/dist/prism/languages/crystal.d.ts +3 -0
  1017. package/dist/prism/languages/crystal.js +51 -0
  1018. package/dist/prism/languages/crystal.js.map +1 -0
  1019. package/dist/prism/languages/csharp.d.ts +3 -0
  1020. package/dist/prism/languages/csharp.js +235 -0
  1021. package/dist/prism/languages/csharp.js.map +1 -0
  1022. package/dist/prism/languages/cshtml.d.ts +3 -0
  1023. package/dist/prism/languages/cshtml.js +72 -0
  1024. package/dist/prism/languages/cshtml.js.map +1 -0
  1025. package/dist/prism/languages/csp.d.ts +3 -0
  1026. package/dist/prism/languages/csp.js +50 -0
  1027. package/dist/prism/languages/csp.js.map +1 -0
  1028. package/dist/prism/languages/css-extras.d.ts +3 -0
  1029. package/dist/prism/languages/css-extras.js +72 -0
  1030. package/dist/prism/languages/css-extras.js.map +1 -0
  1031. package/dist/prism/languages/css.d.ts +3 -0
  1032. package/dist/prism/languages/css.js +57 -0
  1033. package/dist/prism/languages/css.js.map +1 -0
  1034. package/dist/prism/languages/csv.d.ts +3 -0
  1035. package/dist/prism/languages/csv.js +10 -0
  1036. package/dist/prism/languages/csv.js.map +1 -0
  1037. package/dist/prism/languages/cue.d.ts +3 -0
  1038. package/dist/prism/languages/cue.js +55 -0
  1039. package/dist/prism/languages/cue.js.map +1 -0
  1040. package/dist/prism/languages/cypher.d.ts +3 -0
  1041. package/dist/prism/languages/cypher.js +28 -0
  1042. package/dist/prism/languages/cypher.js.map +1 -0
  1043. package/dist/prism/languages/d.d.ts +3 -0
  1044. package/dist/prism/languages/d.js +31 -0
  1045. package/dist/prism/languages/d.js.map +1 -0
  1046. package/dist/prism/languages/dart.d.ts +3 -0
  1047. package/dist/prism/languages/dart.js +61 -0
  1048. package/dist/prism/languages/dart.js.map +1 -0
  1049. package/dist/prism/languages/dataweave.d.ts +3 -0
  1050. package/dist/prism/languages/dataweave.js +22 -0
  1051. package/dist/prism/languages/dataweave.js.map +1 -0
  1052. package/dist/prism/languages/dax.d.ts +3 -0
  1053. package/dist/prism/languages/dax.js +27 -0
  1054. package/dist/prism/languages/dax.js.map +1 -0
  1055. package/dist/prism/languages/dhall.d.ts +3 -0
  1056. package/dist/prism/languages/dhall.js +49 -0
  1057. package/dist/prism/languages/dhall.js.map +1 -0
  1058. package/dist/prism/languages/diff.d.ts +3 -0
  1059. package/dist/prism/languages/diff.js +31 -0
  1060. package/dist/prism/languages/diff.js.map +1 -0
  1061. package/dist/prism/languages/django.d.ts +3 -0
  1062. package/dist/prism/languages/django.js +46 -0
  1063. package/dist/prism/languages/django.js.map +1 -0
  1064. package/dist/prism/languages/dns-zone-file.d.ts +3 -0
  1065. package/dist/prism/languages/dns-zone-file.js +29 -0
  1066. package/dist/prism/languages/dns-zone-file.js.map +1 -0
  1067. package/dist/prism/languages/docker.d.ts +3 -0
  1068. package/dist/prism/languages/docker.js +59 -0
  1069. package/dist/prism/languages/docker.js.map +1 -0
  1070. package/dist/prism/languages/dot.d.ts +3 -0
  1071. package/dist/prism/languages/dot.js +46 -0
  1072. package/dist/prism/languages/dot.js.map +1 -0
  1073. package/dist/prism/languages/ebnf.d.ts +3 -0
  1074. package/dist/prism/languages/ebnf.js +22 -0
  1075. package/dist/prism/languages/ebnf.js.map +1 -0
  1076. package/dist/prism/languages/editorconfig.d.ts +3 -0
  1077. package/dist/prism/languages/editorconfig.js +29 -0
  1078. package/dist/prism/languages/editorconfig.js.map +1 -0
  1079. package/dist/prism/languages/eiffel.d.ts +3 -0
  1080. package/dist/prism/languages/eiffel.js +17 -0
  1081. package/dist/prism/languages/eiffel.js.map +1 -0
  1082. package/dist/prism/languages/ejs.d.ts +3 -0
  1083. package/dist/prism/languages/ejs.js +27 -0
  1084. package/dist/prism/languages/ejs.js.map +1 -0
  1085. package/dist/prism/languages/elixir.d.ts +3 -0
  1086. package/dist/prism/languages/elixir.js +63 -0
  1087. package/dist/prism/languages/elixir.js.map +1 -0
  1088. package/dist/prism/languages/elm.d.ts +3 -0
  1089. package/dist/prism/languages/elm.js +23 -0
  1090. package/dist/prism/languages/elm.js.map +1 -0
  1091. package/dist/prism/languages/erb.d.ts +3 -0
  1092. package/dist/prism/languages/erb.js +26 -0
  1093. package/dist/prism/languages/erb.js.map +1 -0
  1094. package/dist/prism/languages/erlang.d.ts +3 -0
  1095. package/dist/prism/languages/erlang.js +44 -0
  1096. package/dist/prism/languages/erlang.js.map +1 -0
  1097. package/dist/prism/languages/etlua.d.ts +3 -0
  1098. package/dist/prism/languages/etlua.js +25 -0
  1099. package/dist/prism/languages/etlua.js.map +1 -0
  1100. package/dist/prism/languages/excel-formula.d.ts +3 -0
  1101. package/dist/prism/languages/excel-formula.js +52 -0
  1102. package/dist/prism/languages/excel-formula.js.map +1 -0
  1103. package/dist/prism/languages/factor.d.ts +3 -0
  1104. package/dist/prism/languages/factor.js +756 -0
  1105. package/dist/prism/languages/factor.js.map +1 -0
  1106. package/dist/prism/languages/false.d.ts +3 -0
  1107. package/dist/prism/languages/false.js +31 -0
  1108. package/dist/prism/languages/false.js.map +1 -0
  1109. package/dist/prism/languages/firestore-security-rules.d.ts +3 -0
  1110. package/dist/prism/languages/firestore-security-rules.js +38 -0
  1111. package/dist/prism/languages/firestore-security-rules.js.map +1 -0
  1112. package/dist/prism/languages/flow.d.ts +3 -0
  1113. package/dist/prism/languages/flow.js +26 -0
  1114. package/dist/prism/languages/flow.js.map +1 -0
  1115. package/dist/prism/languages/fortran.d.ts +3 -0
  1116. package/dist/prism/languages/fortran.js +28 -0
  1117. package/dist/prism/languages/fortran.js.map +1 -0
  1118. package/dist/prism/languages/fsharp.d.ts +3 -0
  1119. package/dist/prism/languages/fsharp.js +59 -0
  1120. package/dist/prism/languages/fsharp.js.map +1 -0
  1121. package/dist/prism/languages/ftl.d.ts +3 -0
  1122. package/dist/prism/languages/ftl.js +70 -0
  1123. package/dist/prism/languages/ftl.js.map +1 -0
  1124. package/dist/prism/languages/gap.d.ts +3 -0
  1125. package/dist/prism/languages/gap.js +42 -0
  1126. package/dist/prism/languages/gap.js.map +1 -0
  1127. package/dist/prism/languages/gcode.d.ts +3 -0
  1128. package/dist/prism/languages/gcode.js +18 -0
  1129. package/dist/prism/languages/gcode.js.map +1 -0
  1130. package/dist/prism/languages/gdscript.d.ts +3 -0
  1131. package/dist/prism/languages/gdscript.js +23 -0
  1132. package/dist/prism/languages/gdscript.js.map +1 -0
  1133. package/dist/prism/languages/gedcom.d.ts +3 -0
  1134. package/dist/prism/languages/gedcom.js +30 -0
  1135. package/dist/prism/languages/gedcom.js.map +1 -0
  1136. package/dist/prism/languages/gettext.d.ts +3 -0
  1137. package/dist/prism/languages/gettext.js +38 -0
  1138. package/dist/prism/languages/gettext.js.map +1 -0
  1139. package/dist/prism/languages/gherkin.d.ts +3 -0
  1140. package/dist/prism/languages/gherkin.js +77 -0
  1141. package/dist/prism/languages/gherkin.js.map +1 -0
  1142. package/dist/prism/languages/git.d.ts +3 -0
  1143. package/dist/prism/languages/git.js +18 -0
  1144. package/dist/prism/languages/git.js.map +1 -0
  1145. package/dist/prism/languages/glsl.d.ts +3 -0
  1146. package/dist/prism/languages/glsl.js +9 -0
  1147. package/dist/prism/languages/glsl.js.map +1 -0
  1148. package/dist/prism/languages/gml.d.ts +3 -0
  1149. package/dist/prism/languages/gml.js +15 -0
  1150. package/dist/prism/languages/gml.js.map +1 -0
  1151. package/dist/prism/languages/gn.d.ts +3 -0
  1152. package/dist/prism/languages/gn.js +42 -0
  1153. package/dist/prism/languages/gn.js.map +1 -0
  1154. package/dist/prism/languages/go-module.d.ts +3 -0
  1155. package/dist/prism/languages/go-module.js +25 -0
  1156. package/dist/prism/languages/go-module.js.map +1 -0
  1157. package/dist/prism/languages/go.d.ts +3 -0
  1158. package/dist/prism/languages/go.js +26 -0
  1159. package/dist/prism/languages/go.js.map +1 -0
  1160. package/dist/prism/languages/gradle.d.ts +3 -0
  1161. package/dist/prism/languages/gradle.js +50 -0
  1162. package/dist/prism/languages/gradle.js.map +1 -0
  1163. package/dist/prism/languages/graphql.d.ts +3 -0
  1164. package/dist/prism/languages/graphql.js +132 -0
  1165. package/dist/prism/languages/graphql.js.map +1 -0
  1166. package/dist/prism/languages/groovy.d.ts +3 -0
  1167. package/dist/prism/languages/groovy.js +50 -0
  1168. package/dist/prism/languages/groovy.js.map +1 -0
  1169. package/dist/prism/languages/haml.d.ts +3 -0
  1170. package/dist/prism/languages/haml.js +119 -0
  1171. package/dist/prism/languages/haml.js.map +1 -0
  1172. package/dist/prism/languages/handlebars.d.ts +3 -0
  1173. package/dist/prism/languages/handlebars.js +40 -0
  1174. package/dist/prism/languages/handlebars.js.map +1 -0
  1175. package/dist/prism/languages/haskell.d.ts +3 -0
  1176. package/dist/prism/languages/haskell.js +46 -0
  1177. package/dist/prism/languages/haskell.js.map +1 -0
  1178. package/dist/prism/languages/haxe.d.ts +3 -0
  1179. package/dist/prism/languages/haxe.js +65 -0
  1180. package/dist/prism/languages/haxe.js.map +1 -0
  1181. package/dist/prism/languages/hcl.d.ts +3 -0
  1182. package/dist/prism/languages/hcl.js +55 -0
  1183. package/dist/prism/languages/hcl.js.map +1 -0
  1184. package/dist/prism/languages/hlsl.d.ts +3 -0
  1185. package/dist/prism/languages/hlsl.js +15 -0
  1186. package/dist/prism/languages/hlsl.js.map +1 -0
  1187. package/dist/prism/languages/hoon.d.ts +3 -0
  1188. package/dist/prism/languages/hoon.js +14 -0
  1189. package/dist/prism/languages/hoon.js.map +1 -0
  1190. package/dist/prism/languages/hpkp.d.ts +3 -0
  1191. package/dist/prism/languages/hpkp.js +19 -0
  1192. package/dist/prism/languages/hpkp.js.map +1 -0
  1193. package/dist/prism/languages/hsts.d.ts +3 -0
  1194. package/dist/prism/languages/hsts.js +19 -0
  1195. package/dist/prism/languages/hsts.js.map +1 -0
  1196. package/dist/prism/languages/http.d.ts +3 -0
  1197. package/dist/prism/languages/http.js +89 -0
  1198. package/dist/prism/languages/http.js.map +1 -0
  1199. package/dist/prism/languages/ichigojam.d.ts +3 -0
  1200. package/dist/prism/languages/ichigojam.js +16 -0
  1201. package/dist/prism/languages/ichigojam.js.map +1 -0
  1202. package/dist/prism/languages/icon.d.ts +3 -0
  1203. package/dist/prism/languages/icon.js +24 -0
  1204. package/dist/prism/languages/icon.js.map +1 -0
  1205. package/dist/prism/languages/icu-message-format.d.ts +3 -0
  1206. package/dist/prism/languages/icu-message-format.js +108 -0
  1207. package/dist/prism/languages/icu-message-format.js.map +1 -0
  1208. package/dist/prism/languages/idris.d.ts +3 -0
  1209. package/dist/prism/languages/idris.js +18 -0
  1210. package/dist/prism/languages/idris.js.map +1 -0
  1211. package/dist/prism/languages/iecst.d.ts +3 -0
  1212. package/dist/prism/languages/iecst.js +22 -0
  1213. package/dist/prism/languages/iecst.js.map +1 -0
  1214. package/dist/prism/languages/ignore.d.ts +3 -0
  1215. package/dist/prism/languages/ignore.js +21 -0
  1216. package/dist/prism/languages/ignore.js.map +1 -0
  1217. package/dist/prism/languages/index.d.ts +3 -0
  1218. package/dist/prism/languages/index.js +300 -0
  1219. package/dist/prism/languages/inform7.d.ts +3 -0
  1220. package/dist/prism/languages/inform7.js +57 -0
  1221. package/dist/prism/languages/inform7.js.map +1 -0
  1222. package/dist/prism/languages/ini.d.ts +3 -0
  1223. package/dist/prism/languages/ini.js +44 -0
  1224. package/dist/prism/languages/ini.js.map +1 -0
  1225. package/dist/prism/languages/io.d.ts +3 -0
  1226. package/dist/prism/languages/io.js +21 -0
  1227. package/dist/prism/languages/io.js.map +1 -0
  1228. package/dist/prism/languages/j.d.ts +3 -0
  1229. package/dist/prism/languages/j.js +26 -0
  1230. package/dist/prism/languages/j.js.map +1 -0
  1231. package/dist/prism/languages/java.d.ts +3 -0
  1232. package/dist/prism/languages/java.js +105 -0
  1233. package/dist/prism/languages/java.js.map +1 -0
  1234. package/dist/prism/languages/javadoc.d.ts +3 -0
  1235. package/dist/prism/languages/javadoc.js +72 -0
  1236. package/dist/prism/languages/javadoc.js.map +1 -0
  1237. package/dist/prism/languages/javadoclike.d.ts +3 -0
  1238. package/dist/prism/languages/javadoclike.js +17 -0
  1239. package/dist/prism/languages/javadoclike.js.map +1 -0
  1240. package/dist/prism/languages/javascript.d.ts +3 -0
  1241. package/dist/prism/languages/javascript.js +128 -0
  1242. package/dist/prism/languages/javascript.js.map +1 -0
  1243. package/dist/prism/languages/javastacktrace.d.ts +3 -0
  1244. package/dist/prism/languages/javastacktrace.js +98 -0
  1245. package/dist/prism/languages/javastacktrace.js.map +1 -0
  1246. package/dist/prism/languages/jexl.d.ts +3 -0
  1247. package/dist/prism/languages/jexl.js +21 -0
  1248. package/dist/prism/languages/jexl.js.map +1 -0
  1249. package/dist/prism/languages/jolie.d.ts +3 -0
  1250. package/dist/prism/languages/jolie.js +44 -0
  1251. package/dist/prism/languages/jolie.js.map +1 -0
  1252. package/dist/prism/languages/jq.d.ts +3 -0
  1253. package/dist/prism/languages/jq.js +56 -0
  1254. package/dist/prism/languages/jq.js.map +1 -0
  1255. package/dist/prism/languages/js-templates.d.ts +3 -0
  1256. package/dist/prism/languages/js-templates.js +60 -0
  1257. package/dist/prism/languages/js-templates.js.map +1 -0
  1258. package/dist/prism/languages/jsdoc.d.ts +3 -0
  1259. package/dist/prism/languages/jsdoc.js +64 -0
  1260. package/dist/prism/languages/jsdoc.js.map +1 -0
  1261. package/dist/prism/languages/json.d.ts +3 -0
  1262. package/dist/prism/languages/json.js +20 -0
  1263. package/dist/prism/languages/json.js.map +1 -0
  1264. package/dist/prism/languages/json5.d.ts +3 -0
  1265. package/dist/prism/languages/json5.js +17 -0
  1266. package/dist/prism/languages/json5.js.map +1 -0
  1267. package/dist/prism/languages/jsonp.d.ts +3 -0
  1268. package/dist/prism/languages/jsonp.js +10 -0
  1269. package/dist/prism/languages/jsonp.js.map +1 -0
  1270. package/dist/prism/languages/jsstacktrace.d.ts +3 -0
  1271. package/dist/prism/languages/jsstacktrace.js +44 -0
  1272. package/dist/prism/languages/jsstacktrace.js.map +1 -0
  1273. package/dist/prism/languages/jsx.d.ts +3 -0
  1274. package/dist/prism/languages/jsx.js +9 -0
  1275. package/dist/prism/languages/jsx.js.map +1 -0
  1276. package/dist/prism/languages/julia.d.ts +3 -0
  1277. package/dist/prism/languages/julia.js +22 -0
  1278. package/dist/prism/languages/julia.js.map +1 -0
  1279. package/dist/prism/languages/keepalived.d.ts +3 -0
  1280. package/dist/prism/languages/keepalived.js +41 -0
  1281. package/dist/prism/languages/keepalived.js.map +1 -0
  1282. package/dist/prism/languages/keyman.d.ts +3 -0
  1283. package/dist/prism/languages/keyman.js +37 -0
  1284. package/dist/prism/languages/keyman.js.map +1 -0
  1285. package/dist/prism/languages/kotlin.d.ts +3 -0
  1286. package/dist/prism/languages/kotlin.js +60 -0
  1287. package/dist/prism/languages/kotlin.js.map +1 -0
  1288. package/dist/prism/languages/kumir.d.ts +3 -0
  1289. package/dist/prism/languages/kumir.js +67 -0
  1290. package/dist/prism/languages/kumir.js.map +1 -0
  1291. package/dist/prism/languages/kusto.d.ts +3 -0
  1292. package/dist/prism/languages/kusto.js +34 -0
  1293. package/dist/prism/languages/kusto.js.map +1 -0
  1294. package/dist/prism/languages/latex.d.ts +3 -0
  1295. package/dist/prism/languages/latex.js +46 -0
  1296. package/dist/prism/languages/latex.js.map +1 -0
  1297. package/dist/prism/languages/latte.d.ts +3 -0
  1298. package/dist/prism/languages/latte.js +56 -0
  1299. package/dist/prism/languages/latte.js.map +1 -0
  1300. package/dist/prism/languages/less.d.ts +3 -0
  1301. package/dist/prism/languages/less.js +30 -0
  1302. package/dist/prism/languages/less.js.map +1 -0
  1303. package/dist/prism/languages/lilypond.d.ts +3 -0
  1304. package/dist/prism/languages/lilypond.js +52 -0
  1305. package/dist/prism/languages/lilypond.js.map +1 -0
  1306. package/dist/prism/languages/linker-script.d.ts +3 -0
  1307. package/dist/prism/languages/linker-script.js +26 -0
  1308. package/dist/prism/languages/linker-script.js.map +1 -0
  1309. package/dist/prism/languages/liquid.d.ts +3 -0
  1310. package/dist/prism/languages/liquid.js +52 -0
  1311. package/dist/prism/languages/liquid.js.map +1 -0
  1312. package/dist/prism/languages/lisp.d.ts +3 -0
  1313. package/dist/prism/languages/lisp.js +157 -0
  1314. package/dist/prism/languages/lisp.js.map +1 -0
  1315. package/dist/prism/languages/livescript.d.ts +3 -0
  1316. package/dist/prism/languages/livescript.js +60 -0
  1317. package/dist/prism/languages/livescript.js.map +1 -0
  1318. package/dist/prism/languages/llvm.d.ts +3 -0
  1319. package/dist/prism/languages/llvm.js +21 -0
  1320. package/dist/prism/languages/llvm.js.map +1 -0
  1321. package/dist/prism/languages/log.d.ts +3 -0
  1322. package/dist/prism/languages/log.js +97 -0
  1323. package/dist/prism/languages/log.js.map +1 -0
  1324. package/dist/prism/languages/lolcode.d.ts +3 -0
  1325. package/dist/prism/languages/lolcode.js +52 -0
  1326. package/dist/prism/languages/lolcode.js.map +1 -0
  1327. package/dist/prism/languages/lua.d.ts +3 -0
  1328. package/dist/prism/languages/lua.js +18 -0
  1329. package/dist/prism/languages/lua.js.map +1 -0
  1330. package/dist/prism/languages/magma.d.ts +3 -0
  1331. package/dist/prism/languages/magma.js +31 -0
  1332. package/dist/prism/languages/magma.js.map +1 -0
  1333. package/dist/prism/languages/makefile.d.ts +3 -0
  1334. package/dist/prism/languages/makefile.js +28 -0
  1335. package/dist/prism/languages/makefile.js.map +1 -0
  1336. package/dist/prism/languages/markdown.d.ts +3 -0
  1337. package/dist/prism/languages/markdown.js +209 -0
  1338. package/dist/prism/languages/markdown.js.map +1 -0
  1339. package/dist/prism/languages/markup.d.ts +3 -0
  1340. package/dist/prism/languages/markup.js +35 -0
  1341. package/dist/prism/languages/markup.js.map +1 -0
  1342. package/dist/prism/languages/mata.d.ts +3 -0
  1343. package/dist/prism/languages/mata.js +37 -0
  1344. package/dist/prism/languages/mata.js.map +1 -0
  1345. package/dist/prism/languages/matlab.d.ts +3 -0
  1346. package/dist/prism/languages/matlab.js +15 -0
  1347. package/dist/prism/languages/matlab.js.map +1 -0
  1348. package/dist/prism/languages/maxscript.d.ts +3 -0
  1349. package/dist/prism/languages/maxscript.js +51 -0
  1350. package/dist/prism/languages/maxscript.js.map +1 -0
  1351. package/dist/prism/languages/mel.d.ts +3 -0
  1352. package/dist/prism/languages/mel.js +40 -0
  1353. package/dist/prism/languages/mel.js.map +1 -0
  1354. package/dist/prism/languages/mermaid.d.ts +3 -0
  1355. package/dist/prism/languages/mermaid.js +86 -0
  1356. package/dist/prism/languages/mermaid.js.map +1 -0
  1357. package/dist/prism/languages/metafont.d.ts +3 -0
  1358. package/dist/prism/languages/metafont.js +84 -0
  1359. package/dist/prism/languages/metafont.js.map +1 -0
  1360. package/dist/prism/languages/mizar.d.ts +3 -0
  1361. package/dist/prism/languages/mizar.js +18 -0
  1362. package/dist/prism/languages/mizar.js.map +1 -0
  1363. package/dist/prism/languages/mongodb.d.ts +3 -0
  1364. package/dist/prism/languages/mongodb.js +279 -0
  1365. package/dist/prism/languages/mongodb.js.map +1 -0
  1366. package/dist/prism/languages/monkey.d.ts +3 -0
  1367. package/dist/prism/languages/monkey.js +27 -0
  1368. package/dist/prism/languages/monkey.js.map +1 -0
  1369. package/dist/prism/languages/moonscript.d.ts +3 -0
  1370. package/dist/prism/languages/moonscript.js +42 -0
  1371. package/dist/prism/languages/moonscript.js.map +1 -0
  1372. package/dist/prism/languages/n1ql.d.ts +3 -0
  1373. package/dist/prism/languages/n1ql.js +19 -0
  1374. package/dist/prism/languages/n1ql.js.map +1 -0
  1375. package/dist/prism/languages/n4js.d.ts +3 -0
  1376. package/dist/prism/languages/n4js.js +12 -0
  1377. package/dist/prism/languages/n4js.js.map +1 -0
  1378. package/dist/prism/languages/nand2tetris-hdl.d.ts +3 -0
  1379. package/dist/prism/languages/nand2tetris-hdl.js +16 -0
  1380. package/dist/prism/languages/nand2tetris-hdl.js.map +1 -0
  1381. package/dist/prism/languages/naniscript.d.ts +3 -0
  1382. package/dist/prism/languages/naniscript.js +135 -0
  1383. package/dist/prism/languages/naniscript.js.map +1 -0
  1384. package/dist/prism/languages/nasm.d.ts +3 -0
  1385. package/dist/prism/languages/nasm.js +30 -0
  1386. package/dist/prism/languages/nasm.js.map +1 -0
  1387. package/dist/prism/languages/neon.d.ts +3 -0
  1388. package/dist/prism/languages/neon.js +42 -0
  1389. package/dist/prism/languages/neon.js.map +1 -0
  1390. package/dist/prism/languages/nevod.d.ts +3 -0
  1391. package/dist/prism/languages/nevod.js +126 -0
  1392. package/dist/prism/languages/nevod.js.map +1 -0
  1393. package/dist/prism/languages/nginx.d.ts +3 -0
  1394. package/dist/prism/languages/nginx.js +45 -0
  1395. package/dist/prism/languages/nginx.js.map +1 -0
  1396. package/dist/prism/languages/nim.d.ts +3 -0
  1397. package/dist/prism/languages/nim.js +26 -0
  1398. package/dist/prism/languages/nim.js.map +1 -0
  1399. package/dist/prism/languages/nix.d.ts +3 -0
  1400. package/dist/prism/languages/nix.js +32 -0
  1401. package/dist/prism/languages/nix.js.map +1 -0
  1402. package/dist/prism/languages/nsis.d.ts +3 -0
  1403. package/dist/prism/languages/nsis.js +30 -0
  1404. package/dist/prism/languages/nsis.js.map +1 -0
  1405. package/dist/prism/languages/objectivec.d.ts +3 -0
  1406. package/dist/prism/languages/objectivec.js +14 -0
  1407. package/dist/prism/languages/objectivec.js.map +1 -0
  1408. package/dist/prism/languages/ocaml.d.ts +3 -0
  1409. package/dist/prism/languages/ocaml.js +37 -0
  1410. package/dist/prism/languages/ocaml.js.map +1 -0
  1411. package/dist/prism/languages/odin.d.ts +3 -0
  1412. package/dist/prism/languages/odin.js +63 -0
  1413. package/dist/prism/languages/odin.js.map +1 -0
  1414. package/dist/prism/languages/opencl.d.ts +3 -0
  1415. package/dist/prism/languages/opencl.js +47 -0
  1416. package/dist/prism/languages/opencl.js.map +1 -0
  1417. package/dist/prism/languages/openqasm.d.ts +3 -0
  1418. package/dist/prism/languages/openqasm.js +21 -0
  1419. package/dist/prism/languages/openqasm.js.map +1 -0
  1420. package/dist/prism/languages/oz.d.ts +3 -0
  1421. package/dist/prism/languages/oz.js +24 -0
  1422. package/dist/prism/languages/oz.js.map +1 -0
  1423. package/dist/prism/languages/parigp.d.ts +3 -0
  1424. package/dist/prism/languages/parigp.js +18 -0
  1425. package/dist/prism/languages/parigp.js.map +1 -0
  1426. package/dist/prism/languages/parser.d.ts +3 -0
  1427. package/dist/prism/languages/parser.js +77 -0
  1428. package/dist/prism/languages/parser.js.map +1 -0
  1429. package/dist/prism/languages/pascal.d.ts +3 -0
  1430. package/dist/prism/languages/pascal.js +35 -0
  1431. package/dist/prism/languages/pascal.js.map +1 -0
  1432. package/dist/prism/languages/pascaligo.d.ts +3 -0
  1433. package/dist/prism/languages/pascaligo.js +54 -0
  1434. package/dist/prism/languages/pascaligo.js.map +1 -0
  1435. package/dist/prism/languages/pcaxis.d.ts +3 -0
  1436. package/dist/prism/languages/pcaxis.js +55 -0
  1437. package/dist/prism/languages/pcaxis.js.map +1 -0
  1438. package/dist/prism/languages/peoplecode.d.ts +3 -0
  1439. package/dist/prism/languages/peoplecode.js +31 -0
  1440. package/dist/prism/languages/peoplecode.js.map +1 -0
  1441. package/dist/prism/languages/perl.d.ts +3 -0
  1442. package/dist/prism/languages/perl.js +39 -0
  1443. package/dist/prism/languages/perl.js.map +1 -0
  1444. package/dist/prism/languages/php-extras.d.ts +3 -0
  1445. package/dist/prism/languages/php-extras.js +22 -0
  1446. package/dist/prism/languages/php-extras.js.map +1 -0
  1447. package/dist/prism/languages/php.d.ts +3 -0
  1448. package/dist/prism/languages/php.js +254 -0
  1449. package/dist/prism/languages/php.js.map +1 -0
  1450. package/dist/prism/languages/phpdoc.d.ts +3 -0
  1451. package/dist/prism/languages/phpdoc.js +20 -0
  1452. package/dist/prism/languages/phpdoc.js.map +1 -0
  1453. package/dist/prism/languages/plant-uml.d.ts +3 -0
  1454. package/dist/prism/languages/plant-uml.js +67 -0
  1455. package/dist/prism/languages/plant-uml.js.map +1 -0
  1456. package/dist/prism/languages/plsql.d.ts +3 -0
  1457. package/dist/prism/languages/plsql.js +16 -0
  1458. package/dist/prism/languages/plsql.js.map +1 -0
  1459. package/dist/prism/languages/powerquery.d.ts +3 -0
  1460. package/dist/prism/languages/powerquery.js +29 -0
  1461. package/dist/prism/languages/powerquery.js.map +1 -0
  1462. package/dist/prism/languages/powershell.d.ts +3 -0
  1463. package/dist/prism/languages/powershell.js +36 -0
  1464. package/dist/prism/languages/powershell.js.map +1 -0
  1465. package/dist/prism/languages/processing.d.ts +3 -0
  1466. package/dist/prism/languages/processing.js +19 -0
  1467. package/dist/prism/languages/processing.js.map +1 -0
  1468. package/dist/prism/languages/prolog.d.ts +3 -0
  1469. package/dist/prism/languages/prolog.js +15 -0
  1470. package/dist/prism/languages/prolog.js.map +1 -0
  1471. package/dist/prism/languages/promql.d.ts +3 -0
  1472. package/dist/prism/languages/promql.js +60 -0
  1473. package/dist/prism/languages/promql.js.map +1 -0
  1474. package/dist/prism/languages/properties.d.ts +3 -0
  1475. package/dist/prism/languages/properties.js +19 -0
  1476. package/dist/prism/languages/properties.js.map +1 -0
  1477. package/dist/prism/languages/protobuf.d.ts +3 -0
  1478. package/dist/prism/languages/protobuf.js +40 -0
  1479. package/dist/prism/languages/protobuf.js.map +1 -0
  1480. package/dist/prism/languages/psl.d.ts +3 -0
  1481. package/dist/prism/languages/psl.js +34 -0
  1482. package/dist/prism/languages/psl.js.map +1 -0
  1483. package/dist/prism/languages/pug.d.ts +3 -0
  1484. package/dist/prism/languages/pug.js +161 -0
  1485. package/dist/prism/languages/pug.js.map +1 -0
  1486. package/dist/prism/languages/puppet.d.ts +3 -0
  1487. package/dist/prism/languages/puppet.js +90 -0
  1488. package/dist/prism/languages/puppet.js.map +1 -0
  1489. package/dist/prism/languages/pure.d.ts +3 -0
  1490. package/dist/prism/languages/pure.js +53 -0
  1491. package/dist/prism/languages/pure.js.map +1 -0
  1492. package/dist/prism/languages/purebasic.d.ts +3 -0
  1493. package/dist/prism/languages/purebasic.js +53 -0
  1494. package/dist/prism/languages/purebasic.js.map +1 -0
  1495. package/dist/prism/languages/purescript.d.ts +3 -0
  1496. package/dist/prism/languages/purescript.js +25 -0
  1497. package/dist/prism/languages/purescript.js.map +1 -0
  1498. package/dist/prism/languages/python.d.ts +3 -0
  1499. package/dist/prism/languages/python.js +56 -0
  1500. package/dist/prism/languages/python.js.map +1 -0
  1501. package/dist/prism/languages/q.d.ts +3 -0
  1502. package/dist/prism/languages/q.js +29 -0
  1503. package/dist/prism/languages/q.js.map +1 -0
  1504. package/dist/prism/languages/qml.d.ts +3 -0
  1505. package/dist/prism/languages/qml.js +43 -0
  1506. package/dist/prism/languages/qml.js.map +1 -0
  1507. package/dist/prism/languages/qore.d.ts +3 -0
  1508. package/dist/prism/languages/qore.js +23 -0
  1509. package/dist/prism/languages/qore.js.map +1 -0
  1510. package/dist/prism/languages/qsharp.d.ts +3 -0
  1511. package/dist/prism/languages/qsharp.js +60 -0
  1512. package/dist/prism/languages/qsharp.js.map +1 -0
  1513. package/dist/prism/languages/r.d.ts +3 -0
  1514. package/dist/prism/languages/r.js +20 -0
  1515. package/dist/prism/languages/r.js.map +1 -0
  1516. package/dist/prism/languages/racket.d.ts +3 -0
  1517. package/dist/prism/languages/racket.js +15 -0
  1518. package/dist/prism/languages/racket.js.map +1 -0
  1519. package/dist/prism/languages/reason.d.ts +3 -0
  1520. package/dist/prism/languages/reason.js +23 -0
  1521. package/dist/prism/languages/reason.js.map +1 -0
  1522. package/dist/prism/languages/regex.d.ts +3 -0
  1523. package/dist/prism/languages/regex.js +86 -0
  1524. package/dist/prism/languages/regex.js.map +1 -0
  1525. package/dist/prism/languages/rego.d.ts +3 -0
  1526. package/dist/prism/languages/rego.js +30 -0
  1527. package/dist/prism/languages/rego.js.map +1 -0
  1528. package/dist/prism/languages/renpy.d.ts +3 -0
  1529. package/dist/prism/languages/renpy.js +19 -0
  1530. package/dist/prism/languages/renpy.js.map +1 -0
  1531. package/dist/prism/languages/rescript.d.ts +3 -0
  1532. package/dist/prism/languages/rescript.js +53 -0
  1533. package/dist/prism/languages/rescript.js.map +1 -0
  1534. package/dist/prism/languages/rest.d.ts +3 -0
  1535. package/dist/prism/languages/rest.js +156 -0
  1536. package/dist/prism/languages/rest.js.map +1 -0
  1537. package/dist/prism/languages/rip.d.ts +3 -0
  1538. package/dist/prism/languages/rip.js +26 -0
  1539. package/dist/prism/languages/rip.js.map +1 -0
  1540. package/dist/prism/languages/roboconf.d.ts +3 -0
  1541. package/dist/prism/languages/roboconf.js +33 -0
  1542. package/dist/prism/languages/roboconf.js.map +1 -0
  1543. package/dist/prism/languages/robotframework.d.ts +3 -0
  1544. package/dist/prism/languages/robotframework.js +82 -0
  1545. package/dist/prism/languages/robotframework.js.map +1 -0
  1546. package/dist/prism/languages/ruby.d.ts +3 -0
  1547. package/dist/prism/languages/ruby.js +117 -0
  1548. package/dist/prism/languages/ruby.js.map +1 -0
  1549. package/dist/prism/languages/rust.d.ts +3 -0
  1550. package/dist/prism/languages/rust.js +75 -0
  1551. package/dist/prism/languages/rust.js.map +1 -0
  1552. package/dist/prism/languages/sas.d.ts +3 -0
  1553. package/dist/prism/languages/sas.js +285 -0
  1554. package/dist/prism/languages/sas.js.map +1 -0
  1555. package/dist/prism/languages/sass.d.ts +3 -0
  1556. package/dist/prism/languages/sass.js +51 -0
  1557. package/dist/prism/languages/sass.js.map +1 -0
  1558. package/dist/prism/languages/scala.d.ts +3 -0
  1559. package/dist/prism/languages/scala.js +46 -0
  1560. package/dist/prism/languages/scala.js.map +1 -0
  1561. package/dist/prism/languages/scheme.d.ts +3 -0
  1562. package/dist/prism/languages/scheme.js +69 -0
  1563. package/dist/prism/languages/scheme.js.map +1 -0
  1564. package/dist/prism/languages/scss.d.ts +3 -0
  1565. package/dist/prism/languages/scss.js +64 -0
  1566. package/dist/prism/languages/scss.js.map +1 -0
  1567. package/dist/prism/languages/shell-session.d.ts +3 -0
  1568. package/dist/prism/languages/shell-session.js +34 -0
  1569. package/dist/prism/languages/shell-session.js.map +1 -0
  1570. package/dist/prism/languages/smali.d.ts +3 -0
  1571. package/dist/prism/languages/smali.js +75 -0
  1572. package/dist/prism/languages/smali.js.map +1 -0
  1573. package/dist/prism/languages/smalltalk.d.ts +3 -0
  1574. package/dist/prism/languages/smalltalk.js +33 -0
  1575. package/dist/prism/languages/smalltalk.js.map +1 -0
  1576. package/dist/prism/languages/smarty.d.ts +3 -0
  1577. package/dist/prism/languages/smarty.js +82 -0
  1578. package/dist/prism/languages/smarty.js.map +1 -0
  1579. package/dist/prism/languages/sml.d.ts +3 -0
  1580. package/dist/prism/languages/sml.js +39 -0
  1581. package/dist/prism/languages/sml.js.map +1 -0
  1582. package/dist/prism/languages/solidity.d.ts +3 -0
  1583. package/dist/prism/languages/solidity.js +27 -0
  1584. package/dist/prism/languages/solidity.js.map +1 -0
  1585. package/dist/prism/languages/solution-file.d.ts +3 -0
  1586. package/dist/prism/languages/solution-file.js +34 -0
  1587. package/dist/prism/languages/solution-file.js.map +1 -0
  1588. package/dist/prism/languages/soy.d.ts +3 -0
  1589. package/dist/prism/languages/soy.js +65 -0
  1590. package/dist/prism/languages/soy.js.map +1 -0
  1591. package/dist/prism/languages/sparql.d.ts +3 -0
  1592. package/dist/prism/languages/sparql.js +16 -0
  1593. package/dist/prism/languages/sparql.js.map +1 -0
  1594. package/dist/prism/languages/splunk-spl.d.ts +3 -0
  1595. package/dist/prism/languages/splunk-spl.js +25 -0
  1596. package/dist/prism/languages/splunk-spl.js.map +1 -0
  1597. package/dist/prism/languages/sqf.d.ts +3 -0
  1598. package/dist/prism/languages/sqf.js +35 -0
  1599. package/dist/prism/languages/sqf.js.map +1 -0
  1600. package/dist/prism/languages/sql.d.ts +3 -0
  1601. package/dist/prism/languages/sql.js +25 -0
  1602. package/dist/prism/languages/sql.js.map +1 -0
  1603. package/dist/prism/languages/squirrel.d.ts +3 -0
  1604. package/dist/prism/languages/squirrel.js +37 -0
  1605. package/dist/prism/languages/squirrel.js.map +1 -0
  1606. package/dist/prism/languages/stan.d.ts +3 -0
  1607. package/dist/prism/languages/stan.js +49 -0
  1608. package/dist/prism/languages/stan.js.map +1 -0
  1609. package/dist/prism/languages/stata.d.ts +3 -0
  1610. package/dist/prism/languages/stata.js +62 -0
  1611. package/dist/prism/languages/stata.js.map +1 -0
  1612. package/dist/prism/languages/stylus.d.ts +3 -0
  1613. package/dist/prism/languages/stylus.js +95 -0
  1614. package/dist/prism/languages/stylus.js.map +1 -0
  1615. package/dist/prism/languages/supercollider.d.ts +3 -0
  1616. package/dist/prism/languages/supercollider.js +29 -0
  1617. package/dist/prism/languages/supercollider.js.map +1 -0
  1618. package/dist/prism/languages/svelte.d.ts +3 -0
  1619. package/dist/prism/languages/svelte.js +47 -0
  1620. package/dist/prism/languages/svelte.js.map +1 -0
  1621. package/dist/prism/languages/swift.d.ts +3 -0
  1622. package/dist/prism/languages/swift.js +93 -0
  1623. package/dist/prism/languages/swift.js.map +1 -0
  1624. package/dist/prism/languages/systemd.d.ts +3 -0
  1625. package/dist/prism/languages/systemd.js +40 -0
  1626. package/dist/prism/languages/systemd.js.map +1 -0
  1627. package/dist/prism/languages/t4-cs.d.ts +3 -0
  1628. package/dist/prism/languages/t4-cs.js +9 -0
  1629. package/dist/prism/languages/t4-cs.js.map +1 -0
  1630. package/dist/prism/languages/t4-vb.d.ts +3 -0
  1631. package/dist/prism/languages/t4-vb.js +9 -0
  1632. package/dist/prism/languages/t4-vb.js.map +1 -0
  1633. package/dist/prism/languages/tap.d.ts +3 -0
  1634. package/dist/prism/languages/tap.js +24 -0
  1635. package/dist/prism/languages/tap.js.map +1 -0
  1636. package/dist/prism/languages/tcl.d.ts +3 -0
  1637. package/dist/prism/languages/tcl.js +36 -0
  1638. package/dist/prism/languages/tcl.js.map +1 -0
  1639. package/dist/prism/languages/textile.d.ts +3 -0
  1640. package/dist/prism/languages/textile.js +203 -0
  1641. package/dist/prism/languages/textile.js.map +1 -0
  1642. package/dist/prism/languages/toml.d.ts +3 -0
  1643. package/dist/prism/languages/toml.js +31 -0
  1644. package/dist/prism/languages/toml.js.map +1 -0
  1645. package/dist/prism/languages/tremor.d.ts +3 -0
  1646. package/dist/prism/languages/tremor.js +49 -0
  1647. package/dist/prism/languages/tremor.js.map +1 -0
  1648. package/dist/prism/languages/tsx.d.ts +3 -0
  1649. package/dist/prism/languages/tsx.js +26 -0
  1650. package/dist/prism/languages/tsx.js.map +1 -0
  1651. package/dist/prism/languages/tt2.d.ts +3 -0
  1652. package/dist/prism/languages/tt2.js +36 -0
  1653. package/dist/prism/languages/tt2.js.map +1 -0
  1654. package/dist/prism/languages/turtle.d.ts +3 -0
  1655. package/dist/prism/languages/turtle.js +41 -0
  1656. package/dist/prism/languages/turtle.js.map +1 -0
  1657. package/dist/prism/languages/twig.d.ts +3 -0
  1658. package/dist/prism/languages/twig.js +39 -0
  1659. package/dist/prism/languages/twig.js.map +1 -0
  1660. package/dist/prism/languages/typescript.d.ts +3 -0
  1661. package/dist/prism/languages/typescript.js +43 -0
  1662. package/dist/prism/languages/typescript.js.map +1 -0
  1663. package/dist/prism/languages/typoscript.d.ts +3 -0
  1664. package/dist/prism/languages/typoscript.js +55 -0
  1665. package/dist/prism/languages/typoscript.js.map +1 -0
  1666. package/dist/prism/languages/unrealscript.d.ts +3 -0
  1667. package/dist/prism/languages/unrealscript.js +39 -0
  1668. package/dist/prism/languages/unrealscript.js.map +1 -0
  1669. package/dist/prism/languages/uorazor.d.ts +3 -0
  1670. package/dist/prism/languages/uorazor.js +37 -0
  1671. package/dist/prism/languages/uorazor.js.map +1 -0
  1672. package/dist/prism/languages/uri.d.ts +3 -0
  1673. package/dist/prism/languages/uri.js +71 -0
  1674. package/dist/prism/languages/uri.js.map +1 -0
  1675. package/dist/prism/languages/v.d.ts +3 -0
  1676. package/dist/prism/languages/v.js +72 -0
  1677. package/dist/prism/languages/v.js.map +1 -0
  1678. package/dist/prism/languages/vala.d.ts +3 -0
  1679. package/dist/prism/languages/vala.js +67 -0
  1680. package/dist/prism/languages/vala.js.map +1 -0
  1681. package/dist/prism/languages/vbnet.d.ts +3 -0
  1682. package/dist/prism/languages/vbnet.js +20 -0
  1683. package/dist/prism/languages/vbnet.js.map +1 -0
  1684. package/dist/prism/languages/velocity.d.ts +3 -0
  1685. package/dist/prism/languages/velocity.js +61 -0
  1686. package/dist/prism/languages/velocity.js.map +1 -0
  1687. package/dist/prism/languages/verilog.d.ts +3 -0
  1688. package/dist/prism/languages/verilog.js +22 -0
  1689. package/dist/prism/languages/verilog.js.map +1 -0
  1690. package/dist/prism/languages/vhdl.d.ts +3 -0
  1691. package/dist/prism/languages/vhdl.js +29 -0
  1692. package/dist/prism/languages/vhdl.js.map +1 -0
  1693. package/dist/prism/languages/vim.d.ts +3 -0
  1694. package/dist/prism/languages/vim.js +17 -0
  1695. package/dist/prism/languages/vim.js.map +1 -0
  1696. package/dist/prism/languages/visual-basic.d.ts +3 -0
  1697. package/dist/prism/languages/visual-basic.js +26 -0
  1698. package/dist/prism/languages/visual-basic.js.map +1 -0
  1699. package/dist/prism/languages/vue.d.ts +3 -0
  1700. package/dist/prism/languages/vue.js +60 -0
  1701. package/dist/prism/languages/vue.js.map +1 -0
  1702. package/dist/prism/languages/warpscript.d.ts +3 -0
  1703. package/dist/prism/languages/warpscript.js +20 -0
  1704. package/dist/prism/languages/warpscript.js.map +1 -0
  1705. package/dist/prism/languages/wasm.d.ts +3 -0
  1706. package/dist/prism/languages/wasm.js +25 -0
  1707. package/dist/prism/languages/wasm.js.map +1 -0
  1708. package/dist/prism/languages/web-idl.d.ts +3 -0
  1709. package/dist/prism/languages/web-idl.js +50 -0
  1710. package/dist/prism/languages/web-idl.js.map +1 -0
  1711. package/dist/prism/languages/wgsl.d.ts +3 -0
  1712. package/dist/prism/languages/wgsl.js +64 -0
  1713. package/dist/prism/languages/wgsl.js.map +1 -0
  1714. package/dist/prism/languages/wiki.d.ts +3 -0
  1715. package/dist/prism/languages/wiki.js +69 -0
  1716. package/dist/prism/languages/wiki.js.map +1 -0
  1717. package/dist/prism/languages/wolfram.d.ts +3 -0
  1718. package/dist/prism/languages/wolfram.js +28 -0
  1719. package/dist/prism/languages/wolfram.js.map +1 -0
  1720. package/dist/prism/languages/wren.d.ts +3 -0
  1721. package/dist/prism/languages/wren.js +59 -0
  1722. package/dist/prism/languages/wren.js.map +1 -0
  1723. package/dist/prism/languages/xeora.d.ts +3 -0
  1724. package/dist/prism/languages/xeora.js +76 -0
  1725. package/dist/prism/languages/xeora.js.map +1 -0
  1726. package/dist/prism/languages/xml-doc.d.ts +3 -0
  1727. package/dist/prism/languages/xml-doc.js +31 -0
  1728. package/dist/prism/languages/xml-doc.js.map +1 -0
  1729. package/dist/prism/languages/xml.d.ts +3 -0
  1730. package/dist/prism/languages/xml.js +32 -0
  1731. package/dist/prism/languages/xml.js.map +1 -0
  1732. package/dist/prism/languages/xojo.d.ts +3 -0
  1733. package/dist/prism/languages/xojo.js +18 -0
  1734. package/dist/prism/languages/xojo.js.map +1 -0
  1735. package/dist/prism/languages/xquery.d.ts +3 -0
  1736. package/dist/prism/languages/xquery.js +116 -0
  1737. package/dist/prism/languages/xquery.js.map +1 -0
  1738. package/dist/prism/languages/yaml.d.ts +3 -0
  1739. package/dist/prism/languages/yaml.js +61 -0
  1740. package/dist/prism/languages/yaml.js.map +1 -0
  1741. package/dist/prism/languages/yang.d.ts +3 -0
  1742. package/dist/prism/languages/yang.js +22 -0
  1743. package/dist/prism/languages/yang.js.map +1 -0
  1744. package/dist/prism/languages/zig.d.ts +3 -0
  1745. package/dist/prism/languages/zig.js +59 -0
  1746. package/dist/prism/languages/zig.js.map +1 -0
  1747. package/dist/prism/tests/core-tests.d.ts +1 -0
  1748. package/dist/prism/tests/coverage.d.ts +1 -0
  1749. package/dist/prism/tests/helper/args.d.ts +3 -0
  1750. package/dist/prism/tests/helper/lang-info.d.ts +4 -0
  1751. package/dist/prism/tests/helper/prism-loader.d.ts +2 -0
  1752. package/dist/prism/tests/helper/test-case.d.ts +124 -0
  1753. package/dist/prism/tests/helper/test-discovery.d.ts +32 -0
  1754. package/dist/prism/tests/helper/token-stream-transformer.d.ts +57 -0
  1755. package/dist/prism/tests/helper/util.d.ts +48 -0
  1756. package/dist/prism/tests/identifier-test.d.ts +9 -0
  1757. package/dist/prism/tests/pattern-tests.d.ts +11 -0
  1758. package/dist/prism/tests/run.d.ts +1 -0
  1759. package/dist/prism/types.d.ts +65 -0
  1760. package/dist/prism/utils/clike-class.d.ts +7 -0
  1761. package/dist/prism/utils/data-uri.d.ts +46 -0
  1762. package/dist/prism/utils/index.d.ts +5 -0
  1763. package/dist/prism/utils/index.js +180 -0
  1764. package/dist/prism/utils/index.js.map +1 -0
  1765. package/dist/prism/utils/invisibles.d.ts +61 -0
  1766. package/dist/prism/utils/jsx-shared.d.ts +8 -0
  1767. package/dist/prism/utils/language.d.ts +86 -0
  1768. package/dist/prism/utils/markup-shared.d.ts +51 -0
  1769. package/dist/prism/utils/patterns.d.ts +8 -0
  1770. package/dist/prism/utils/shared.d.ts +24 -0
  1771. package/dist/prism/utils/t4-templating.d.ts +2 -0
  1772. package/dist/prism/utils/templating.d.ts +13 -0
  1773. package/dist/prism/utils/tokenize-strings.d.ts +11 -0
  1774. package/dist/prism/utils/xml-shared.d.ts +35 -0
  1775. package/dist/prism-DQfI9mbP.js.map +1 -0
  1776. package/dist/prism-okaidia-D1j-vHMK.js.map +1 -0
  1777. package/dist/prism-okaidia.js +6 -0
  1778. package/dist/prism-solarized-light-BIHridZg.js.map +1 -0
  1779. package/dist/prism-solarized-light.js +6 -0
  1780. package/dist/prism-tomorrow-DE4zqA_q.js.map +1 -0
  1781. package/dist/prism-tomorrow.js +6 -0
  1782. package/dist/prism-twilight-C9c0bFwL.js.map +1 -0
  1783. package/dist/prism-twilight.js +6 -0
  1784. package/dist/prism.js +6 -0
  1785. package/dist/readonly-GQzeUj3U.js +23 -0
  1786. package/dist/readonly-GQzeUj3U.js.map +1 -0
  1787. package/dist/replace-Dyz0WLX4.js +100 -0
  1788. package/dist/replace-Dyz0WLX4.js.map +1 -0
  1789. package/dist/rtl-layout.css +1 -0
  1790. package/dist/scrollbar.css +1 -0
  1791. package/dist/search-2QkWYhOj.js +78 -0
  1792. package/dist/search-2QkWYhOj.js.map +1 -0
  1793. package/dist/search.css +1 -0
  1794. package/dist/selection-BXGGkB5o.js +78 -0
  1795. package/dist/selection-BXGGkB5o.js.map +1 -0
  1796. package/dist/setups/basic.d.ts +3 -0
  1797. package/dist/setups/index.d.ts +36 -0
  1798. package/dist/setups/index.js +81 -0
  1799. package/dist/setups/index.js.map +1 -0
  1800. package/dist/setups/readonly.d.ts +3 -0
  1801. package/dist/setups/styles.d.ts +2 -0
  1802. package/dist/shared-c_zHT_t0.js +59 -0
  1803. package/dist/shared-c_zHT_t0.js.map +1 -0
  1804. package/dist/shared-oTKIFAwH.js +32 -0
  1805. package/dist/shared-oTKIFAwH.js.map +1 -0
  1806. package/dist/ssr/brackets.d.ts +12 -0
  1807. package/dist/ssr/code-block.d.ts +62 -0
  1808. package/dist/ssr/guides.d.ts +9 -0
  1809. package/dist/ssr/index.d.ts +33 -0
  1810. package/dist/ssr/index.js +167 -0
  1811. package/dist/ssr/index.js.map +1 -0
  1812. package/dist/ssr/utils.d.ts +2 -0
  1813. package/dist/styles-BtZC7KyZ.js +7 -0
  1814. package/dist/styles-BtZC7KyZ.js.map +1 -0
  1815. package/dist/t4-templating-CwQ1DEwN.js +36 -0
  1816. package/dist/t4-templating-CwQ1DEwN.js.map +1 -0
  1817. package/dist/templating-BJaqFF_t.js +60 -0
  1818. package/dist/templating-BJaqFF_t.js.map +1 -0
  1819. package/dist/testsite/index.d.ts +0 -0
  1820. package/dist/themes/atom-one-dark.css +1 -0
  1821. package/dist/themes/dracula.css +1 -0
  1822. package/dist/themes/github-dark-dimmed.css +1 -0
  1823. package/dist/themes/github-dark.css +1 -0
  1824. package/dist/themes/github-light.css +1 -0
  1825. package/dist/themes/index.d.ts +19 -0
  1826. package/dist/themes/index.js +37 -0
  1827. package/dist/themes/index.js.map +1 -0
  1828. package/dist/themes/night-owl-light.css +1 -0
  1829. package/dist/themes/night-owl.css +1 -0
  1830. package/dist/themes/prism-okaidia.css +1 -0
  1831. package/dist/themes/prism-solarized-light.css +1 -0
  1832. package/dist/themes/prism-tomorrow.css +1 -0
  1833. package/dist/themes/prism-twilight.css +1 -0
  1834. package/dist/themes/prism.css +1 -0
  1835. package/dist/themes/vs-code-dark.css +1 -0
  1836. package/dist/themes/vs-code-light.css +1 -0
  1837. package/dist/tooltip-CYiVU7WY.js +556 -0
  1838. package/dist/tooltip-CYiVU7WY.js.map +1 -0
  1839. package/dist/tooltips.d.ts +34 -0
  1840. package/dist/tooltips.js +63 -0
  1841. package/dist/tooltips.js.map +1 -0
  1842. package/dist/types.d.ts +163 -0
  1843. package/dist/utils/bracket.d.ts +2 -0
  1844. package/dist/utils/index.d.ts +109 -0
  1845. package/dist/utils/index.js +2 -0
  1846. package/dist/utils/local.d.ts +19 -0
  1847. package/dist/utils-DSQ-ulqQ.js +258 -0
  1848. package/dist/utils-DSQ-ulqQ.js.map +1 -0
  1849. package/dist/utils-umP5W0OV.js +213 -0
  1850. package/dist/utils-umP5W0OV.js.map +1 -0
  1851. package/dist/vs-code-dark-C6WLNHCv.js.map +1 -0
  1852. package/dist/vs-code-dark.js +6 -0
  1853. package/dist/vs-code-light-7gCe7xrJ.js.map +1 -0
  1854. package/dist/vs-code-light.js +6 -0
  1855. package/dist/webComponent.d.ts +37 -0
  1856. package/dist/webComponent.js +108 -0
  1857. package/dist/webComponent.js.map +1 -0
  1858. package/dist/xml-shared-ONZRGEwv.js +33 -0
  1859. package/dist/xml-shared-ONZRGEwv.js.map +1 -0
  1860. package/package.json +136 -0
  1861. package/readme.md +128 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands-HRCav5fj.js","names":[],"sources":["../src/extensions/commands/commands.ts","../src/extensions/commands/deprecated.ts","../src/extensions/commands/format.ts","../src/extensions/commands/index.ts"],"sourcesContent":["import { Language, languageMap } from \"../..\"\nimport { PrismEditor } from \"../../types.js\"\nimport {\n\tgetLanguage,\n\tgetLineBefore,\n\tgetLines,\n\tinsertText,\n\tisMac,\n\tregexEscape,\n} from \"../../utils/index.js\"\nimport { getLineEnd, getLineStart, getStyleValue } from \"../../utils/local\"\nimport { defaultCommands } from \"./deprecated.js\"\nimport { EditorHotkey } from \"./types.js\"\n\nlet ignoreTab = false\n\n/**\n * Sets whether editors should ignore tab or use it for indentation. Users can toggle\n * this using `Ctrl` + `M` / `Ctrl` + `Shift` + `M` (Mac) when the {@link defaultKeymap}\n * or {@link defaultCommands} extension is used.\n */\nconst setIgnoreTab = (newState: boolean) => (ignoreTab = newState)\nconst whitespaceEnd = (str: string) => str.search(/\\S|$/)\n\nconst getIndent = ({ options: { insertSpaces = true, tabSize } }: PrismEditor) =>\n\t[insertSpaces ? \" \" : \"\\t\", insertSpaces ? tabSize || 2 : 1] as const\n\nconst scroll = (editor: PrismEditor) =>\n\t!editor.options.readOnly && !editor.extensions.cursor?.scrollIntoView()\n\n/**\n * Inserts slightly altered lines while keeping the same selection.\n * Used when toggling comments and indenting.\n */\nconst insertLines = (\n\teditor: PrismEditor,\n\told: string[],\n\tnewL: string[],\n\tstart: number,\n\tend: number,\n\tselectionStart: number,\n\tselectionEnd: number,\n) => {\n\tlet newLines = newL.join(\"\\n\")\n\n\tif (newLines == old.join(\"\\n\")) return\n\n\tconst last = old.length - 1\n\tconst lastLine = newL[last]\n\tconst oldLastLine = old[last]\n\tconst lastDiff = oldLastLine.length - lastLine.length\n\tconst firstDiff = newL[0].length - old[0].length\n\tconst firstInsersion = start + whitespaceEnd((firstDiff < 0 ? newL : old)[0])\n\tconst lastInsersion =\n\t\tend - oldLastLine.length + whitespaceEnd(lastDiff > 0 ? lastLine : oldLastLine)\n\tconst offset = start - end + newLines.length + lastDiff\n\tconst newCursorStart =\n\t\tfirstInsersion > selectionStart\n\t\t\t? selectionStart\n\t\t\t: Math.max(firstInsersion, selectionStart + firstDiff)\n\tconst newCursorEnd = selectionEnd + start - end + newLines.length\n\n\tinsertText(\n\t\teditor,\n\t\tnewLines,\n\t\tstart,\n\t\tend,\n\t\tnewCursorStart,\n\t\tselectionEnd < lastInsersion\n\t\t\t? newCursorEnd + lastDiff\n\t\t\t: Math.max(lastInsersion + offset, newCursorEnd),\n\t)\n}\n\n/**\n * Command that indents or outdents all user-selected lines in the editor unless the\n * editor is `readOnly`.\n * @param editor Editor to execute the command on.\n * @param less By default lines are indented. By passing `true`, lines are outdented\n * instead.\n */\nconst indentSelectedLines = (editor: PrismEditor, less?: boolean) => {\n\tconst [start, end] = editor.getSelection()\n\tconst [lines, start1, end1] = getLines(editor.value, start, end)\n\tconst [indentChar, tabSize] = getIndent(editor)\n\n\tinsertLines(\n\t\teditor,\n\t\tlines,\n\t\tlines.map(\n\t\t\tless\n\t\t\t\t? str => str.slice(whitespaceEnd(str) ? tabSize - (whitespaceEnd(str) % tabSize) : 0)\n\t\t\t\t: str => str && indentChar.repeat(tabSize - (whitespaceEnd(str) % tabSize)) + str,\n\t\t),\n\t\tstart1,\n\t\tend1,\n\t\tstart,\n\t\tend,\n\t)\n\n\treturn scroll(editor)\n}\n\n/**\n * Command that inserts spaces if `insertSpaces` isn't `false` or a tab character\n * otherwise at the specified position unless the editor is `readOnly`.\n * @param editor Editor to execute the command on.\n * @param pos Position to insert the tab.\n */\nconst insertTab = (editor: PrismEditor, pos: number) => {\n\tconst [indentChar, tabSize] = getIndent(editor)\n\n\tinsertText(\n\t\teditor,\n\t\tindentChar.repeat(tabSize - ((pos - getLineStart(editor.value, pos)) % tabSize)),\n\t)\n\n\treturn scroll(editor)\n}\n\n/**\n * Command that inserts a new line replacing the current selection unless the editor is\n * `readOnly`. It uses the `autoIndent` behavior of the current language to determine\n * whether to preserve the indentation or increase it.\n * @param editor Editor to execute the command on.\n * @param eol If `true`, the new line is inserted at the end of the line instead of at\n * the cursor's position.\n */\nconst insertLineAndIndent = (editor: PrismEditor, eol?: boolean) => {\n\tlet selection = editor.getSelection()\n\tlet value = editor.value\n\n\tif (eol) selection[0] = selection[1] = getLineEnd(value, selection[1])\n\n\tconst [indentChar, tabSize] = getIndent(editor)\n\tconst [start, end] = selection\n\tconst autoIndent = languageMap[getLanguage(editor, start)]?.autoIndent\n\tconst indenationCount = Math.floor(whitespaceEnd(getLineBefore(value, start)) / tabSize) * tabSize\n\tconst extraIndent = autoIndent?.[0]?.(selection, value, editor) ? tabSize : 0\n\tconst extraLine = autoIndent?.[1]?.(selection, value, editor)\n\tconst newText =\n\t\t\"\\n\" +\n\t\tindentChar.repeat(indenationCount + extraIndent) +\n\t\t(extraLine ? \"\\n\" + indentChar.repeat(indenationCount) : \"\")\n\n\tif (newText[1] || value[end]) {\n\t\tinsertText(editor, newText, start, end, start + indenationCount + extraIndent + 1)\n\t\treturn scroll(editor)\n\t}\n}\n\n/**\n * Command that moves all selected lines unless the editor is `readOnly`.\n * @param editor Editor to execute the command on.\n * @param up Whether to move the lines up. Defaults to `false`.\n */\nconst moveSelectedLines = (editor: PrismEditor, up?: boolean) => {\n\tconst [start, end] = editor.getSelection()\n\tconst value = editor.value\n\tconst newStart = up ? getLineStart(value, start) - 1 : start\n\tconst newEnd = up ? end : value.indexOf(\"\\n\", end) + 1\n\n\tif (newStart > -1 && newEnd > 0) {\n\t\tconst [lines, start1, end1] = getLines(value, newStart, newEnd)\n\t\tconst line = lines[up ? \"shift\" : \"pop\"]()!\n\t\tconst offset = (line.length + 1) * (up ? -1 : 1)\n\n\t\tlines[up ? \"push\" : \"unshift\"](line)\n\t\tinsertText(editor, lines.join(\"\\n\"), start1, end1, start + offset, end + offset)\n\t}\n\n\treturn scroll(editor)\n}\n\n/**\n * Command that copies all selected lines unless the editor is `readOnly`.\n * @param editor Editor to execute the command on.\n * @param up Whether or not the selection should remain on the top copy. Defaults to\n * `false`.\n */\nconst copySelectedLines = (editor: PrismEditor, up?: boolean) => {\n\tconst [start, end] = editor.getSelection()\n\tconst value = editor.value\n\tconst [lines, start1, end1] = getLines(value, start, end)\n\tconst str = lines.join(\"\\n\")\n\tconst offset = up ? 0 : str.length + 1\n\n\tinsertText(editor, str + \"\\n\" + str, start1, end1, start + offset, end + offset)\n\treturn scroll(editor)\n}\n\n/**\n * Command that scrolls the editor by one line.\n * @param editor Editor to execute the command on.\n * @param up Whether to scroll up. Defaults to `false`.\n */\nconst scrollByOneLine = (editor: PrismEditor, up?: boolean) => {\n\teditor.container.scrollBy(0, getStyleValue(editor.container, \"lineHeight\") * (up ? -1 : 1))\n\treturn true\n}\n\n/**\n * Command that deletes all selected lines unless the editor is `readOnly`.\n * @param editor Editor to execute the command on.\n */\nconst deleteSelectedLines = (editor: PrismEditor) => {\n\tconst [start, end, dir] = editor.getSelection()\n\tconst value = editor.value\n\tconst [lines, start1, end1] = getLines(value, start, end)\n\tconst column = dir > \"f\" ? end - end1 + lines.pop()!.length : start - start1\n\tconst newLineLen = getLineEnd(value, end1 + 1) - end1 - 1\n\n\tinsertText(\n\t\teditor,\n\t\t\"\",\n\t\tstart1 - <any>!!start1,\n\t\tend1 + <any>!start1,\n\t\tstart1 + Math.min(column, newLineLen),\n\t)\n\treturn scroll(editor)\n}\n\n/**\n * Command that toggles the comment around the current selection unless the editor is\n * `readOnly`. Comment syntax is determined using the current {@link Language}. It will\n * use the `getComments()` method if present and the `comments` property otherwise.\n * @param editor Editor to execute the command on.\n * @param isBlock Whether or not to toggle the comment using block syntax.\n */\nconst toggleComment = (editor: PrismEditor, isBlock?: boolean) => {\n\tconst [start, end] = editor.getSelection()\n\tconst value = editor.value\n\tconst position = isBlock ? start : getLineStart(value, start)\n\tconst lang = languageMap[getLanguage(editor, position)] || {}\n\tconst { line, block } = lang.getComments?.(editor, position, value) || lang.comments || {}\n\tconst [lines, start1, end1] = getLines(value, start, end)\n\tconst last = lines.length - 1\n\n\tif (isBlock) {\n\t\tif (block) {\n\t\t\tconst [open, close] = block\n\t\t\tconst text = value.slice(start, end)\n\t\t\tconst pos = value.slice(0, start).search(regexEscape(open) + \" ?$\")\n\n\t\t\tif (pos + 1 && RegExp(\"^ ?\" + regexEscape(close)).test(value.slice(end))) {\n\t\t\t\tinsertText(\n\t\t\t\t\teditor,\n\t\t\t\t\ttext,\n\t\t\t\t\tpos,\n\t\t\t\t\tend + <any>(value[end] == \" \") + close.length,\n\t\t\t\t\tpos,\n\t\t\t\t\tpos + end - start,\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tinsertText(\n\t\t\t\t\teditor,\n\t\t\t\t\t`${open} ${text} ${close}`,\n\t\t\t\t\tstart,\n\t\t\t\t\tend,\n\t\t\t\t\tstart + open.length + 1,\n\t\t\t\t\tend + open.length + 1,\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif (line) {\n\t\t\tconst escaped = regexEscape(line)\n\t\t\tconst regex = RegExp(`^\\\\s*(${escaped} ?|$)`)\n\t\t\tconst regex2 = RegExp(escaped + \" ?\")\n\t\t\tconst allWhiteSpace = !/\\S/.test(value.slice(start1, end1))\n\t\t\tconst newLines = lines.map(\n\t\t\t\t!allWhiteSpace && lines.every(line => regex.test(line))\n\t\t\t\t\t? str => str.replace(regex2, \"\")\n\t\t\t\t\t: str => (allWhiteSpace || /\\S/.test(str) ? str.replace(/(?!\\s)/, line + \" \") : str),\n\t\t\t)\n\t\t\tinsertLines(editor, lines, newLines, start1, end1, start, end)\n\t\t} else if (block) {\n\t\t\tconst [open, close] = block\n\t\t\tconst first = lines[0]\n\t\t\tconst insertionPoint = whitespaceEnd(first)\n\t\t\tconst hasComment = first.startsWith(open, insertionPoint) && lines[last].endsWith(close)\n\n\t\t\tlines[0] = first.replace(\n\t\t\t\thasComment ? RegExp(regexEscape(open) + \" ?\") : /(?!\\s)/,\n\t\t\t\thasComment ? \"\" : open + \" \",\n\t\t\t)\n\t\t\tlet diff = lines[0].length - first.length\n\t\t\tlines[last] = hasComment\n\t\t\t\t? lines[last].replace(RegExp(` ?${regexEscape(close)}$`), \"\")\n\t\t\t\t: lines[last] + \" \" + close\n\n\t\t\tlet newText = lines.join(\"\\n\")\n\t\t\tlet firstInsersion = insertionPoint + start1\n\t\t\tlet newStart = firstInsersion > start ? start : Math.max(start + diff, firstInsersion)\n\t\t\tlet newEnd =\n\t\t\t\tfirstInsersion > end - <any>(start != end)\n\t\t\t\t\t? end\n\t\t\t\t\t: Math.min(Math.max(firstInsersion, end + diff), start1 + newText.length)\n\t\t\tinsertText(editor, newText, start1, end1, newStart, Math.max(newStart, newEnd))\n\t\t}\n\t}\n\n\treturn block || (line && !isBlock) ? scroll(editor) : false\n}\n\n/**\n * Default keymapping that includes the following commands:\n *\n * - `Alt` + `ArrowUp`: Move line up\n * - `Alt` + `ArrowDown`: Move line down\n * - `Ctrl` + `ArrowUp`: Scroll one line up (Windows/Linux)\n * - `Ctrl` + `ArrowDown`: Scroll one line down (Windows/Linux)\n * - `Ctrl` + `PageUp`: Scroll one line up (Mac)\n * - `Ctrl` + `PageDown`: Scroll one line down (Mac)\n * - `Shift` + `Alt` + `ArrowUp`: Copy line up\n * - `Shift` + `Alt` + `ArrowDown`: Copy line down\n * - `Enter`: Insert line and indent\n * - `Shift` + `Enter`: Insert line and indent\n * - `Mod` + `Enter`: Insert blank line\n * - `Mod` + `]`: Indent line\n * - `Mod` + `[`: Outdent line\n * - `Tab`: Indent line (Tab capture enabled)\n * - `Shift` + `Tab`: Outdent line (Tab capture enabled)\n * - `Shift` + `Mod` + `K`: Delete line\n * - `Mod` + `/`: Toggle comment\n * - `Shift` + `Alt` + `A`: Toggle block comment\n * - `Ctrl` + `M`: Toggle tab capturing (Windows/Linux)\n * - `Ctrl` + `Shift` + `M`: Toggle tab capturing (Mac)\n *\n * Here, `Mod` refers to `Cmd` on Mac and `Ctrl` otherwise.\n */\nconst defaultKeymap: Record<string, EditorHotkey> = {\n\tTab(editor) {\n\t\tif (!ignoreTab) {\n\t\t\tconst [start, end] = editor.getSelection()\n\t\t\treturn start == end ? insertTab(editor, start) : indentSelectedLines(editor)\n\t\t}\n\t},\n\t\"8+Tab\": editor => !ignoreTab && indentSelectedLines(editor, true),\n\t\"1+ArrowDown\": editor => moveSelectedLines(editor),\n\t\"1+ArrowUp\": editor => moveSelectedLines(editor, true),\n\t\"9+ArrowDown\": editor => copySelectedLines(editor),\n\t\"9+ArrowUp\": editor => copySelectedLines(editor, true),\n\tEnter: editor => insertLineAndIndent(editor),\n\t\"8+Enter\": editor => insertLineAndIndent(editor),\n\t\"Mod+Enter\": editor => insertLineAndIndent(editor, true),\n\t\"Mod+]\": editor => indentSelectedLines(editor),\n\t\"Mod+[\": editor => indentSelectedLines(editor, true),\n\t\"8+Mod+k\": deleteSelectedLines,\n\t\"Mod+/\": editor => toggleComment(editor),\n\t\"9+a\": editor => toggleComment(editor, true),\n\t[isMac ? \"10+m\" : \"2+m\"]: () => ((ignoreTab = !ignoreTab), true),\n\t[`2+${isMac ? \"Page\" : \"Arrow\"}Down`]: editor => scrollByOneLine(editor),\n\t[`2+${isMac ? \"Page\" : \"Arrow\"}Up`]: editor => scrollByOneLine(editor, true),\n}\n\nexport {\n\twhitespaceEnd,\n\tscroll,\n\tindentSelectedLines,\n\tinsertTab,\n\tinsertLineAndIndent,\n\tmoveSelectedLines,\n\tcopySelectedLines,\n\tscrollByOneLine,\n\tdeleteSelectedLines,\n\ttoggleComment,\n\tsetIgnoreTab,\n\tdefaultKeymap,\n\tignoreTab,\n}\n","import { InputSelection, BasicExtension } from \"../../index.js\"\nimport { preventDefault, languageMap } from \"../../core.js\"\nimport {\n\tgetLanguage,\n\tinsertText,\n\tgetLineBefore,\n\tgetLines,\n\tregexEscape,\n\tgetModifierCode,\n\tsetSelection,\n\tisMac,\n} from \"../../utils/index.js\"\nimport { addTextareaListener, getLineEnd, getLineStart, getStyleValue } from \"../../utils/local.js\"\nimport { mod } from \"./utils.js\"\nimport { ignoreTab, setIgnoreTab, whitespaceEnd } from \"./commands.js\"\nimport { editorCommands } from \"./index.js\"\n\n/**\n * Extension that will add automatic indentation and closing of brackets, quotes, and\n * tags along with the commands presented later.\n *\n * ## Commands\n *\n * Here, `Mod` refers to `Cmd` on Mac and `Ctrl` otherwise.\n *\n * - `Alt` + `ArrowUp`: Move line up\n * - `Alt` + `ArrowDown`: Move line down\n * - `Ctrl` + `ArrowUp`: Scroll one line up (Windows/Linux only)\n * - `Ctrl` + `ArrowDown`: Scroll one line down (Windows/Linux only)\n * - `Shift` + `Alt` + `ArrowUp`: Copy line up\n * - `Shift` + `Alt` + `ArrowDown`: Copy line down\n * - `Mod` + `Enter`: Insert blank line\n * - `Mod` + `]`: Indent line\n * - `Mod` + `[`: Outdent line\n * - `Tab`: Indent line (Tab capture enabled)\n * - `Shift` + `Tab`: Outdent line (Tab capture enabled)\n * - `Shift` + `Mod` + `K`: Delete line\n * - `Mod` + `/`: Toggle comment\n * - `Shift` + `Alt` + `A`: Toggle block comment\n * - `Ctrl` + `M`: Toggle tab capturing (Windows/Linux)\n * - `Ctrl` + `Shift` + `M`: Toggle tab capturing (Mac)\n *\n * @param selfClosePairs Pairs of self-closing brackets and quotes.\n * Must be an array of strings with 2 characters each.\n * Defaults to `['\"\"', \"''\", '``', '()', '[]', '{}']`.\n * @param selfCloseRegex Regex controlling whether or not a bracket/quote should\n * automatically close based on the character before and after the cursor.\n * Defaults to ``/([^$\\w'\"`][\"'`]|.[[({])[.,:;\\])}>\\s]|.[[({]`/s``.\n *\n * @deprecated Consider using {@link editorCommands} instead. This will be removed in next\n * major release.\n */\nconst defaultCommands = (\n\tselfClosePairs = ['\"\"', \"''\", \"``\", \"()\", \"[]\", \"{}\"],\n\tselfCloseRegex = /([^$\\w'\"`][\"'`]|.[[({])[.,:;\\])}>\\s]|.[[({]`/s,\n): BasicExtension => {\n\treturn (editor, options) => {\n\t\tlet prevCopy: string\n\t\tconst { keyCommandMap, inputCommandMap, getSelection, container } = editor\n\n\t\tconst clipboard = navigator.clipboard\n\n\t\tconst getIndent = ({ insertSpaces = true, tabSize } = options) =>\n\t\t\t[insertSpaces ? \" \" : \"\\t\", insertSpaces ? tabSize || 2 : 1] as const\n\n\t\tconst scroll = () => !options.readOnly && !editor.extensions.cursor?.scrollIntoView()\n\n\t\t/**\n\t\t * Automatically closes quotes and brackets if text is selected,\n\t\t * or if the character before and after the cursor matches a regex\n\t\t * @param wrapOnly If true, the character will only be closed if text is selected.\n\t\t */\n\t\tconst selfClose = (\n\t\t\t[start, end]: InputSelection,\n\t\t\t[open, close]: string,\n\t\t\tvalue: string,\n\t\t\twrapOnly?: boolean,\n\t\t) =>\n\t\t\t(start < end ||\n\t\t\t\t(!wrapOnly && selfCloseRegex.test((value[end - 1] || \" \") + open + (value[end] || \" \")))) &&\n\t\t\t!insertText(editor, open + value.slice(start, end) + close, null, null, start + 1, end + 1)!\n\n\t\tconst skipIfEqual = ([start, end]: InputSelection, char: string, value: string) =>\n\t\t\tstart == end && value[end] == char && !setSelection(editor, start + 1)!\n\n\t\t/**\n\t\t * Inserts slightly altered lines while keeping the same selection.\n\t\t * Used when toggling comments and indenting.\n\t\t */\n\t\tconst insertLines = (\n\t\t\told: string[],\n\t\t\tnewL: string[],\n\t\t\tstart: number,\n\t\t\tend: number,\n\t\t\tselectionStart: number,\n\t\t\tselectionEnd: number,\n\t\t) => {\n\t\t\tlet newLines = newL.join(\"\\n\")\n\t\t\tif (newLines != old.join(\"\\n\")) {\n\t\t\t\tconst last = old.length - 1\n\t\t\t\tconst lastLine = newL[last]\n\t\t\t\tconst oldLastLine = old[last]\n\t\t\t\tconst lastDiff = oldLastLine.length - lastLine.length\n\t\t\t\tconst firstDiff = newL[0].length - old[0].length\n\t\t\t\tconst firstInsersion = start + whitespaceEnd((firstDiff < 0 ? newL : old)[0])\n\t\t\t\tconst lastInsersion =\n\t\t\t\t\tend - oldLastLine.length + whitespaceEnd(lastDiff > 0 ? lastLine : oldLastLine)\n\t\t\t\tconst offset = start - end + newLines.length + lastDiff\n\t\t\t\tconst newCursorStart =\n\t\t\t\t\tfirstInsersion > selectionStart\n\t\t\t\t\t\t? selectionStart\n\t\t\t\t\t\t: Math.max(firstInsersion, selectionStart + firstDiff)\n\t\t\t\tconst newCursorEnd = selectionEnd + start - end + newLines.length\n\t\t\t\tinsertText(\n\t\t\t\t\teditor,\n\t\t\t\t\tnewLines,\n\t\t\t\t\tstart,\n\t\t\t\t\tend,\n\t\t\t\t\tnewCursorStart,\n\t\t\t\t\tselectionEnd < lastInsersion\n\t\t\t\t\t\t? newCursorEnd + lastDiff\n\t\t\t\t\t\t: Math.max(lastInsersion + offset, newCursorEnd),\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\n\t\tconst indent = (\n\t\t\toutdent: boolean,\n\t\t\tlines: string[],\n\t\t\tstart1: number,\n\t\t\tend1: number,\n\t\t\tstart: number,\n\t\t\tend: number,\n\t\t\tindentChar: string,\n\t\t\ttabSize: number,\n\t\t) => {\n\t\t\tinsertLines(\n\t\t\t\tlines,\n\t\t\t\tlines.map(\n\t\t\t\t\toutdent\n\t\t\t\t\t\t? str => str.slice(whitespaceEnd(str) ? tabSize - (whitespaceEnd(str) % tabSize) : 0)\n\t\t\t\t\t\t: str => str && indentChar.repeat(tabSize - (whitespaceEnd(str) % tabSize)) + str,\n\t\t\t\t),\n\t\t\t\tstart1,\n\t\t\t\tend1,\n\t\t\t\tstart,\n\t\t\t\tend,\n\t\t\t)\n\t\t}\n\n\t\tinputCommandMap[\"<\"] = (_e, selection, value) => selfClose(selection, \"<>\", value, true)\n\n\t\tselfClosePairs.forEach(([open, close]) => {\n\t\t\tconst isQuote = open == close\n\t\t\tinputCommandMap[open] = (_e, selection, value) =>\n\t\t\t\t((isQuote && skipIfEqual(selection, close, value)) ||\n\t\t\t\t\tselfClose(selection, open + close, value)) &&\n\t\t\t\tscroll()\n\t\t\tif (!isQuote)\n\t\t\t\tinputCommandMap[close] = (_e, selection, value) =>\n\t\t\t\t\tskipIfEqual(selection, close, value) && scroll()\n\t\t})\n\n\t\tinputCommandMap[\">\"] = (e, selection, value) => {\n\t\t\tconst closingTag = languageMap[getLanguage(editor)]?.autoCloseTags?.(selection, value, editor)\n\t\t\tif (closingTag) {\n\t\t\t\tinsertText(editor, \">\" + closingTag, null, null, selection[0] + 1)\n\t\t\t\tpreventDefault(e)\n\t\t\t}\n\t\t}\n\n\t\tkeyCommandMap.Tab = (e, [start, end], value) => {\n\t\t\tif (ignoreTab || options.readOnly || getModifierCode(e) & 7) return\n\t\t\tconst [indentChar, tabSize] = getIndent()\n\t\t\tconst shiftKey = e.shiftKey\n\t\t\tconst [lines, start1, end1] = getLines(value, start, end)\n\t\t\tif (start < end || shiftKey) {\n\t\t\t\tindent(shiftKey, lines, start1, end1, start, end, indentChar, tabSize)\n\t\t\t} else insertText(editor, indentChar.repeat(tabSize - ((start - start1) % tabSize)))\n\t\t\treturn scroll()\n\t\t}\n\n\t\tkeyCommandMap.Enter = (e, selection, value) => {\n\t\t\tconst code = getModifierCode(e) & 7\n\t\t\tif (!code || code == mod) {\n\t\t\t\tif (code) selection[0] = selection[1] = getLines(value, selection[1])[2]\n\t\t\t\tconst [indentChar, tabSize] = getIndent()\n\t\t\t\tconst [start, end] = selection\n\t\t\t\tconst autoIndent = languageMap[getLanguage(editor, start)]?.autoIndent\n\t\t\t\tconst indenationCount =\n\t\t\t\t\tMath.floor(whitespaceEnd(getLineBefore(value, start)) / tabSize) * tabSize\n\t\t\t\tconst extraIndent = autoIndent?.[0]?.(selection, value, editor) ? tabSize : 0\n\t\t\t\tconst extraLine = autoIndent?.[1]?.(selection, value, editor)\n\t\t\t\tconst newText =\n\t\t\t\t\t\"\\n\" +\n\t\t\t\t\tindentChar.repeat(indenationCount + extraIndent) +\n\t\t\t\t\t(extraLine ? \"\\n\" + indentChar.repeat(indenationCount) : \"\")\n\n\t\t\t\tif (newText[1] || value[end]) {\n\t\t\t\t\tinsertText(editor, newText, start, end, start + indenationCount + extraIndent + 1)\n\t\t\t\t\treturn scroll()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tkeyCommandMap.Backspace = (_e, [start, end], value) => {\n\t\t\tif (start == end) {\n\t\t\t\tconst line = getLineBefore(value, start)\n\t\t\t\tconst tabSize = options.tabSize || 2\n\t\t\t\tconst isPair = selfClosePairs.includes(value.slice(start - 1, start + 1))\n\t\t\t\tconst indenationCount = /[^ ]/.test(line) ? 0 : ((line.length - 1) % tabSize) + 1\n\n\t\t\t\tif (isPair || indenationCount > 1) {\n\t\t\t\t\tinsertText(editor, \"\", start - (isPair ? 1 : indenationCount), start + <any>isPair)\n\t\t\t\t\treturn scroll()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (let i = 0; i < 2; i++) {\n\t\t\tkeyCommandMap[i ? \"ArrowDown\" : \"ArrowUp\"] = (e, [start, end], value) => {\n\t\t\t\tconst code = getModifierCode(e)\n\n\t\t\t\tif (code == 1) {\n\t\t\t\t\t// Moving lines\n\t\t\t\t\tconst newStart = i ? start : getLineStart(value, start) - 1\n\t\t\t\t\tconst newEnd = i ? value.indexOf(\"\\n\", end) + 1 : end\n\t\t\t\t\tif (newStart > -1 && newEnd > 0) {\n\t\t\t\t\t\tconst [lines, start1, end1] = getLines(value, newStart, newEnd)\n\t\t\t\t\t\tconst line = lines[i ? \"pop\" : \"shift\"]()!\n\t\t\t\t\t\tconst offset = (line.length + 1) * (i ? 1 : -1)\n\n\t\t\t\t\t\tlines[i ? \"unshift\" : \"push\"](line)\n\t\t\t\t\t\tinsertText(editor, lines.join(\"\\n\"), start1, end1, start + offset, end + offset)\n\t\t\t\t\t}\n\t\t\t\t\treturn scroll()\n\t\t\t\t} else if (code == 9) {\n\t\t\t\t\t// Copying lines\n\t\t\t\t\tconst [lines, start1, end1] = getLines(value, start, end)\n\t\t\t\t\tconst str = lines.join(\"\\n\")\n\t\t\t\t\tconst offset = i ? str.length + 1 : 0\n\t\t\t\t\tinsertText(editor, str + \"\\n\" + str, start1, end1, start + offset, end + offset)\n\t\t\t\t\treturn scroll()\n\t\t\t\t} else if (code == 2 && !isMac) {\n\t\t\t\t\tcontainer.scrollBy(0, getStyleValue(container, \"lineHeight\") * (i ? 1 : -1))\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\taddTextareaListener(editor, \"keydown\", e => {\n\t\t\tconst code = getModifierCode(e)\n\t\t\tconst keyCode = e.keyCode\n\t\t\tconst [start, end, dir] = getSelection()\n\n\t\t\tif (code == mod && (keyCode == 221 || keyCode == 219)) {\n\t\t\t\tindent(keyCode == 219, ...getLines(editor.value, start, end), start, end, ...getIndent())\n\t\t\t\tscroll()\n\t\t\t\tpreventDefault(e)\n\t\t\t} else if (code == (isMac ? 0b1010 : 0b0010) && keyCode == 77) {\n\t\t\t\tsetIgnoreTab(!ignoreTab)\n\t\t\t\tpreventDefault(e)\n\t\t\t} else if ((keyCode == 191 && code == mod) || (keyCode == 65 && code == 9)) {\n\t\t\t\tconst value = editor.value\n\t\t\t\tconst isBlock = code == 9\n\t\t\t\tconst position = isBlock ? start : getLineStart(value, start)\n\t\t\t\tconst language = languageMap[getLanguage(editor, position)] || {}\n\t\t\t\tconst { line, block } =\n\t\t\t\t\tlanguage.getComments?.(editor, position, value) || language.comments || {}\n\t\t\t\tconst [lines, start1, end1] = getLines(value, start, end)\n\t\t\t\tconst last = lines.length - 1\n\n\t\t\t\tif (isBlock) {\n\t\t\t\t\tif (block) {\n\t\t\t\t\t\tconst [open, close] = block\n\t\t\t\t\t\tconst text = value.slice(start, end)\n\t\t\t\t\t\tconst pos = value.slice(0, start).search(regexEscape(open) + \" ?$\")\n\n\t\t\t\t\t\tif (pos + 1 && RegExp(\"^ ?\" + regexEscape(close)).test(value.slice(end)))\n\t\t\t\t\t\t\tinsertText(\n\t\t\t\t\t\t\t\teditor,\n\t\t\t\t\t\t\t\ttext,\n\t\t\t\t\t\t\t\tpos,\n\t\t\t\t\t\t\t\tend + <any>(value[end] == \" \") + close.length,\n\t\t\t\t\t\t\t\tpos,\n\t\t\t\t\t\t\t\tpos + end - start,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tinsertText(\n\t\t\t\t\t\t\t\teditor,\n\t\t\t\t\t\t\t\t`${open} ${text} ${close}`,\n\t\t\t\t\t\t\t\tstart,\n\t\t\t\t\t\t\t\tend,\n\t\t\t\t\t\t\t\tstart + open.length + 1,\n\t\t\t\t\t\t\t\tend + open.length + 1,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\tscroll()\n\t\t\t\t\t\tpreventDefault(e)\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (line) {\n\t\t\t\t\t\tconst escaped = regexEscape(line)\n\t\t\t\t\t\tconst regex = RegExp(`^\\\\s*(${escaped} ?|$)`)\n\t\t\t\t\t\tconst regex2 = RegExp(escaped + \" ?\")\n\t\t\t\t\t\tconst allWhiteSpace = !/\\S/.test(value.slice(start1, end1))\n\t\t\t\t\t\tconst newLines = lines.map(\n\t\t\t\t\t\t\t!allWhiteSpace && lines.every(line => regex.test(line))\n\t\t\t\t\t\t\t\t? str => str.replace(regex2, \"\")\n\t\t\t\t\t\t\t\t: str =>\n\t\t\t\t\t\t\t\t\t\tallWhiteSpace || /\\S/.test(str) ? str.replace(/(?!\\s)/, line + \" \") : str,\n\t\t\t\t\t\t)\n\t\t\t\t\t\tinsertLines(lines, newLines, start1, end1, start, end)\n\t\t\t\t\t\tscroll()\n\t\t\t\t\t\tpreventDefault(e)\n\t\t\t\t\t} else if (block) {\n\t\t\t\t\t\tconst [open, close] = block\n\t\t\t\t\t\tconst first = lines[0]\n\t\t\t\t\t\tconst insertionPoint = whitespaceEnd(first)\n\t\t\t\t\t\tconst hasComment = first.startsWith(open, insertionPoint) && lines[last].endsWith(close)\n\n\t\t\t\t\t\tlines[0] = first.replace(\n\t\t\t\t\t\t\thasComment ? RegExp(regexEscape(open) + \" ?\") : /(?!\\s)/,\n\t\t\t\t\t\t\thasComment ? \"\" : open + \" \",\n\t\t\t\t\t\t)\n\t\t\t\t\t\tlet diff = lines[0].length - first.length\n\t\t\t\t\t\tlines[last] = hasComment\n\t\t\t\t\t\t\t? lines[last].replace(RegExp(` ?${regexEscape(close)}$`), \"\")\n\t\t\t\t\t\t\t: lines[last] + \" \" + close\n\n\t\t\t\t\t\tlet newText = lines.join(\"\\n\")\n\t\t\t\t\t\tlet firstInsersion = insertionPoint + start1\n\t\t\t\t\t\tlet newStart = firstInsersion > start ? start : Math.max(start + diff, firstInsersion)\n\t\t\t\t\t\tlet newEnd =\n\t\t\t\t\t\t\tfirstInsersion > end - <any>(start != end)\n\t\t\t\t\t\t\t\t? end\n\t\t\t\t\t\t\t\t: Math.min(Math.max(firstInsersion, end + diff), start1 + newText.length)\n\t\t\t\t\t\tinsertText(editor, newText, start1, end1, newStart, Math.max(newStart, newEnd))\n\t\t\t\t\t\tscroll()\n\t\t\t\t\t\tpreventDefault(e)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (code == 8 + mod && keyCode == 75) {\n\t\t\t\tconst value = editor.value\n\t\t\t\tconst [lines, start1, end1] = getLines(value, start, end)\n\t\t\t\tconst column = dir > \"f\" ? end - end1 + lines.pop()!.length : start - start1\n\t\t\t\tconst newLineLen = getLineEnd(value, end1 + 1) - end1 - 1\n\t\t\t\tinsertText(\n\t\t\t\t\teditor,\n\t\t\t\t\t\"\",\n\t\t\t\t\tstart1 - <any>!!start1,\n\t\t\t\t\tend1 + <any>!start1,\n\t\t\t\t\tstart1 + Math.min(column, newLineLen),\n\t\t\t\t)\n\t\t\t\tscroll()\n\t\t\t\tpreventDefault(e)\n\t\t\t}\n\t\t})\n\t\t;([\"copy\", \"cut\", \"paste\"] as const).forEach(type =>\n\t\t\taddTextareaListener(editor, type, e => {\n\t\t\t\tconst [start, end] = getSelection()\n\t\t\t\tif (start == end && clipboard) {\n\t\t\t\t\tconst [[line], start1, end1] = getLines(editor.value, start, end)\n\t\t\t\t\tif (type == \"paste\") {\n\t\t\t\t\t\tif (e.clipboardData!.getData(\"text/plain\") == prevCopy) {\n\t\t\t\t\t\t\tinsertText(editor, prevCopy + \"\\n\", start1, start1, start + prevCopy.length + 1)\n\t\t\t\t\t\t\tscroll()\n\t\t\t\t\t\t\tpreventDefault(e)\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclipboard.writeText((prevCopy = line))\n\t\t\t\t\t\tif (type == \"cut\") insertText(editor, \"\", start1, end1 + 1), scroll()\n\t\t\t\t\t\tpreventDefault(e)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}),\n\t\t)\n\t}\n}\n\nexport { defaultCommands }\n","import { isMac } from \"../../utils/index.js\"\nimport { autoComplete } from \"../autocomplete/tooltip.js\"\nimport { searchWidget } from \"../search/widget.js\"\nimport { defaultKeymap } from \"./commands.js\"\nimport { normalizeKey } from \"./utils.js\"\n\nconst macModifiers: Record<number, string> = {\n\t2: \"⌃\",\n\t1: \"⌥\",\n\t8: \"⇧\",\n\t4: \"⌘\",\n}\n\nconst winModifiers: Record<number, string> = {\n\t2: \"Ctrl\",\n\t1: \"Alt\",\n\t8: \"Shift\",\n\t4: \"Win\",\n}\n\nconst keyDisplay: Record<string, string | undefined> = {\n\tarrowdown: \"↓\",\n\tarrowleft: \"←\",\n\tarrowright: \"→\",\n\tarrowup: \"↑\",\n\tdelete: \"Del\",\n\tescape: \"Esc\",\n\tpagedown: \"PageDown\",\n\tpageup: \"PageUp\",\n\t\" \": \"Space\",\n}\n\n/**\n * Utility that formats a hotkey to display in a user interface. Modifier keys use symbols\n * on Mac and labels otherwise.\n *\n * @param hotkey Hotkey to format for display.\n * @param separator String to join the segments together with. Defaults to `\" \"` on Mac\n * and `\"+\"` otherwise.\n * @returns Formatted key for display.\n *\n * @example\n * // On Mac\n * formatHotkey(\"mod+s\") // \"⌘ S\"\n * formatHotkey(\"12+escape\") // \"⇧ ⌘ Esc\"\n * formatHotkey(\"arrowup\") // \"↑\"\n *\n * // On Windows/Linux\n * formatHotkey(\"mod+s\") // \"Ctrl+S\"\n * formatHotkey(\"12+escape\") // \"Shift+Win+Esc\"\n * formatHotkey(\"arrowup\") // \"↑\"\n */\nconst formatHotkey = (hotkey: string, separator = isMac ? \" \" : \"+\") => {\n\tconst [code, key] = normalizeKey(hotkey).split(\"+\")\n\tconst result: string[] = []\n\tconst modifiers = isMac ? macModifiers : winModifiers\n\n\tfor (let c in modifiers) {\n\t\tif (+code & +c) result.push(modifiers[c])\n\t}\n\n\tresult.push(key ? keyDisplay[key] || key[0].toUpperCase() + key.slice(1) : \"+\")\n\n\treturn result.join(separator)\n}\n\n/**\n * Array of keyboard shortcuts and descriptions for {@link defaultKeymap}. Useful for\n * documenting key bindings to users. It consists of tuples containing two string each\n * where the first string is the key binding and the second is the description.\n *\n * @example\n * for (const [key, description] of defaultKeymapLabels) {\n * console.log(formatHotkey(key), description)\n * }\n */\nconst defaultKeymapLabels: [string, string][] = [\n\t[\"1+ArrowDown\", \"Move lines down\"],\n\t[\"1+ArrowUp\", \"Move lines up\"],\n\t[\"9+ArrowDown\", \"Copy lines down\"],\n\t[\"9+ArrowUp\", \"Copy lines up\"],\n\t[`2+${isMac ? \"Page\" : \"Arrow\"}Down`, \"Scroll one line down\"],\n\t[`2+${isMac ? \"Page\" : \"Arrow\"}Up`, \"Scroll one line up\"],\n\t[\"Enter\", \"Insert line and indent\"],\n\t[\"Mod+Enter\", \"Insert blank line\"],\n\t[\"Mod+]\", \"Indent lines\"],\n\t[\"Mod+[\", \"Outdent lines\"],\n\t[\"8+Mod+k\", \"Delete lines\"],\n\t[\"Mod+/\", \"Toggle line comment\"],\n\t[\"9+a\", \"Toggle block comment\"],\n\t[isMac ? \"10+m\" : \"2+m\", \"Toggle tab capturing\"],\n\t[\"Tab\", \"Indent lines\"],\n\t[\"8+Tab\", \"Outdent lines\"],\n]\n\n/**\n * Array of keyboard shortcuts and descriptions for the {@link autoComplete} extension.\n * Useful for documenting key bindings to users. It consists of tuples containing two\n * string each where the first string is the key binding and the second is the description.\n *\n * @example\n * for (const [key, description] of autoCompleteShortcutLabels) {\n * console.log(formatHotkey(key), description)\n * }\n */\nconst autoCompleteShortcutLabels: [string, string][] = [\n\t[\"2+ \", \"Trigger suggestion\"],\n\t[\"mod+i\", \"Trigger suggestion\"],\n\t...(isMac ? ([[\"1+Escape\", \"Trigger suggestion\"]] satisfies [string, string][]) : []),\n\t[\"2+ \", \"Toggle suggestion documentation\"],\n\t[\"mod+i\", \"Toggle suggestion documentation\"],\n\t[\"Tab\", \"Insert suggestion\"],\n\t[\"Enter\", \"Insert suggestion\"],\n\t[\"Escape\", \"Close completion widget\"],\n\t[\"Escape\", \"Clear tab stops\"],\n\t[\"Tab\", \"Select next tab stop\"],\n\t[\"8+Tab\", \"Select previous tab stop\"],\n\t[\"ArrowUp\", \"Select previous suggestion\"],\n\t[\"ArrowDown\", \"Select next suggestion\"],\n\t[\"PageUp\", \"Select first visible suggestion\"],\n\t[\"PageDown\", \"Select last visible suggestion\"],\n]\n\nconst modifiers = isMac ? 5 : 1\n\n/**\n * Array of keyboard shortcuts and descriptions for the {@link searchWidget} extension.\n * Useful for documenting key bindings to users. It consists of tuples containing two\n * string each where the first string is the key binding and the second is the description.\n *\n * @example\n * for (const [key, description] of searchShortcutLabels) {\n * console.log(formatHotkey(key), description)\n * }\n */\nconst searchShortcutLabels: [string, string][] = [\n\t[\"mod+f\", \"Start search\"],\n\t[\"mod+g\", \"Find next match\"],\n\t[\"mod+8+g\", \"Find previous match\"],\n\t[\"f3\", \"Find next match\"],\n\t[\"8+f3\", \"Find previous match\"],\n\t[\"Enter\", \"Select next match\"],\n\t[\"8+Enter\", \"Select previous match\"],\n\t[\"Escape\", \"Close search widget\"],\n\t[\"Enter\", \"Replace match\"],\n\t[`${isMac ? 4 : 3}+Enter`, \"Replace all matches\"],\n\t[modifiers + \"+r\", \"Toggle regex search\"],\n\t[modifiers + \"+p\", \"Toggle case preservation\"],\n\t[modifiers + \"+w\", \"Toggle whole word search\"],\n\t[modifiers + \"+l\", \"Toggle find in selection\"],\n]\n\nexport { formatHotkey, defaultKeymapLabels, autoCompleteShortcutLabels, searchShortcutLabels }\n","/** @module commands */\n\nimport { InputSelection, BasicExtension, PrismEditor } from \"../../index.js\"\nimport { preventDefault, languageMap } from \"../../core.js\"\nimport {\n\tgetLanguage,\n\tinsertText,\n\tgetLines,\n\tgetModifierCode,\n\tprevSelection,\n\tsetSelection,\n\tisMac,\n\tgetLineBefore,\n} from \"../../utils/index.js\"\nimport { addTextareaListener } from \"../../utils/local.js\"\nimport { EditHistory, EditorHotkey } from \"./types.js\"\nimport { mod, addEditorHotkey } from \"./utils.js\"\nimport { scroll } from \"./commands.js\"\n\n/**\n * Extension that will add automatic closing of brackets, quotes, and tags along\n * with the specified commands.\n *\n * @param hotkeyMap Commands that will be added to the editor.\n * @param selfClosePairs Pairs of self-closing brackets and quotes.\n * Must be an array of strings with 2 characters each.\n * Defaults to `['\"\"', \"''\", '``', '()', '[]', '{}']`.\n * @param selfCloseRegex Regex controlling whether or not a bracket/quote should\n * automatically close based on the character before and after the cursor.\n * Defaults to ``/([^$\\w'\"`][\"'`]|.[[({])[.,:;\\])}>\\s]|.[[({]`/s``.\n */\nconst editorCommands = (\n\thotkeyMap: Record<string, EditorHotkey>,\n\tselfClosePairs = ['\"\"', \"''\", \"``\", \"()\", \"[]\", \"{}\"],\n\tselfCloseRegex = /([^$\\w'\"`][\"'`]|.[[({])[.,:;\\])}>\\s]|.[[({]`/s,\n): BasicExtension => {\n\treturn (editor, options) => {\n\t\tlet prevCopy: string\n\t\tconst inputCommandMap = editor.inputCommandMap\n\t\tconst clipboard = navigator.clipboard\n\n\t\t/**\n\t\t * Automatically closes quotes and brackets if text is selected,\n\t\t * or if the character before and after the cursor matches a regex\n\t\t * @param wrapOnly If true, the character will only be closed if text is selected.\n\t\t */\n\t\tconst selfClose = (\n\t\t\t[start, end]: InputSelection,\n\t\t\t[open, close]: string,\n\t\t\tvalue: string,\n\t\t\twrapOnly?: boolean,\n\t\t) =>\n\t\t\t(start < end ||\n\t\t\t\t(!wrapOnly && selfCloseRegex.test((value[end - 1] || \" \") + open + (value[end] || \" \")))) &&\n\t\t\t!insertText(editor, open + value.slice(start, end) + close, null, null, start + 1, end + 1)!\n\n\t\tconst skipIfEqual = ([start, end]: InputSelection, char: string, value: string) =>\n\t\t\tstart == end && value[end] == char && !setSelection(editor, start + 1)!\n\n\t\tconst backspaceCommand = () => {\n\t\t\tconst [start, end] = editor.getSelection()\n\n\t\t\tif (start == end) {\n\t\t\t\tconst value = editor.value\n\t\t\t\tconst line = getLineBefore(value, start)\n\t\t\t\tconst tabSize = options.tabSize || 2\n\t\t\t\tconst isPair = selfClosePairs.includes(value.slice(start - 1, start + 1))\n\t\t\t\tconst indenationCount = /[^ ]/.test(line) ? 0 : ((line.length - 1) % tabSize) + 1\n\n\t\t\t\tif ((isPair || indenationCount > 1) && start == end) {\n\t\t\t\t\tinsertText(editor, \"\", start - (isPair ? 1 : indenationCount), start + <any>isPair)\n\t\t\t\t\treturn scroll(editor)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tinputCommandMap[\"<\"] = (_e, selection, value) => selfClose(selection, \"<>\", value, true)\n\n\t\tselfClosePairs.forEach(([open, close]) => {\n\t\t\tconst isQuote = open == close\n\t\t\tinputCommandMap[open] = (_e, selection, value) =>\n\t\t\t\t((isQuote && skipIfEqual(selection, close, value)) ||\n\t\t\t\t\tselfClose(selection, open + close, value)) &&\n\t\t\t\tscroll(editor)\n\t\t\tif (!isQuote)\n\t\t\t\tinputCommandMap[close] = (_e, selection, value) =>\n\t\t\t\t\tskipIfEqual(selection, close, value) && scroll(editor)\n\t\t})\n\n\t\tinputCommandMap[\">\"] = (e, selection, value) => {\n\t\t\tconst closingTag = languageMap[getLanguage(editor)]?.autoCloseTags?.(selection, value, editor)\n\t\t\tif (closingTag) {\n\t\t\t\tinsertText(editor, \">\" + closingTag, null, null, selection[0] + 1)\n\t\t\t\tpreventDefault(e)\n\t\t\t}\n\t\t}\n\n\t\taddEditorHotkey(editor, \"Backspace\", backspaceCommand)\n\t\taddEditorHotkey(editor, \"8+Backspace\", backspaceCommand)\n\n\t\tfor (const key in hotkeyMap) {\n\t\t\taddEditorHotkey(editor, key, hotkeyMap[key])\n\t\t}\n\n\t\t;([\"copy\", \"cut\", \"paste\"] as const).forEach(type =>\n\t\t\taddTextareaListener(editor, type, e => {\n\t\t\t\tconst [start, end] = editor.getSelection()\n\t\t\t\tif (start == end && clipboard) {\n\t\t\t\t\tconst [[line], start1, end1] = getLines(editor.value, start, end)\n\t\t\t\t\tif (type == \"paste\") {\n\t\t\t\t\t\tif (e.clipboardData!.getData(\"text/plain\") == prevCopy) {\n\t\t\t\t\t\t\tinsertText(editor, prevCopy + \"\\n\", start1, start1, start + prevCopy.length + 1)\n\t\t\t\t\t\t\tscroll(editor)\n\t\t\t\t\t\t\tpreventDefault(e)\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclipboard.writeText((prevCopy = line))\n\t\t\t\t\t\tif (type == \"cut\") insertText(editor, \"\", start1, end1 + 1), scroll(editor)\n\t\t\t\t\t\tpreventDefault(e)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}),\n\t\t)\n\t}\n}\n\n/**\n * History extension that overrides the undo/redo behavior of the browser.\n *\n * Without this extension, the browser's native undo/redo is used, which can be sufficient\n * in some cases.\n *\n * Once added to an editor, this extension can be accessed from `editor.extensions.history`.\n *\n * If you want to create a new editor with different extensions while keeping the undo/redo\n * history of an old editor, you can! Just add the old editor's history extension instance\n * to the new editor. Keep in mind that this will fully break the undo/redo behavior of the\n * old editor.\n *\n * @param historyLimit The maximum size of the history stack. Defaults to 999.\n */\nconst editHistory = (historyLimit = 999) => {\n\tlet sp = 0\n\tlet currentEditor: PrismEditor\n\tlet allowMerge: boolean\n\tlet isTyping = false\n\tlet prevInputType: string\n\tlet prevData: string | null\n\tlet prevTime: number\n\tlet isMerge: boolean\n\tlet textarea: HTMLTextAreaElement\n\tlet getSelection: PrismEditor[\"getSelection\"]\n\n\tconst stack: [string, InputSelection, InputSelection][] = []\n\tconst update = (index: number) => {\n\t\tif (index >= historyLimit) {\n\t\t\tindex--\n\t\t\tstack.shift()\n\t\t}\n\t\tstack.splice((sp = index), historyLimit, [currentEditor.value, getSelection(), getSelection()])\n\t}\n\tconst setEditorState = (index: number) => {\n\t\tif (stack[index]) {\n\t\t\ttextarea.value = stack[index][0]\n\t\t\ttextarea.setSelectionRange(...stack[index][index < sp ? 2 : 1])\n\t\t\tcurrentEditor.update()\n\t\t\tcurrentEditor.extensions.cursor?.scrollIntoView()\n\t\t\tsp = index\n\t\t\tallowMerge = false\n\t\t}\n\t}\n\n\tconst self: EditHistory = (editor, options) => {\n\t\teditor.extensions.history = self\n\t\tcurrentEditor = editor\n\t\tgetSelection = editor.getSelection\n\t\ttextarea || update(0)\n\t\ttextarea = editor.textarea\n\n\t\teditor.on(\"selectionChange\", () => {\n\t\t\tallowMerge = isTyping\n\t\t\tisTyping = false\n\t\t})\n\n\t\taddTextareaListener(editor, \"beforeinput\", e => {\n\t\t\tlet data = e.data\n\t\t\tlet inputType = e.inputType\n\t\t\tlet time = e.timeStamp\n\n\t\t\tif (/history/.test(inputType)) {\n\t\t\t\tsetEditorState(sp + (inputType[7] == \"U\" ? -1 : 1))\n\t\t\t\tpreventDefault(e)\n\t\t\t} else if (\n\t\t\t\t!(isMerge =\n\t\t\t\t\tallowMerge &&\n\t\t\t\t\t(prevInputType == inputType || (time - prevTime < 99 && inputType.slice(-4) == \"Drop\")) &&\n\t\t\t\t\t!prevSelection &&\n\t\t\t\t\t(data != \" \" || prevData == data))\n\t\t\t) {\n\t\t\t\tstack[sp][2] = prevSelection || getSelection()\n\t\t\t}\n\t\t\tisTyping = true\n\t\t\tprevData = data\n\t\t\tprevTime = time\n\t\t\tprevInputType = inputType\n\t\t})\n\t\taddTextareaListener(editor, \"input\", () => update(sp + <any>!isMerge))\n\t\taddTextareaListener(editor, \"keydown\", e => {\n\t\t\tif (!options.readOnly) {\n\t\t\t\tconst code = getModifierCode(e)\n\t\t\t\tconst keyCode = e.keyCode\n\t\t\t\tconst isUndo = code == mod && keyCode == 90\n\t\t\t\tconst isRedo =\n\t\t\t\t\t(code == mod + 8 && keyCode == 90) || (!isMac && code == mod && keyCode == 89)\n\t\t\t\tif (isUndo) {\n\t\t\t\t\tsetEditorState(sp - 1)\n\t\t\t\t\tpreventDefault(e)\n\t\t\t\t} else if (isRedo) {\n\t\t\t\t\tsetEditorState(sp + 1)\n\t\t\t\t\tpreventDefault(e)\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\teditor.addExtensions({\n\t\t\tupdate() {\n\t\t\t\tif (editor.value != textarea.value) reset()\n\t\t\t},\n\t\t})\n\t}\n\n\tconst reset = (self.clear = () => {\n\t\tupdate(0)\n\t\tallowMerge = false\n\t})\n\n\tself.has = offset => sp + offset in stack\n\tself.go = offset => setEditorState(sp + offset)\n\n\treturn self\n}\n\nexport { editorCommands, editHistory }\nexport {\n\tnormalizeKey,\n\tgetKeysFromEvent,\n\taddEditorHotkey,\n\taddHotkey,\n\taddEditorHotkeySequence,\n\taddHotkeySequence,\n\trunHotkeys,\n\tisModifierKey,\n} from \"./utils.js\"\nexport {\n\tindentSelectedLines,\n\tinsertTab,\n\tinsertLineAndIndent,\n\tmoveSelectedLines,\n\tcopySelectedLines,\n\tscrollByOneLine,\n\tdeleteSelectedLines,\n\ttoggleComment,\n\tsetIgnoreTab,\n\tdefaultKeymap,\n\tignoreTab,\n} from \"./commands.js\"\nexport * from \"./deprecated.js\"\nexport * from \"./types.js\"\nexport * from \"./format.js\"\n"],"mappings":"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"}
package/dist/copy.css ADDED
@@ -0,0 +1 @@
1
+ .pce-copy{all:unset;cursor:pointer;position:sticky;right:.5em;top:.5em;left:.5em;box-shadow:inset 0 0 0 1px var(--pce-widget-border);margin:-9in 0 0;padding:.5em;background:var(--pce-widget-bg);z-index:3;color:var(--pce-widget-color-options);pointer-events:auto;display:grid!important;align-items:center;font:400 1em/1.5 Arial,Helvetica,sans-serif}.pce-copy,.pce-copy:after,.pce-copy:before{opacity:0;border-radius:.3em;transition:opacity .1s ease-out}.pce-copy:after{content:attr(aria-label);position:absolute;right:calc(100% + .5em);background:#000000b3;color:#fff;text-align:center;width:8ch;font-size:80%;padding:.2em 0;pointer-events:none}.pce-copy:before{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background:#9992;box-shadow:inset 0 0 0 1px #999}.prism-code-editor:hover .pce-copy,.pce-copy:hover:before,.pce-copy:hover:after{opacity:1}.pce-copy:focus-visible:before,.pce-copy:focus-visible,.pce-copy:focus-visible:after{opacity:1}
@@ -0,0 +1,163 @@
1
+ //#region src/prism/core.js
2
+ var plainTextGrammar = {};
3
+ var rest = Symbol();
4
+ var tokenize = Symbol();
5
+ /** @param {*} id */
6
+ var resolve = (id) => typeof id == "string" ? languages[id] : id;
7
+ /** @type {Record<string, any>} */
8
+ var languages = {
9
+ plain: plainTextGrammar,
10
+ plaintext: plainTextGrammar,
11
+ text: plainTextGrammar,
12
+ txt: plainTextGrammar
13
+ };
14
+ /**
15
+ * @param {string} text
16
+ * @param {any} grammar
17
+ */
18
+ var tokenizeText = (text, grammar) => (grammar[tokenize] || withoutTokenizer)(text, grammar);
19
+ /**
20
+ * @param {string} text
21
+ * @param {any} grammar
22
+ */
23
+ var withoutTokenizer = (text, grammar) => {
24
+ /** @type {LinkedListNode} */
25
+ var startNode = [text];
26
+ var restGrammar;
27
+ /** @type {(string | Token)[]} */
28
+ var array = [], i = 0;
29
+ while (restGrammar = resolve(grammar[rest])) {
30
+ delete grammar[rest];
31
+ Object.assign(grammar, restGrammar);
32
+ }
33
+ matchGrammar(text, grammar, startNode, 0);
34
+ while (array[i++] = startNode[0], startNode = startNode[1]);
35
+ return array;
36
+ };
37
+ /**
38
+ * @param {string} string
39
+ * @param {RegExp} pattern
40
+ * @param {string} replacement
41
+ */
42
+ var escapeHtml = (string, pattern, replacement) => {
43
+ return string.replace(/&/g, "&amp;").replace(pattern, replacement);
44
+ };
45
+ var closingTag = "</span>";
46
+ var openingTags = "";
47
+ var closingTags = "";
48
+ /** @param {(string | Token)[]} tokens */
49
+ var highlightTokens = (tokens) => {
50
+ var str = "", token, i = 0;
51
+ while (token = tokens[i++]) str += stringify(token);
52
+ return str;
53
+ };
54
+ /**
55
+ * @param {string | Token | (string | Token)[]} token
56
+ * @returns {string}
57
+ */
58
+ var stringify = (token) => {
59
+ if (token instanceof Token) {
60
+ var { type, alias, content } = token;
61
+ var prevOpening = openingTags;
62
+ var prevClosing = closingTags;
63
+ var opening = `<span class="token ${type + (alias ? " " + alias : "") + (type == "keyword" && typeof content == "string" ? " keyword-" + content : "")}">`;
64
+ closingTags += closingTag;
65
+ openingTags += opening;
66
+ var contentStr = stringify(content);
67
+ openingTags = prevOpening;
68
+ closingTags = prevClosing;
69
+ return opening + contentStr + closingTag;
70
+ }
71
+ if (typeof token != "string") return highlightTokens(token);
72
+ token = escapeHtml(token, /</g, "&lt;");
73
+ if (closingTags && token.includes("\n")) return token.replace(/\n/g, closingTags + "\n" + openingTags);
74
+ return token;
75
+ };
76
+ /**
77
+ * @param {string} text
78
+ * @param {*} ref
79
+ */
80
+ var highlightText = (text, ref) => highlightTokens(tokenizeText(text, resolve(ref)));
81
+ /**
82
+ * @param {string} text
83
+ * @param {any} grammar
84
+ * @param {LinkedListNode} startNode
85
+ * @param {number} startPos
86
+ * @param {[string, number, number]} [rematch]
87
+ *
88
+ * @typedef {[string | Token, LinkedListNode?]} LinkedListNode
89
+ */
90
+ var matchGrammar = (text, grammar, startNode, startPos, rematch) => {
91
+ for (var token in grammar) if (grammar[token]) for (var j = 0, p = grammar[token], patternObj, patterns = Array.isArray(p) ? p : [p]; patternObj = patterns[j]; j++) {
92
+ if (rematch && rematch[0] == token && rematch[1] == j) return;
93
+ /** @type {RegExp} */
94
+ var pattern = patternObj.pattern || patternObj;
95
+ var inside = resolve(patternObj.inside);
96
+ var lookbehind = patternObj.lookbehind;
97
+ var greedy = pattern.global;
98
+ var alias = patternObj.alias;
99
+ for (var currentNode = startNode, pos = startPos; currentNode && (!rematch || pos < rematch[2]); pos += currentNode[0].length, currentNode = currentNode[1]) {
100
+ var str = currentNode[0];
101
+ var removeCount = 0;
102
+ var match;
103
+ if (str instanceof Token) continue;
104
+ pattern.lastIndex = greedy ? pos : 0;
105
+ match = pattern.exec(greedy ? text : str);
106
+ if (!match && greedy) break;
107
+ if (!(match && match[0])) continue;
108
+ var lookbehindLength = lookbehind && match[1] ? match[1].length : 0;
109
+ var from = match.index + lookbehindLength;
110
+ var matchStr = match[0].slice(lookbehindLength);
111
+ var to = from + matchStr.length;
112
+ var k, p;
113
+ if (greedy) {
114
+ for (; p = pos + currentNode[0].length, from >= p; currentNode = currentNode[1], pos = p);
115
+ if (currentNode[0] instanceof Token) continue;
116
+ for (k = currentNode, p = pos; (p += k[0].length) < to; k = k[1], removeCount++);
117
+ str = text.slice(pos, p);
118
+ from -= pos;
119
+ to -= pos;
120
+ }
121
+ var after = str.slice(to);
122
+ var reach = pos + str.length;
123
+ var newToken = new Token(token, inside ? tokenizeText(matchStr, inside) : matchStr, matchStr, alias);
124
+ var next = currentNode, i = 0;
125
+ var nestedRematch;
126
+ while (next = next[1], i++ < removeCount);
127
+ if (after) if (!next || next[0] instanceof Token) next = [after, next];
128
+ else next[0] = after + next[0];
129
+ pos += from;
130
+ currentNode[0] = from ? str.slice(0, from) : newToken;
131
+ if (from) currentNode = currentNode[1] = [newToken, next];
132
+ else currentNode[1] = next;
133
+ if (removeCount) {
134
+ matchGrammar(text, grammar, currentNode, pos, nestedRematch = [
135
+ token,
136
+ j,
137
+ reach
138
+ ]);
139
+ reach = nestedRematch[2];
140
+ }
141
+ if (rematch && reach > rematch[2]) rematch[2] = reach;
142
+ }
143
+ }
144
+ };
145
+ /**
146
+ * Creates a new token.
147
+ *
148
+ * @param {string} type
149
+ * @param {string | any[]} content
150
+ * @param {string} matchedStr
151
+ * @param {string} alias
152
+ * @class
153
+ */
154
+ function Token(type, content, matchedStr, alias) {
155
+ this.type = type;
156
+ this.content = content;
157
+ this.alias = alias;
158
+ this.length = matchedStr.length;
159
+ }
160
+ //#endregion
161
+ export { languages as a, tokenize as c, highlightTokens as i, tokenizeText as l, escapeHtml as n, resolve as o, highlightText as r, rest as s, Token as t, withoutTokenizer as u };
162
+
163
+ //# sourceMappingURL=core-DpDyJ-7r.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-DpDyJ-7r.js","names":[],"sources":["../src/prism/core.js"],"sourcesContent":["// Slimmed down Prism core with most high level functions removed\n\nvar plainTextGrammar = {};\nvar rest = Symbol();\nvar tokenize = Symbol();\n\n/** @param {*} id */\nvar resolve = id => typeof id == 'string' ? languages[id] : id;\n\n/** @type {Record<string, any>} */\nvar languages = {\n\tplain: plainTextGrammar,\n\tplaintext: plainTextGrammar,\n\ttext: plainTextGrammar,\n\ttxt: plainTextGrammar,\n};\n\n/**\n * @param {string} text\n * @param {any} grammar\n */\nvar tokenizeText = (text, grammar) => (grammar[tokenize] || withoutTokenizer)(text, grammar);\n\n/**\n * @param {string} text\n * @param {any} grammar\n */\nvar withoutTokenizer = (text, grammar) => {\n\t/** @type {LinkedListNode} */\n\tvar startNode = [text];\n\tvar restGrammar;\n\t/** @type {(string | Token)[]} */\n\tvar array = [], i = 0;\n\twhile (restGrammar = resolve(grammar[rest])) {\n\t\tdelete grammar[rest];\n\t\tObject.assign(grammar, restGrammar);\n\t}\n\n\tmatchGrammar(text, grammar, startNode, 0);\n\n\twhile (array[i++] = startNode[0], startNode = startNode[1]);\n\treturn array;\n};\n\n/**\n * @param {string} string\n * @param {RegExp} pattern\n * @param {string} replacement\n */\nvar escapeHtml = (string, pattern, replacement) => {\n\treturn string.replace(/&/g, '&amp;').replace(pattern, replacement);\n};\n\nvar closingTag = '</span>';\nvar openingTags = '';\nvar closingTags = '';\n\n/** @param {(string | Token)[]} tokens */\nvar highlightTokens = tokens => {\n\tvar str = '', token, i = 0;\n\twhile (token = tokens[i++]) str += stringify(token);\n\treturn str;\n};\n\n/**\n * @param {string | Token | (string | Token)[]} token\n * @returns {string}\n */\nvar stringify = token => {\n\tif (token instanceof Token) {\n\t\tvar { type, alias, content } = token;\n\t\tvar prevOpening = openingTags;\n\t\tvar prevClosing = closingTags;\n\t\tvar opening = `<span class=\"token ${\n\t\t\ttype + (alias ? ' ' + alias : '') +\n\t\t\t(type == 'keyword' && typeof content == 'string' ? ' keyword-' + content : '')\n\t\t}\">`;\n\n\t\tclosingTags += closingTag;\n\t\topeningTags += opening;\n\t\tvar contentStr = stringify(content);\n\t\topeningTags = prevOpening;\n\t\tclosingTags = prevClosing;\n\t\treturn opening + contentStr + closingTag;\n\t}\n\n\tif (typeof token != 'string') return highlightTokens(token);\n\n\ttoken = escapeHtml(token, /</g, '&lt;');\n\tif (closingTags && token.includes('\\n')) {\n\t\treturn token.replace(/\\n/g, closingTags + '\\n' + openingTags);\n\t}\n\treturn token;\n};\n\n/**\n * @param {string} text\n * @param {*} ref\n */\nvar highlightText = (text, ref) => highlightTokens(tokenizeText(text, resolve(ref)));\n\n/**\n * @param {string} text\n * @param {any} grammar\n * @param {LinkedListNode} startNode\n * @param {number} startPos\n * @param {[string, number, number]} [rematch]\n *\n * @typedef {[string | Token, LinkedListNode?]} LinkedListNode\n */\nvar matchGrammar = (text, grammar, startNode, startPos, rematch) => {\n\tfor (var token in grammar) {\n\t\tif (grammar[token]) for (var j = 0, p = grammar[token], patternObj, patterns = Array.isArray(p) ? p : [p]; patternObj = patterns[j]; j++) {\n\t\t\tif (rematch && rematch[0] == token && rematch[1] == j) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t/** @type {RegExp} */\n\t\t\tvar pattern = patternObj.pattern || patternObj;\n\t\t\tvar inside = resolve(patternObj.inside);\n\t\t\tvar lookbehind = patternObj.lookbehind;\n\t\t\tvar greedy = pattern.global;\n\t\t\tvar alias = patternObj.alias;\n\n\t\t\tfor ( // iterate the token list and keep track of the current token/string position\n\t\t\t\tvar currentNode = startNode, pos = startPos;\n\t\t\t\tcurrentNode && (!rematch || pos < rematch[2]);\n\t\t\t\tpos += currentNode[0].length, currentNode = currentNode[1]\n\t\t\t) {\n\t\t\t\tvar str = currentNode[0];\n\t\t\t\tvar removeCount = 0;\n\t\t\t\tvar match;\n\n\t\t\t\tif (str instanceof Token) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tpattern.lastIndex = greedy ? pos : 0;\n\t\t\t\tmatch = pattern.exec(greedy ? text : str);\n\n\t\t\t\tif (!match && greedy) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (!(match && match[0])) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// change the match to remove the text matched by the Prism lookbehind group\n\t\t\t\tvar lookbehindLength = lookbehind && match[1] ? match[1].length : 0;\n\t\t\t\tvar from = match.index + lookbehindLength;\n\t\t\t\tvar matchStr = match[0].slice(lookbehindLength);\n\t\t\t\tvar to = from + matchStr.length;\n\t\t\t\tvar k, p;\n\n\t\t\t\tif (greedy) {\n\t\t\t\t\t// find the node that contains the match\n\t\t\t\t\tfor (\n\t\t\t\t\t\t;\n\t\t\t\t\t\tp = pos + currentNode[0].length, from >= p;\n\t\t\t\t\t\tcurrentNode = currentNode[1], pos = p\n\t\t\t\t\t);\n\n\t\t\t\t\t// the current node is a Token, then the match starts inside another Token, which is invalid\n\t\t\t\t\tif (currentNode[0] instanceof Token) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t// find the last node which is affected by this match\n\t\t\t\t\tfor (\n\t\t\t\t\t\tk = currentNode, p = pos;\n\t\t\t\t\t\t(p += k[0].length) < to;\n\t\t\t\t\t\tk = k[1], removeCount++\n\t\t\t\t\t);\n\n\t\t\t\t\t// replace with the new match\n\t\t\t\t\tstr = text.slice(pos, p);\n\t\t\t\t\tfrom -= pos;\n\t\t\t\t\tto -= pos;\n\t\t\t\t}\n\n\t\t\t\tvar after = str.slice(to);\n\t\t\t\tvar reach = pos + str.length;\n\t\t\t\tvar newToken = new Token(token, inside ? tokenizeText(matchStr, inside) : matchStr, matchStr, alias);\n\t\t\t\tvar next = currentNode, i = 0;\n\t\t\t\tvar nestedRematch;\n\n\t\t\t\twhile (next = next[1], i++ < removeCount);\n\n\t\t\t\tif (after) {\n\t\t\t\t\tif (!next || next[0] instanceof Token) next = [after, next];\n\t\t\t\t\telse next[0] = after + next[0];\n\t\t\t\t};\n\n\t\t\t\tpos += from;\n\t\t\t\tcurrentNode[0] = from ? str.slice(0, from) : newToken;\n\n\t\t\t\tif (from) currentNode = currentNode[1] = [newToken, next];\n\t\t\t\telse currentNode[1] = next;\n\n\t\t\t\tif (removeCount) {\n\t\t\t\t\t// at least one Token object was removed, so we have to do some rematching\n\t\t\t\t\t// this can only happen if the current pattern is greedy\n\n\t\t\t\t\tmatchGrammar(text, grammar, currentNode, pos, nestedRematch = [token, j, reach]);\n\t\t\t\t\treach = nestedRematch[2];\n\t\t\t\t}\n\n\t\t\t\tif (rematch && reach > rematch[2]) rematch[2] = reach;\n\t\t\t}\n\t\t}\n\t}\n};\n\n/**\n * Creates a new token.\n *\n * @param {string} type\n * @param {string | any[]} content\n * @param {string} matchedStr\n * @param {string} alias\n * @class\n */\nfunction Token(type, content, matchedStr, alias) {\n\tthis.type = type;\n\tthis.content = content;\n\tthis.alias = alias;\n\tthis.length = matchedStr.length;\n}\n\nexport {\n\trest,\n\ttokenize,\n\tToken,\n\tlanguages,\n\ttokenizeText,\n\twithoutTokenizer,\n\tresolve,\n\tescapeHtml,\n\thighlightTokens,\n\thighlightText\n};\n"],"mappings":"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"}
@@ -0,0 +1,228 @@
1
+ import { a as languages, i as highlightTokens, l as tokenizeText } from "./core-DpDyJ-7r.js";
2
+ //#region src/core.ts
3
+ /**
4
+ * Creates a code editor using the specified container and options.
5
+ * @param container Element to append the editor to or a selector.
6
+ * This can also be a `ShadowRoot` or `DocumentFragment` for example.
7
+ * If omitted, you must manually append `editor.container` to the DOM.
8
+ * @param options Options the editor is initialized with.
9
+ * If omitted, the editor won't function until you call `editor.setOptions`.
10
+ * @param extensions Extensions added before the first render. You can still add extensions later.
11
+ * @returns Object to interact with the created editor.
12
+ */
13
+ var createEditor = (container, options, ...extensions) => {
14
+ let language;
15
+ let prevLines = [];
16
+ let activeLine;
17
+ let value = "";
18
+ let activeLineNumber;
19
+ let focused = false;
20
+ let handleSelectionChange = true;
21
+ let tokens = [];
22
+ let readOnly;
23
+ let lineCount = 0;
24
+ const scrollContainer = editorTemplate();
25
+ const wrapper = scrollContainer.firstChild;
26
+ const lines = wrapper.children;
27
+ const overlays = lines[0];
28
+ const textarea = overlays.firstChild;
29
+ const currentOptions = {
30
+ language: "text",
31
+ value
32
+ };
33
+ const currentExtensions = new Set(extensions);
34
+ const listeners = {};
35
+ const setOptions = (options) => {
36
+ Object.assign(currentOptions, options);
37
+ let isNewVal = value != (value = options.value ?? value);
38
+ let isNewLang = language != (language = currentOptions.language);
39
+ readOnly = !!currentOptions.readOnly;
40
+ scrollContainer.style.tabSize = currentOptions.tabSize || 2;
41
+ textarea.inputMode = readOnly ? "none" : "";
42
+ textarea.setAttribute("aria-readonly", readOnly);
43
+ updateClassName();
44
+ updateExtensions();
45
+ if (isNewVal) {
46
+ if (!focused) textarea.remove();
47
+ textarea.value = value;
48
+ textarea.selectionEnd = 0;
49
+ if (!focused) overlays.prepend(textarea);
50
+ }
51
+ if (isNewVal || isNewLang) update();
52
+ };
53
+ const update = () => {
54
+ tokens = tokenizeText(value = textarea.value, languages[language] || {});
55
+ dispatchEvent("tokenize", tokens, language, value);
56
+ let newLines = highlightTokens(tokens).split("\n");
57
+ let start = 0;
58
+ let end2 = lineCount;
59
+ let end1 = lineCount = newLines.length;
60
+ while (newLines[start] == prevLines[start] && start < end1) ++start;
61
+ while (end1 && newLines[--end1] == prevLines[--end2]);
62
+ if (start == end1 && start == end2) lines[start + 1].innerHTML = newLines[start] + "\n";
63
+ else {
64
+ let insertStart = end2 < start ? end2 : start - 1;
65
+ let i = insertStart;
66
+ let newHTML = "";
67
+ while (i < end1) newHTML += `<div class=pce-line aria-hidden=true>${newLines[++i]}\n</div>`;
68
+ for (i = end1 < start ? end1 : start - 1; i < end2; i++) lines[start + 1].remove();
69
+ if (newHTML) lines[insertStart + 1].insertAdjacentHTML("afterend", newHTML);
70
+ scrollContainer.style.setProperty("--number-width", (0 | Math.log10(lineCount)) + 1 + ".001ch");
71
+ }
72
+ dispatchEvent("update", value);
73
+ dispatchSelection(true);
74
+ if (handleSelectionChange) setTimeout(setTimeout, 0, () => handleSelectionChange = true);
75
+ prevLines = newLines;
76
+ handleSelectionChange = false;
77
+ };
78
+ const updateExtensions = (newExtensions) => {
79
+ (newExtensions || currentExtensions).forEach((extension) => {
80
+ if (typeof extension == "object") {
81
+ extension.update(self, currentOptions);
82
+ if (newExtensions) currentExtensions.add(extension);
83
+ } else {
84
+ extension(self, currentOptions);
85
+ if (!newExtensions) currentExtensions.delete(extension);
86
+ }
87
+ });
88
+ };
89
+ const updateClassName = ([start, end] = getInputSelection()) => {
90
+ scrollContainer.className = `prism-code-editor language-${language}${currentOptions.lineNumbers == false ? "" : " show-line-numbers"} pce-${currentOptions.wordWrap ? "" : "no"}wrap${currentOptions.rtl ? " pce-rtl" : ""} pce-${start < end ? "has" : "no"}-selection${focused ? " pce-focus" : ""}${readOnly ? " pce-readonly" : ""}${currentOptions.class ? " " + currentOptions.class : ""}`;
91
+ };
92
+ const getInputSelection = () => [
93
+ textarea.selectionStart,
94
+ textarea.selectionEnd,
95
+ textarea.selectionDirection
96
+ ];
97
+ const keyCommandMap = { Escape() {
98
+ textarea.blur();
99
+ } };
100
+ const inputCommandMap = {};
101
+ const dispatchEvent = (name, ...args) => {
102
+ listeners[name]?.forEach((handler) => handler.apply(self, args));
103
+ currentOptions["on" + name[0].toUpperCase() + name.slice(1)]?.(...args, self);
104
+ };
105
+ const dispatchSelection = (force) => {
106
+ if (force || handleSelectionChange) {
107
+ const selection = getInputSelection();
108
+ const newLine = lines[activeLineNumber = numLines(value, 0, selection[selection[2] < "f" ? 0 : 1])];
109
+ if (newLine != activeLine) {
110
+ activeLine?.classList.remove("active-line");
111
+ newLine.classList.add("active-line");
112
+ activeLine = newLine;
113
+ }
114
+ updateClassName(selection);
115
+ dispatchEvent("selectionChange", selection, value);
116
+ }
117
+ };
118
+ const self = {
119
+ container: scrollContainer,
120
+ wrapper,
121
+ lines,
122
+ textarea,
123
+ get activeLine() {
124
+ return activeLineNumber;
125
+ },
126
+ get value() {
127
+ return value;
128
+ },
129
+ options: currentOptions,
130
+ get focused() {
131
+ return focused;
132
+ },
133
+ get tokens() {
134
+ return tokens;
135
+ },
136
+ inputCommandMap,
137
+ keyCommandMap,
138
+ extensions: {},
139
+ setOptions,
140
+ update,
141
+ getSelection: getInputSelection,
142
+ addExtensions(...extensions) {
143
+ updateExtensions(extensions);
144
+ },
145
+ on: (name, handler) => {
146
+ (listeners[name] ||= /* @__PURE__ */ new Set()).add(handler);
147
+ return () => listeners[name].delete(handler);
148
+ },
149
+ remove() {
150
+ scrollContainer.remove();
151
+ }
152
+ };
153
+ addListener(textarea, "keydown", (e) => {
154
+ keyCommandMap[e.key]?.(e, getInputSelection(), value) && preventDefault(e);
155
+ });
156
+ addListener(textarea, "beforeinput", (e) => {
157
+ if (readOnly || e.inputType == "insertText" && inputCommandMap[e.data]?.(e, getInputSelection(), value)) preventDefault(e);
158
+ });
159
+ addListener(textarea, "input", update);
160
+ addListener(textarea, "blur", () => {
161
+ selectionChange = null;
162
+ focused = false;
163
+ updateClassName();
164
+ });
165
+ addListener(textarea, "focus", () => {
166
+ selectionChange = dispatchSelection;
167
+ focused = true;
168
+ updateClassName();
169
+ });
170
+ addListener(textarea, "selectionchange", (e) => {
171
+ dispatchSelection(!e.isTrusted);
172
+ preventDefault(e);
173
+ });
174
+ getElement(container)?.append(scrollContainer);
175
+ options && setOptions(options);
176
+ return self;
177
+ };
178
+ /**
179
+ * Almost identical to {@link createEditor}, but instead of appending the editor to your
180
+ * element, the editor replaces it.
181
+ *
182
+ * The `textContent` of the placeholder will be the code in the editor unless `options.value` is defined.
183
+ * @param placeholder Node or selector which will be replaced by the editor.
184
+ * @param options Options the editor is initialized with.
185
+ * @param extensions Extensions added before the first render. You can still add extensions later.
186
+ * @returns Object to interact with the created editor.
187
+ */
188
+ var editorFromPlaceholder = (placeholder, options, ...extensions) => {
189
+ const el = getElement(placeholder);
190
+ const editor = createEditor(null, Object.assign({ value: el.textContent }, options), ...extensions);
191
+ el.replaceWith(editor.container);
192
+ return editor;
193
+ };
194
+ /** Equivalent to `document` in a browser setting, `null` otherwise. */
195
+ var doc = "u" > typeof window ? document : null;
196
+ var templateEl = /* @__PURE__ */ doc?.createElement("div");
197
+ var createTemplate = (html, node) => {
198
+ if (templateEl) {
199
+ templateEl.innerHTML = html;
200
+ node = templateEl.firstChild;
201
+ }
202
+ return () => node.cloneNode(true);
203
+ };
204
+ var addListener = (target, type, listener, options) => target.addEventListener(type, listener, options);
205
+ var getElement = (el) => typeof el == "string" ? doc.querySelector(el) : el;
206
+ /**
207
+ * Counts number of lines in the string between `start` and `end`.
208
+ * If start and end are omitted, the whole string is searched.
209
+ */
210
+ var numLines = (str, start = 0, end = Infinity) => {
211
+ let count = 1;
212
+ for (; (start = str.indexOf("\n", start) + 1) && start <= end; count++);
213
+ return count;
214
+ };
215
+ /** Object storing all language specific behavior. */
216
+ var languageMap = {};
217
+ var editorTemplate = /* @__PURE__ */ createTemplate("<div><div class=pce-wrapper><div class=pce-overlays><textarea class=pce-textarea spellcheck=false autocapitalize=off autocomplete=off>");
218
+ var preventDefault = (e) => {
219
+ e.preventDefault();
220
+ e.stopImmediatePropagation();
221
+ };
222
+ var setSelectionChange = (f) => selectionChange = f;
223
+ var selectionChange;
224
+ if (doc) addListener(doc, "selectionchange", () => selectionChange?.());
225
+ //#endregion
226
+ export { editorFromPlaceholder as a, numLines as c, doc as i, preventDefault as l, createEditor as n, getElement as o, createTemplate as r, languageMap as s, addListener as t, setSelectionChange as u };
227
+
228
+ //# sourceMappingURL=core-fngiDtt5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-fngiDtt5.js","names":[],"sources":["../src/core.ts"],"sourcesContent":["import type {\r\n\tEditorOptions,\r\n\tPrismEditor,\r\n\tKeyCommandCallback,\r\n\tLanguage,\r\n\tInputCommandCallback,\r\n\tEditorEventMap,\r\n\tInputSelection,\r\n\tEditorExtension,\r\n} from \"./types.js\"\r\nimport { highlightTokens, languages, tokenizeText, TokenStream } from \"./prism/index.js\"\r\n\r\n/**\r\n * Creates a code editor using the specified container and options.\r\n * @param container Element to append the editor to or a selector.\r\n * This can also be a `ShadowRoot` or `DocumentFragment` for example.\r\n * If omitted, you must manually append `editor.container` to the DOM.\r\n * @param options Options the editor is initialized with.\r\n * If omitted, the editor won't function until you call `editor.setOptions`.\r\n * @param extensions Extensions added before the first render. You can still add extensions later.\r\n * @returns Object to interact with the created editor.\r\n */\r\nconst createEditor = <T extends {} = {}>(\r\n\tcontainer?: ParentNode | string | null,\r\n\toptions?: (Partial<EditorOptions<T>> & Omit<T, keyof EditorOptions>) | null,\r\n\t...extensions: EditorExtension<T>[]\r\n): PrismEditor<T> => {\r\n\tlet language: string\r\n\tlet prevLines: string[] = []\r\n\tlet activeLine: HTMLDivElement\r\n\tlet value = \"\"\r\n\tlet activeLineNumber: number\r\n\tlet focused = false\r\n\tlet handleSelectionChange = true\r\n\tlet tokens: TokenStream = []\r\n\tlet readOnly: boolean\r\n\tlet lineCount = 0\r\n\r\n\tconst scrollContainer = editorTemplate()\r\n\tconst wrapper = <HTMLDivElement>scrollContainer.firstChild\r\n\tconst lines = <HTMLCollectionOf<HTMLDivElement>>wrapper.children\r\n\tconst overlays = lines[0]\r\n\tconst textarea = <HTMLTextAreaElement>overlays.firstChild\r\n\tconst currentOptions = { language: \"text\", value } as EditorOptions & T\r\n\tconst currentExtensions = new Set(extensions)\r\n\tconst listeners: {\r\n\t\t[P in keyof EditorEventMap]?: Set<EditorEventMap<T>[P]>\r\n\t} = {}\r\n\r\n\tconst setOptions = (options: Partial<EditorOptions> & Partial<Omit<T, keyof EditorOptions>>) => {\r\n\t\tObject.assign(currentOptions, options)\r\n\t\tlet isNewVal = value != (value = options.value ?? value)\r\n\t\tlet isNewLang = language != (language = currentOptions.language)\r\n\r\n\t\treadOnly = !!currentOptions.readOnly\r\n\t\tscrollContainer.style.tabSize = <any>currentOptions.tabSize || 2\r\n\t\ttextarea.inputMode = readOnly ? \"none\" : \"\"\r\n\t\ttextarea.setAttribute(\"aria-readonly\", <any>readOnly)\r\n\t\tupdateClassName()\r\n\t\tupdateExtensions()\r\n\r\n\t\tif (isNewVal) {\r\n\t\t\tif (!focused) textarea.remove()\r\n\t\t\ttextarea.value = value\r\n\t\t\ttextarea.selectionEnd = 0\r\n\t\t\tif (!focused) overlays.prepend(textarea)\r\n\t\t}\r\n\r\n\t\tif (isNewVal || isNewLang) {\r\n\t\t\tupdate()\r\n\t\t}\r\n\t}\r\n\r\n\tconst update = () => {\r\n\t\ttokens = tokenizeText((value = textarea.value), languages[language] || {})\r\n\t\tdispatchEvent(\"tokenize\", tokens, language, value)\r\n\r\n\t\tlet newLines = highlightTokens(tokens).split(\"\\n\")\r\n\t\tlet start = 0\r\n\t\tlet end2 = lineCount\r\n\t\tlet end1 = (lineCount = newLines.length)\r\n\r\n\t\twhile (newLines[start] == prevLines[start] && start < end1) ++start\r\n\t\twhile (end1 && newLines[--end1] == prevLines[--end2]);\r\n\r\n\t\tif (start == end1 && start == end2) lines[start + 1].innerHTML = newLines[start] + \"\\n\"\r\n\t\telse {\r\n\t\t\tlet insertStart = end2 < start ? end2 : start - 1\r\n\t\t\tlet i = insertStart\r\n\t\t\tlet newHTML = \"\"\r\n\r\n\t\t\twhile (i < end1) newHTML += `<div class=pce-line aria-hidden=true>${newLines[++i]}\\n</div>`\r\n\t\t\tfor (i = end1 < start ? end1 : start - 1; i < end2; i++) lines[start + 1].remove()\r\n\t\t\tif (newHTML) lines[insertStart + 1].insertAdjacentHTML(\"afterend\", newHTML)\r\n\t\t\tscrollContainer.style.setProperty(\r\n\t\t\t\t\"--number-width\",\r\n\t\t\t\t(0 | Math.log10(lineCount)) + 1 + \".001ch\",\r\n\t\t\t)\r\n\t\t}\r\n\r\n\t\tdispatchEvent(\"update\", value)\r\n\t\tdispatchSelection(true)\r\n\t\tif (handleSelectionChange) setTimeout(setTimeout, 0, () => (handleSelectionChange = true))\r\n\r\n\t\tprevLines = newLines\r\n\t\thandleSelectionChange = false\r\n\t}\r\n\r\n\tconst updateExtensions = (newExtensions?: EditorExtension<T>[]) => {\r\n\t\t;(newExtensions || currentExtensions).forEach(extension => {\r\n\t\t\tif (typeof extension == \"object\") {\r\n\t\t\t\textension.update(self, currentOptions)\r\n\t\t\t\tif (newExtensions) currentExtensions.add(extension)\r\n\t\t\t} else {\r\n\t\t\t\textension(self, currentOptions)\r\n\t\t\t\tif (!newExtensions) currentExtensions.delete(extension)\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tconst updateClassName = ([start, end] = getInputSelection()) => {\r\n\t\tscrollContainer.className = `prism-code-editor language-${language}${\r\n\t\t\tcurrentOptions.lineNumbers == false ? \"\" : \" show-line-numbers\"\r\n\t\t} pce-${currentOptions.wordWrap ? \"\" : \"no\"}wrap${currentOptions.rtl ? \" pce-rtl\" : \"\"} pce-${\r\n\t\t\tstart < end ? \"has\" : \"no\"\r\n\t\t}-selection${focused ? \" pce-focus\" : \"\"}${readOnly ? \" pce-readonly\" : \"\"}${\r\n\t\t\tcurrentOptions.class ? \" \" + currentOptions.class : \"\"\r\n\t\t}`\r\n\t}\r\n\r\n\tconst getInputSelection = (): InputSelection => [\r\n\t\ttextarea.selectionStart,\r\n\t\ttextarea.selectionEnd,\r\n\t\ttextarea.selectionDirection,\r\n\t]\r\n\r\n\tconst keyCommandMap: Record<string, KeyCommandCallback | null> = {\r\n\t\tEscape() {\r\n\t\t\ttextarea.blur()\r\n\t\t},\r\n\t}\r\n\r\n\tconst inputCommandMap: Record<string, InputCommandCallback | null> = {}\r\n\r\n\tconst dispatchEvent = <T extends keyof EditorEventMap>(\r\n\t\tname: T,\r\n\t\t...args: Parameters<EditorEventMap[T]>\r\n\t) => {\r\n\t\t// @ts-expect-error\r\n\t\tlisteners[name]?.forEach(handler => handler.apply(self, args))\r\n\t\t// @ts-expect-error\r\n\t\tcurrentOptions[\"on\" + name[0].toUpperCase() + name.slice(1)]?.(...args, self)\r\n\t}\r\n\r\n\tconst dispatchSelection = (force?: boolean) => {\r\n\t\tif (force || handleSelectionChange) {\r\n\t\t\tconst selection = getInputSelection()\r\n\t\t\tconst newLine =\r\n\t\t\t\tlines[(activeLineNumber = numLines(value, 0, selection[selection[2] < \"f\" ? 0 : 1]))]\r\n\r\n\t\t\tif (newLine != activeLine) {\r\n\t\t\t\tactiveLine?.classList.remove(\"active-line\")\r\n\t\t\t\tnewLine.classList.add(\"active-line\")\r\n\t\t\t\tactiveLine = newLine\r\n\t\t\t}\r\n\t\t\tupdateClassName(selection)\r\n\t\t\tdispatchEvent(\"selectionChange\", selection, value)\r\n\t\t}\r\n\t}\r\n\r\n\tconst self: PrismEditor<T> = {\r\n\t\tcontainer: scrollContainer,\r\n\t\twrapper,\r\n\t\tlines,\r\n\t\ttextarea,\r\n\t\tget activeLine() {\r\n\t\t\treturn activeLineNumber\r\n\t\t},\r\n\t\tget value() {\r\n\t\t\treturn value\r\n\t\t},\r\n\t\toptions: currentOptions,\r\n\t\tget focused() {\r\n\t\t\treturn focused\r\n\t\t},\r\n\t\tget tokens() {\r\n\t\t\treturn tokens\r\n\t\t},\r\n\t\tinputCommandMap,\r\n\t\tkeyCommandMap,\r\n\t\textensions: {},\r\n\t\tsetOptions,\r\n\t\tupdate,\r\n\t\tgetSelection: getInputSelection,\r\n\t\taddExtensions(...extensions) {\r\n\t\t\tupdateExtensions(extensions)\r\n\t\t},\r\n\t\ton: (name, handler) => {\r\n\t\t\t;(listeners[name] ||= new Set<any>()).add(handler)\r\n\t\t\treturn () => listeners[name]!.delete(handler)\r\n\t\t},\r\n\t\tremove() {\r\n\t\t\tscrollContainer.remove()\r\n\t\t},\r\n\t}\r\n\r\n\taddListener(textarea, \"keydown\", e => {\r\n\t\tkeyCommandMap[e.key]?.(e, getInputSelection(), value) && preventDefault(e)\r\n\t})\r\n\r\n\taddListener(textarea, \"beforeinput\", e => {\r\n\t\tif (\r\n\t\t\treadOnly ||\r\n\t\t\t(e.inputType == \"insertText\" && inputCommandMap[e.data!]?.(e, getInputSelection(), value))\r\n\t\t)\r\n\t\t\tpreventDefault(e)\r\n\t})\r\n\taddListener(textarea, \"input\", update)\r\n\taddListener(textarea, \"blur\", () => {\r\n\t\tselectionChange = null\r\n\t\tfocused = false\r\n\t\tupdateClassName()\r\n\t})\r\n\taddListener(textarea, \"focus\", () => {\r\n\t\tselectionChange = dispatchSelection\r\n\t\tfocused = true\r\n\t\tupdateClassName()\r\n\t})\r\n\t// For browsers that support selectionchange on textareas\r\n\taddListener(textarea, \"selectionchange\", e => {\r\n\t\tdispatchSelection(!e.isTrusted)\r\n\t\tpreventDefault(e)\r\n\t})\r\n\r\n\tgetElement(container)?.append(scrollContainer)\r\n\toptions && setOptions(options)\r\n\treturn self\r\n}\r\n\r\n/**\r\n * Almost identical to {@link createEditor}, but instead of appending the editor to your\r\n * element, the editor replaces it.\r\n *\r\n * The `textContent` of the placeholder will be the code in the editor unless `options.value` is defined.\r\n * @param placeholder Node or selector which will be replaced by the editor.\r\n * @param options Options the editor is initialized with.\r\n * @param extensions Extensions added before the first render. You can still add extensions later.\r\n * @returns Object to interact with the created editor.\r\n */\r\nconst editorFromPlaceholder = <T extends {} = {}>(\r\n\tplaceholder: string | ChildNode,\r\n\toptions: Partial<EditorOptions<T>> & Omit<T, keyof EditorOptions>,\r\n\t...extensions: EditorExtension<T>[]\r\n) => {\r\n\tconst el = getElement(placeholder)!\r\n\tconst editor = createEditor<T>(\r\n\t\tnull,\r\n\t\tObject.assign({ value: el.textContent }, options),\r\n\t\t...extensions,\r\n\t)\r\n\tel.replaceWith(editor.container)\r\n\treturn editor\r\n}\r\n\r\n/** Equivalent to `document` in a browser setting, `null` otherwise. */\r\nconst doc = \"u\" > typeof window ? document : null\r\n\r\nconst templateEl = /* @__PURE__ */ doc?.createElement(\"div\")\r\n\r\nconst createTemplate = <T extends Element = HTMLDivElement>(html: string, node?: Node) => {\r\n\tif (templateEl) {\r\n\t\ttemplateEl.innerHTML = html\r\n\t\tnode = templateEl.firstChild!\r\n\t}\r\n\treturn () => <T>node!.cloneNode(true)\r\n}\r\n\r\nconst addListener = <T extends keyof HTMLElementEventMap>(\r\n\ttarget: HTMLElement,\r\n\ttype: T,\r\n\tlistener: (this: HTMLElement, ev: HTMLElementEventMap[T]) => any,\r\n\toptions?: boolean | AddEventListenerOptions,\r\n) => target.addEventListener(type, listener, options)\r\n\r\nconst getElement = <T extends Node>(el?: T | string | null) =>\r\n\ttypeof el == \"string\" ? doc!.querySelector<HTMLElement>(el) : el\r\n\r\n/**\r\n * Counts number of lines in the string between `start` and `end`.\r\n * If start and end are omitted, the whole string is searched.\r\n */\r\nconst numLines = (str: string, start = 0, end = Infinity) => {\r\n\tlet count = 1\r\n\tfor (; (start = str.indexOf(\"\\n\", start) + 1) && start <= end; count++);\r\n\treturn count\r\n}\r\n\r\n/** Object storing all language specific behavior. */\r\nconst languageMap: Record<string, Language> = {}\r\n\r\nconst editorTemplate = /* @__PURE__ */ createTemplate(\r\n\t\"<div><div class=pce-wrapper><div class=pce-overlays><textarea class=pce-textarea spellcheck=false autocapitalize=off autocomplete=off>\",\r\n)\r\n\r\nconst preventDefault = (e: Event) => {\r\n\te.preventDefault()\r\n\te.stopImmediatePropagation()\r\n}\r\n\r\nconst setSelectionChange = (f?: (force?: boolean) => void) => (selectionChange = f)\r\n\r\nlet selectionChange: null | undefined | ((force?: boolean) => void)\r\n\r\n// @ts-expect-error Allow adding listener to document\r\nif (doc) addListener(doc, \"selectionchange\", () => selectionChange?.())\r\n\r\nexport {\r\n\tcreateEditor,\r\n\tlanguageMap,\r\n\tnumLines,\r\n\tcreateTemplate,\r\n\tgetElement,\r\n\tpreventDefault,\r\n\teditorFromPlaceholder,\r\n\taddListener,\r\n\tsetSelectionChange,\r\n\tdoc,\r\n}\r\n"],"mappings":"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"}