@pubinfo/devtools 2.1.8 → 2.1.10-beta.1

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 (322) hide show
  1. package/dist/client/assets/{server-router-DgzXQSjJ.js → core-DZ0_U_pO.js} +281 -4256
  2. package/dist/client/assets/css-D-vtiAqw.js +2 -0
  3. package/dist/client/assets/engine-oniguruma-Cxk0otvy.js +392 -0
  4. package/dist/client/assets/{fetch-DZOuJHBU.js → fetch-Df05JmPt.js} +1 -1
  5. package/dist/client/assets/html-74krLQbR.js +2 -0
  6. package/dist/client/assets/{html-Bieo8lKA.js → html-Tu6OX5Eq.js} +1 -1
  7. package/dist/client/assets/{index-DtRFudle.js → index-Cn9-H915.js} +3 -3
  8. package/dist/client/assets/json-WgRhEAOB.js +2 -0
  9. package/dist/client/assets/{pages-Vnya3Egt.js → pages-BdQpgtx4.js} +2 -2
  10. package/dist/client/assets/{server-router-BiZSSnZD.css → server-router-8PynUpe5.css} +2 -2
  11. package/dist/client/assets/server-router-BHD-n_Wi.js +2261 -0
  12. package/dist/client/assets/typescript-C5tShSk5.js +2 -0
  13. package/dist/client/assets/{vue-DVNuaKnA.js → vue-Be3tcD1h.js} +6 -5
  14. package/dist/client/index.html +1 -1
  15. package/package.json +1 -1
  16. package/dist/client/assets/abap-C4yRz_Vm.js +0 -2
  17. package/dist/client/assets/actionscript-3-CKZBsEJ7.js +0 -2
  18. package/dist/client/assets/ada-C3S8BVqd.js +0 -2
  19. package/dist/client/assets/andromeeda-DhAMoUMM.js +0 -2
  20. package/dist/client/assets/angular-html-Cn84m4r6.js +0 -2
  21. package/dist/client/assets/angular-html-DMAfzvoK.js +0 -22
  22. package/dist/client/assets/angular-ts-Bmg_Yndu.js +0 -21
  23. package/dist/client/assets/apache-CcuXWvTQ.js +0 -2
  24. package/dist/client/assets/apex-DkoRAop2.js +0 -2
  25. package/dist/client/assets/apl-BV2Pqeyz.js +0 -15
  26. package/dist/client/assets/applescript-LAEuNJUm.js +0 -2
  27. package/dist/client/assets/ara-DarDo4Rh.js +0 -2
  28. package/dist/client/assets/asciidoc-B6fvDPBR.js +0 -2
  29. package/dist/client/assets/asm-BhHPpHEe.js +0 -2
  30. package/dist/client/assets/astro-Bv3Ci3Ef.js +0 -17
  31. package/dist/client/assets/aurora-x-B_q06yn6.js +0 -2
  32. package/dist/client/assets/awk-brgpYH3W.js +0 -2
  33. package/dist/client/assets/ayu-dark-8C83wjO6.js +0 -2
  34. package/dist/client/assets/ballerina-Dgbivx-S.js +0 -2
  35. package/dist/client/assets/bat-tWFkNZJc.js +0 -2
  36. package/dist/client/assets/beancount-Tyb60Wcr.js +0 -2
  37. package/dist/client/assets/berry-CS17F3w8.js +0 -2
  38. package/dist/client/assets/bibtex-BPtnjAmG.js +0 -2
  39. package/dist/client/assets/bicep-NvgerRRy.js +0 -2
  40. package/dist/client/assets/blade-CLAuu2bN.js +0 -19
  41. package/dist/client/assets/bsl-VyzHF-R4.js +0 -4
  42. package/dist/client/assets/c-DXXaAAzT.js +0 -2
  43. package/dist/client/assets/c-D_IBjAfc.js +0 -2
  44. package/dist/client/assets/cadence-CUT5CLY6.js +0 -2
  45. package/dist/client/assets/cairo-DuZF6whY.js +0 -4
  46. package/dist/client/assets/catppuccin-frappe-C38arzqL.js +0 -2
  47. package/dist/client/assets/catppuccin-latte-Hkpsj_z2.js +0 -2
  48. package/dist/client/assets/catppuccin-macchiato-BxpRHWFe.js +0 -2
  49. package/dist/client/assets/catppuccin-mocha-CdQJdYJ3.js +0 -2
  50. package/dist/client/assets/clarity-DqSC35SX.js +0 -2
  51. package/dist/client/assets/clojure-BZtS8UQS.js +0 -2
  52. package/dist/client/assets/cmake-o2KFVZsk.js +0 -2
  53. package/dist/client/assets/cobol-BHLrWv6w.js +0 -9
  54. package/dist/client/assets/codeowners-tdICZVC5.js +0 -2
  55. package/dist/client/assets/codeql-BZid4SQS.js +0 -2
  56. package/dist/client/assets/coffee-C5___ngf.js +0 -4
  57. package/dist/client/assets/common-lisp-DIm6wDvc.js +0 -2
  58. package/dist/client/assets/coq-CwPY4Eyo.js +0 -2
  59. package/dist/client/assets/cpp-B7t2k5-5.js +0 -19
  60. package/dist/client/assets/cpp-BM5VrcWq.js +0 -2
  61. package/dist/client/assets/crystal-C8Dwwy6W.js +0 -17
  62. package/dist/client/assets/csharp-CJ360fCq.js +0 -2
  63. package/dist/client/assets/css-FkBLLRUu.js +0 -2
  64. package/dist/client/assets/csv-DXn8kTD7.js +0 -2
  65. package/dist/client/assets/cue-3XLcXtdk.js +0 -2
  66. package/dist/client/assets/cypher-BC872mTV.js +0 -2
  67. package/dist/client/assets/d-DGFFiwLE.js +0 -2
  68. package/dist/client/assets/dark-plus-CzflfJzq.js +0 -2
  69. package/dist/client/assets/dart-CWKC80aE.js +0 -2
  70. package/dist/client/assets/dax-bvEEbNAK.js +0 -2
  71. package/dist/client/assets/desktop-XhOYrgrI.js +0 -2
  72. package/dist/client/assets/diff-U-x6iVIx.js +0 -2
  73. package/dist/client/assets/docker-B7cyRvbG.js +0 -2
  74. package/dist/client/assets/dotenv-D_9fGa07.js +0 -2
  75. package/dist/client/assets/dracula-DzaHHRbM.js +0 -2
  76. package/dist/client/assets/dracula-soft-Co_YGjEG.js +0 -2
  77. package/dist/client/assets/dream-maker-Bdm7BhsZ.js +0 -2
  78. package/dist/client/assets/edge-BL7B074g.js +0 -11
  79. package/dist/client/assets/elixir-BeYNyax5.js +0 -4
  80. package/dist/client/assets/elm-rybyhq4V.js +0 -4
  81. package/dist/client/assets/emacs-lisp-Cy-_xiO2.js +0 -2
  82. package/dist/client/assets/erb-Dvs8j3zz.js +0 -9
  83. package/dist/client/assets/erlang-CWJ5EBhz.js +0 -4
  84. package/dist/client/assets/everforest-dark-2suNS-_7.js +0 -2
  85. package/dist/client/assets/everforest-light-gJqeTgj8.js +0 -2
  86. package/dist/client/assets/fennel-BNqS--y3.js +0 -2
  87. package/dist/client/assets/fish-BBnq9bEt.js +0 -2
  88. package/dist/client/assets/fluent-oY7_tZF8.js +0 -2
  89. package/dist/client/assets/fortran-fixed-form-0peVr9Yb.js +0 -4
  90. package/dist/client/assets/fortran-free-form-BEQ27g3E.js +0 -2
  91. package/dist/client/assets/fsharp-BOj5a2vM.js +0 -4
  92. package/dist/client/assets/gdresource-Ch1u7SF7.js +0 -9
  93. package/dist/client/assets/gdscript-BhhtywAa.js +0 -2
  94. package/dist/client/assets/gdshader-BDnAJwOj.js +0 -2
  95. package/dist/client/assets/genie-Cd2lLzpm.js +0 -2
  96. package/dist/client/assets/gherkin-CwXypCQe.js +0 -2
  97. package/dist/client/assets/git-commit-CFfXzer2.js +0 -4
  98. package/dist/client/assets/git-rebase-DG0qmgCf.js +0 -4
  99. package/dist/client/assets/github-dark-default-BQ1K8Okr.js +0 -2
  100. package/dist/client/assets/github-dark-dimmed-D83kFqss.js +0 -2
  101. package/dist/client/assets/github-dark-high-contrast-gdEo7VGr.js +0 -2
  102. package/dist/client/assets/github-dark-tFHhqpP4.js +0 -2
  103. package/dist/client/assets/github-light-CbsGnmMB.js +0 -2
  104. package/dist/client/assets/github-light-default-V6uNq15f.js +0 -2
  105. package/dist/client/assets/github-light-high-contrast-BjF32j4e.js +0 -2
  106. package/dist/client/assets/gleam-Dfph-OFw.js +0 -2
  107. package/dist/client/assets/glimmer-js-DxVMOGMY.js +0 -13
  108. package/dist/client/assets/glimmer-ts-CPM08s8U.js +0 -13
  109. package/dist/client/assets/glsl-416x4rq0.js +0 -4
  110. package/dist/client/assets/glsl-Dt1TVrzb.js +0 -2
  111. package/dist/client/assets/gnuplot-BdTyKzf-.js +0 -2
  112. package/dist/client/assets/go-BCxV4YsM.js +0 -2
  113. package/dist/client/assets/graphql-CcseMMny.js +0 -2
  114. package/dist/client/assets/graphql-D3vBqXJE.js +0 -13
  115. package/dist/client/assets/groovy-Cy7l6UGB.js +0 -2
  116. package/dist/client/assets/gruvbox-dark-hard-BaRSnqxx.js +0 -2
  117. package/dist/client/assets/gruvbox-dark-medium-DSgMmAnQ.js +0 -2
  118. package/dist/client/assets/gruvbox-dark-soft-BFVsuJRE.js +0 -2
  119. package/dist/client/assets/gruvbox-light-hard-FGp0tNyr.js +0 -2
  120. package/dist/client/assets/gruvbox-light-medium-CNmGxpVe.js +0 -2
  121. package/dist/client/assets/gruvbox-light-soft-D2B7iaDa.js +0 -2
  122. package/dist/client/assets/hack-Dne48p1m.js +0 -9
  123. package/dist/client/assets/haml-D-tmAqdp.js +0 -9
  124. package/dist/client/assets/haml-DoXvVBFP.js +0 -2
  125. package/dist/client/assets/handlebars-Jfc88P1Q.js +0 -13
  126. package/dist/client/assets/haskell-CB6gNPpR.js +0 -2
  127. package/dist/client/assets/haxe-Cbrtif6E.js +0 -2
  128. package/dist/client/assets/hcl-gkV_38jF.js +0 -2
  129. package/dist/client/assets/hjson-Bt79zj56.js +0 -2
  130. package/dist/client/assets/hlsl-Cq-bbtEM.js +0 -2
  131. package/dist/client/assets/houston-C7Am8I0L.js +0 -2
  132. package/dist/client/assets/html-Crtt6vRf.js +0 -2
  133. package/dist/client/assets/html-derivative-5ylkdQOk.js +0 -4
  134. package/dist/client/assets/html-derivative-KSsgXIhX.js +0 -2
  135. package/dist/client/assets/http-ChH5xHQK.js +0 -13
  136. package/dist/client/assets/hurl-10MML7cL.js +0 -11
  137. package/dist/client/assets/hxml-tJu5NW0B.js +0 -4
  138. package/dist/client/assets/hy-Be9tp-ZM.js +0 -2
  139. package/dist/client/assets/imba-B-QVb_a4.js +0 -2
  140. package/dist/client/assets/ini-CQJRLei8.js +0 -2
  141. package/dist/client/assets/java-C-daPB_o.js +0 -2
  142. package/dist/client/assets/java-Cs-EdD8w.js +0 -2
  143. package/dist/client/assets/jinja-B6ZjKqt-.js +0 -6
  144. package/dist/client/assets/jison-hgxzSL4P.js +0 -4
  145. package/dist/client/assets/json-CZvQXtwG.js +0 -2
  146. package/dist/client/assets/json5-D0C1B7l9.js +0 -2
  147. package/dist/client/assets/jsonc-B0f0uTR-.js +0 -2
  148. package/dist/client/assets/jsonl-rrn3pXpA.js +0 -2
  149. package/dist/client/assets/jsonnet-DWKQ3es7.js +0 -2
  150. package/dist/client/assets/jssm-BPKNebRE.js +0 -2
  151. package/dist/client/assets/jsx--Vhk3JR0.js +0 -2
  152. package/dist/client/assets/jsx-BPBfDC8G.js +0 -2
  153. package/dist/client/assets/julia-Bl_xQs5i.js +0 -15
  154. package/dist/client/assets/kanagawa-dragon-7aQBLzZk.js +0 -2
  155. package/dist/client/assets/kanagawa-lotus-DNChzptB.js +0 -2
  156. package/dist/client/assets/kanagawa-wave-Bo0znHvn.js +0 -2
  157. package/dist/client/assets/kdl-F0m2ZhAD.js +0 -2
  158. package/dist/client/assets/kotlin-La5Qv-cP.js +0 -2
  159. package/dist/client/assets/kusto-t2Fo0FVP.js +0 -2
  160. package/dist/client/assets/laserwave-Bqjyvrrg.js +0 -2
  161. package/dist/client/assets/latex-D-k1qz9e.js +0 -4
  162. package/dist/client/assets/lean-XhKJM9s7.js +0 -2
  163. package/dist/client/assets/less-C9jqjrjf.js +0 -2
  164. package/dist/client/assets/light-plus-D8bT7m1s.js +0 -2
  165. package/dist/client/assets/liquid-CWSQtxRO.js +0 -13
  166. package/dist/client/assets/llvm-Do8PimHF.js +0 -2
  167. package/dist/client/assets/log-DcUikSJo.js +0 -2
  168. package/dist/client/assets/logo-BbssGAy6.js +0 -2
  169. package/dist/client/assets/lua-BOayniRF.js +0 -4
  170. package/dist/client/assets/lua-DmBLQvwZ.js +0 -2
  171. package/dist/client/assets/luau-CLP6V1lC.js +0 -2
  172. package/dist/client/assets/make-CH096rgi.js +0 -2
  173. package/dist/client/assets/markdown-CEnXrHFM.js +0 -2
  174. package/dist/client/assets/marko-g1H15jhu.js +0 -13
  175. package/dist/client/assets/material-theme-CK-9iASZ.js +0 -2
  176. package/dist/client/assets/material-theme-darker-BTaaZK0B.js +0 -2
  177. package/dist/client/assets/material-theme-lighter-Bi45hnIS.js +0 -2
  178. package/dist/client/assets/material-theme-ocean-CCcXVhHj.js +0 -2
  179. package/dist/client/assets/material-theme-palenight-ChOnM73H.js +0 -2
  180. package/dist/client/assets/matlab-C8-OBOXt.js +0 -2
  181. package/dist/client/assets/mdc-X-Q62jZE.js +0 -11
  182. package/dist/client/assets/mdx-9O-a3QeT.js +0 -2
  183. package/dist/client/assets/mermaid-BbwNpgQZ.js +0 -2
  184. package/dist/client/assets/min-dark-YKGmmQoo.js +0 -2
  185. package/dist/client/assets/min-light-DW2ETKSB.js +0 -2
  186. package/dist/client/assets/mipsasm-Cw0tctoa.js +0 -2
  187. package/dist/client/assets/mojo-B1_s-UsE.js +0 -2
  188. package/dist/client/assets/monokai-Jo52gV2c.js +0 -2
  189. package/dist/client/assets/move-Bj6Zb8y4.js +0 -2
  190. package/dist/client/assets/narrat-CmcwvZwb.js +0 -2
  191. package/dist/client/assets/nextflow-ApC-zghd.js +0 -2
  192. package/dist/client/assets/nginx-DZc9-Tp6.js +0 -4
  193. package/dist/client/assets/night-owl-CbXinktQ.js +0 -2
  194. package/dist/client/assets/nim-7v2Y99DS.js +0 -19
  195. package/dist/client/assets/nix-D6x94J3r.js +0 -4
  196. package/dist/client/assets/nord-BTPLMhIK.js +0 -2
  197. package/dist/client/assets/nushell-BtZNOG2q.js +0 -2
  198. package/dist/client/assets/objective-c-BemUaH4e.js +0 -2
  199. package/dist/client/assets/objective-cpp-DlBDqgG3.js +0 -2
  200. package/dist/client/assets/ocaml-CJb6Uk1q.js +0 -2
  201. package/dist/client/assets/one-dark-pro-D1A7hyO6.js +0 -2
  202. package/dist/client/assets/one-light-Bx9B3Uy2.js +0 -2
  203. package/dist/client/assets/openscad-tgxoXlc_.js +0 -2
  204. package/dist/client/assets/pascal-V33fh0R_.js +0 -2
  205. package/dist/client/assets/perl-BsrQ3i_Z.js +0 -15
  206. package/dist/client/assets/php-CVCqzNA3.js +0 -17
  207. package/dist/client/assets/pkl-DMmw0KMz.js +0 -2
  208. package/dist/client/assets/plastic-9YA00Fba.js +0 -2
  209. package/dist/client/assets/plsql-w5f2Y4TB.js +0 -2
  210. package/dist/client/assets/po-B4lWW6Lt.js +0 -2
  211. package/dist/client/assets/poimandres-DpVea04t.js +0 -2
  212. package/dist/client/assets/polar-spfFdsq1.js +0 -2
  213. package/dist/client/assets/postcss-CX2EaU1R.js +0 -2
  214. package/dist/client/assets/powerquery-DxDeVIaT.js +0 -2
  215. package/dist/client/assets/powershell-DUaFgH4w.js +0 -2
  216. package/dist/client/assets/prisma-C_xxnuPJ.js +0 -2
  217. package/dist/client/assets/prolog-HQoHkMvl.js +0 -2
  218. package/dist/client/assets/proto-ChC_OfbZ.js +0 -2
  219. package/dist/client/assets/pug-QSgd7iU0.js +0 -11
  220. package/dist/client/assets/puppet-DMhi-JVI.js +0 -2
  221. package/dist/client/assets/purescript-BMgB9Mqo.js +0 -2
  222. package/dist/client/assets/python-DhGWz8au.js +0 -2
  223. package/dist/client/assets/qml-Br5P3lde.js +0 -4
  224. package/dist/client/assets/qmldir-DuuXCI_4.js +0 -2
  225. package/dist/client/assets/qss-BFMq588W.js +0 -2
  226. package/dist/client/assets/r-3G2Sa7Lt.js +0 -2
  227. package/dist/client/assets/r-j_8gjFkr.js +0 -2
  228. package/dist/client/assets/racket-IMenCrEe.js +0 -2
  229. package/dist/client/assets/raku-C9JzcviJ.js +0 -2
  230. package/dist/client/assets/razor-CGZb-Vhk.js +0 -9
  231. package/dist/client/assets/red-CQS1WyPa.js +0 -2
  232. package/dist/client/assets/reg-BGZIC5Xp.js +0 -2
  233. package/dist/client/assets/regexp-BPcLhQg6.js +0 -2
  234. package/dist/client/assets/regexp-DhxLCx4Q.js +0 -2
  235. package/dist/client/assets/rel-9SOeDwim.js +0 -2
  236. package/dist/client/assets/riscv-C2bRbBks.js +0 -2
  237. package/dist/client/assets/rose-pine-Db2WNJEU.js +0 -2
  238. package/dist/client/assets/rose-pine-dawn-DC5eCBMs.js +0 -2
  239. package/dist/client/assets/rose-pine-moon-ByQGHrqH.js +0 -2
  240. package/dist/client/assets/rosmsg-hq2-oN0y.js +0 -2
  241. package/dist/client/assets/rst-DMrMaCEy.js +0 -21
  242. package/dist/client/assets/ruby-DEIXHl5I.js +0 -29
  243. package/dist/client/assets/rust-5iAw__zf.js +0 -2
  244. package/dist/client/assets/sas-CJhvZ-6Q.js +0 -4
  245. package/dist/client/assets/sass-D4cOLgcl.js +0 -2
  246. package/dist/client/assets/scala-QbdmEKQc.js +0 -2
  247. package/dist/client/assets/scheme-Czdr2zDO.js +0 -2
  248. package/dist/client/assets/scss-B8KTULjf.js +0 -2
  249. package/dist/client/assets/scss-CW08jUJu.js +0 -4
  250. package/dist/client/assets/sdbl-cYh-3vef.js +0 -2
  251. package/dist/client/assets/shaderlab-DIk_dlVI.js +0 -4
  252. package/dist/client/assets/shellscript-BPygS74z.js +0 -2
  253. package/dist/client/assets/shellscript-UjHQny9Z.js +0 -2
  254. package/dist/client/assets/shellsession-vpt33qZm.js +0 -4
  255. package/dist/client/assets/slack-dark-B08HtKwQ.js +0 -2
  256. package/dist/client/assets/slack-ochin-BC18yudJ.js +0 -2
  257. package/dist/client/assets/smalltalk-Cm-MWRN0.js +0 -2
  258. package/dist/client/assets/snazzy-light-C1U1twt-.js +0 -2
  259. package/dist/client/assets/solarized-dark-Btg7jTS4.js +0 -2
  260. package/dist/client/assets/solarized-light-I8YWdva8.js +0 -2
  261. package/dist/client/assets/solidity-fw2AbgU6.js +0 -2
  262. package/dist/client/assets/soy-CelgUwVW.js +0 -4
  263. package/dist/client/assets/sparql-XuA-X5Ok.js +0 -4
  264. package/dist/client/assets/splunk-CrefYCQ9.js +0 -2
  265. package/dist/client/assets/sql-Cq-9x9KN.js +0 -2
  266. package/dist/client/assets/sql-VyWTpbEC.js +0 -2
  267. package/dist/client/assets/ssh-config-DPja2V-o.js +0 -2
  268. package/dist/client/assets/stata-DH-ZNtGK.js +0 -4
  269. package/dist/client/assets/stylus-DiT_MMZ_.js +0 -2
  270. package/dist/client/assets/svelte-4ND1u2sA.js +0 -13
  271. package/dist/client/assets/swift-CHsNH9rq.js +0 -2
  272. package/dist/client/assets/synthwave-84-D5FDqfx_.js +0 -2
  273. package/dist/client/assets/system-verilog-DgxlGsc_.js +0 -2
  274. package/dist/client/assets/systemd-Bom26lBa.js +0 -2
  275. package/dist/client/assets/talonscript-BNy4LtIP.js +0 -2
  276. package/dist/client/assets/tasl-DatzK1EO.js +0 -2
  277. package/dist/client/assets/tcl-CNZvo4vj.js +0 -2
  278. package/dist/client/assets/templ-KxYrLXa6.js +0 -11
  279. package/dist/client/assets/terraform-D-recpy4.js +0 -2
  280. package/dist/client/assets/tex-B6RraVdx.js +0 -4
  281. package/dist/client/assets/tokyo-night-CFAgnMn1.js +0 -2
  282. package/dist/client/assets/toml-CPUTrY2p.js +0 -2
  283. package/dist/client/assets/ts-tags-BMERgcny.js +0 -47
  284. package/dist/client/assets/tsv-iSdH3ktm.js +0 -2
  285. package/dist/client/assets/tsx-CtGp4mPG.js +0 -2
  286. package/dist/client/assets/tsx-D8ovzp-F.js +0 -2
  287. package/dist/client/assets/turtle-v9QunLzd.js +0 -2
  288. package/dist/client/assets/twig-CtrJhYus.js +0 -17
  289. package/dist/client/assets/typescript-8wVgZc72.js +0 -2
  290. package/dist/client/assets/typespec-EH02aGm3.js +0 -2
  291. package/dist/client/assets/typst-CY516ItY.js +0 -2
  292. package/dist/client/assets/v-_oNJRzta.js +0 -2
  293. package/dist/client/assets/vala-DLVufQ32.js +0 -2
  294. package/dist/client/assets/vb-XRcgqTvL.js +0 -2
  295. package/dist/client/assets/verilog-ChgZHcD2.js +0 -2
  296. package/dist/client/assets/vesper-DZtY4370.js +0 -2
  297. package/dist/client/assets/vhdl-Dz76yRCg.js +0 -2
  298. package/dist/client/assets/viml-TSOpwVSN.js +0 -2
  299. package/dist/client/assets/vitesse-black-D3j7JXye.js +0 -2
  300. package/dist/client/assets/vue-html-BUeFN0Nh.js +0 -9
  301. package/dist/client/assets/vue-vine-DhKioGfT.js +0 -19
  302. package/dist/client/assets/vyper-DtFKY8Z6.js +0 -2
  303. package/dist/client/assets/wasm-D7Bi-P4y.js +0 -2
  304. package/dist/client/assets/wenyan-Dihi-Pn5.js +0 -2
  305. package/dist/client/assets/wgsl-BwN9nWiV.js +0 -2
  306. package/dist/client/assets/wikitext-DTN-j874.js +0 -2
  307. package/dist/client/assets/wit-dIADKh1M.js +0 -2
  308. package/dist/client/assets/wolfram-pIOwLI_a.js +0 -2
  309. package/dist/client/assets/xml-B_PekTMZ.js +0 -4
  310. package/dist/client/assets/xml-Bs5cbwVm.js +0 -2
  311. package/dist/client/assets/xsl-DZ0uPmJC.js +0 -4
  312. package/dist/client/assets/yaml-5uKUGHTB.js +0 -2
  313. package/dist/client/assets/yaml-Df3gGNfW.js +0 -2
  314. package/dist/client/assets/zenscript-3dAVZcgX.js +0 -2
  315. package/dist/client/assets/zig-CSpEmMh0.js +0 -2
  316. /package/dist/client/assets/{css-C4ljcP-J.js → css-DbgpCiOq.js} +0 -0
  317. /package/dist/client/assets/{javascript-0fjGG2XX.js → javascript-QnJdw8u5.js} +0 -0
  318. /package/dist/client/assets/{json-txB7NGmR.js → json-CzPoZe0r.js} +0 -0
  319. /package/dist/client/assets/{typescript-BiIPZBKd.js → typescript-BEfC8S_c.js} +0 -0
  320. /package/dist/client/assets/{vitesse-dark-BD1ft8sR.js → vitesse-dark-Bz6RXfkV.js} +0 -0
  321. /package/dist/client/assets/{vitesse-light-BudZzHnR.js → vitesse-light-NvDlvJl2.js} +0 -0
  322. /package/dist/client/assets/{wasm-BbgEtX7p.js → wasm-D0Echd05.js} +0 -0
@@ -1,639 +1,14 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./angular-html-Cn84m4r6.js","./angular-html-DMAfzvoK.js","./html-Bieo8lKA.js","./css-C4ljcP-J.js","./javascript-_FvKZjd1.js","./angular-ts-Bmg_Yndu.js","./scss-CW08jUJu.js","./apl-BV2Pqeyz.js","./json-txB7NGmR.js","./xml-B_PekTMZ.js","./java-Cs-EdD8w.js","./astro-Bv3Ci3Ef.js","./postcss-CX2EaU1R.js","./tsx-CtGp4mPG.js","./typescript-BiIPZBKd.js","./blade-CLAuu2bN.js","./html-derivative-5ylkdQOk.js","./sql-VyWTpbEC.js","./bsl-VyzHF-R4.js","./sdbl-cYh-3vef.js","./c-DXXaAAzT.js","./c-D_IBjAfc.js","./cairo-DuZF6whY.js","./python-DhGWz8au.js","./cobol-BHLrWv6w.js","./coffee-C5___ngf.js","./cpp-BM5VrcWq.js","./cpp-B7t2k5-5.js","./glsl-416x4rq0.js","./regexp-BPcLhQg6.js","./crystal-C8Dwwy6W.js","./shellscript-BPygS74z.js","./css-FkBLLRUu.js","./edge-BL7B074g.js","./elixir-BeYNyax5.js","./elm-rybyhq4V.js","./erb-Dvs8j3zz.js","./ruby-DEIXHl5I.js","./graphql-D3vBqXJE.js","./jsx--Vhk3JR0.js","./haml-D-tmAqdp.js","./lua-BOayniRF.js","./yaml-Df3gGNfW.js","./erlang-CWJ5EBhz.js","./markdown-CEnXrHFM.js","./fortran-fixed-form-0peVr9Yb.js","./fortran-free-form-BEQ27g3E.js","./fsharp-BOj5a2vM.js","./gdresource-Ch1u7SF7.js","./gdscript-BhhtywAa.js","./gdshader-BDnAJwOj.js","./git-commit-CFfXzer2.js","./diff-U-x6iVIx.js","./git-rebase-DG0qmgCf.js","./glimmer-js-DxVMOGMY.js","./glimmer-ts-CPM08s8U.js","./glsl-Dt1TVrzb.js","./graphql-CcseMMny.js","./hack-Dne48p1m.js","./haml-DoXvVBFP.js","./handlebars-Jfc88P1Q.js","./html-Crtt6vRf.js","./html-derivative-KSsgXIhX.js","./http-ChH5xHQK.js","./hurl-10MML7cL.js","./csv-DXn8kTD7.js","./hxml-tJu5NW0B.js","./haxe-Cbrtif6E.js","./java-C-daPB_o.js","./javascript-0fjGG2XX.js","./jinja-B6ZjKqt-.js","./jison-hgxzSL4P.js","./json-CZvQXtwG.js","./jsx-BPBfDC8G.js","./julia-Bl_xQs5i.js","./r-3G2Sa7Lt.js","./latex-D-k1qz9e.js","./tex-B6RraVdx.js","./liquid-CWSQtxRO.js","./lua-DmBLQvwZ.js","./marko-g1H15jhu.js","./less-C9jqjrjf.js","./mdc-X-Q62jZE.js","./nginx-DZc9-Tp6.js","./nim-7v2Y99DS.js","./perl-BsrQ3i_Z.js","./php-CVCqzNA3.js","./pug-QSgd7iU0.js","./qml-Br5P3lde.js","./r-j_8gjFkr.js","./razor-CGZb-Vhk.js","./csharp-CJ360fCq.js","./regexp-DhxLCx4Q.js","./rst-DMrMaCEy.js","./cmake-o2KFVZsk.js","./sas-CJhvZ-6Q.js","./scss-B8KTULjf.js","./shaderlab-DIk_dlVI.js","./hlsl-Cq-bbtEM.js","./shellscript-UjHQny9Z.js","./shellsession-vpt33qZm.js","./soy-CelgUwVW.js","./sparql-XuA-X5Ok.js","./turtle-v9QunLzd.js","./sql-Cq-9x9KN.js","./stata-DH-ZNtGK.js","./svelte-4ND1u2sA.js","./templ-KxYrLXa6.js","./go-BCxV4YsM.js","./ts-tags-BMERgcny.js","./tsx-D8ovzp-F.js","./twig-CtrJhYus.js","./typescript-8wVgZc72.js","./vue-DVNuaKnA.js","./vue-html-BUeFN0Nh.js","./vue-vine-DhKioGfT.js","./stylus-DiT_MMZ_.js","./xml-Bs5cbwVm.js","./xsl-DZ0uPmJC.js","./yaml-5uKUGHTB.js"])))=>i.map(i=>d[i]);
2
- import { $ as normalizeStyle, A as resolveComponent, C as nextTick, D as provide, E as openBlock, F as watch, H as isRef, I as watchEffect, J as shallowRef, K as ref, L as withCtx, M as resolveDynamicComponent, N as useModel, O as renderList, P as useSlots, Q as normalizeClass, R as withDirectives, S as mergeProps, T as onMounted, W as reactive, Y as toRef, Z as unref, _ as defineComponent, a as vModelDynamic, b as inject, c as Fragment, d as createBaseVNode, et as toDisplayString, f as createBlock, g as createVNode, h as createTextVNode, i as vModelCheckbox, j as resolveDirective, k as renderSlot, l as KeepAlive, m as createElementBlock, n as RouterLink, o as vModelSelect, p as createCommentVNode, r as Transition, s as withKeys, t as __vitePreload, u as computed, v as getCurrentInstance, w as onBeforeUnmount, x as mergeModels, y as h } from "./index-DtRFudle.js";
3
- import { a as useElementSize, c as createSharedComposable, i as onClickOutside, o as useLocalStorage, r as createReusableTemplate, s as useVModel, t as apiListFetch } from "./fetch-DZOuJHBU.js";
4
- var __defProp$1 = Object.defineProperty;
1
+ var __defProp = Object.defineProperty;
5
2
  var __export = (all$1, symbols) => {
6
3
  let target = {};
7
- for (var name in all$1) __defProp$1(target, name, {
4
+ for (var name in all$1) __defProp(target, name, {
8
5
  get: all$1[name],
9
6
  enumerable: true
10
7
  });
11
- if (symbols) __defProp$1(target, Symbol.toStringTag, { value: "Module" });
12
- return target;
13
- };
14
- var _hoisted_1$16 = { class: "flex gap-3 items-center" };
15
- var IconTitle_default = /* @__PURE__ */ defineComponent({
16
- __name: "IconTitle",
17
- props: {
18
- icon: {},
19
- text: {}
20
- },
21
- setup(__props) {
22
- return (_ctx, _cache) => {
23
- return openBlock(), createElementBlock("div", _hoisted_1$16, [__props.icon ? (openBlock(), createElementBlock("div", {
24
- key: 0,
25
- class: normalizeClass(__props.icon)
26
- }, null, 2)) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default", {}, () => [createBaseVNode("div", null, toDisplayString(__props.text), 1)])]);
27
- };
28
- }
29
- });
30
- var Icon_default = /* @__PURE__ */ defineComponent({
31
- __name: "Icon",
32
- props: { icon: {} },
33
- setup(__props) {
34
- return (_ctx, _cache) => {
35
- return openBlock(), createElementBlock("div", { class: normalizeClass(["n-icon", __props.icon]) }, null, 2);
36
- };
37
- }
38
- });
39
- var _hoisted_1$15 = ["open"];
40
- var _hoisted_2$10 = { "text-base": "" };
41
- var _hoisted_3$5 = {
42
- key: 0,
43
- "text-sm": "",
44
- op50: ""
45
- };
46
- var SectionBlock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
47
- __name: "SectionBlock",
48
- props: {
49
- icon: {},
50
- text: {},
51
- description: {},
52
- containerClass: { default: "" },
53
- headerClass: {},
54
- collapse: {
55
- type: Boolean,
56
- default: true
57
- },
58
- open: {
59
- type: Boolean,
60
- default: true
61
- },
62
- padding: {
63
- type: [Boolean, String],
64
- default: true
65
- }
66
- },
67
- setup(__props) {
68
- const open = useVModel(__props, "open", void 0, { passive: true });
69
- function onToggle(e) {
70
- open.value = e.target.open;
71
- }
72
- return (_ctx, _cache) => {
73
- const _component_Icon = Icon_default;
74
- const _component_IconTitle = IconTitle_default;
75
- const _directive_lazy_show = resolveDirective("lazy-show");
76
- return openBlock(), createElementBlock(Fragment, null, [createBaseVNode("details", {
77
- open: unref(open),
78
- onToggle: _cache[0] || (_cache[0] = (...args) => onToggle && onToggle(...args))
79
- }, [createBaseVNode("summary", { class: normalizeClass(["cursor-pointer select-none p4 hover:bg-active", __props.collapse ? "" : "pointer-events-none"]) }, [createVNode(_component_IconTitle, {
80
- icon: __props.icon,
81
- text: __props.text,
82
- "text-xl": "",
83
- transition: "",
84
- class: normalizeClass([unref(open) ? "op100" : "op60", __props.headerClass])
85
- }, {
86
- default: withCtx(() => [
87
- createBaseVNode("div", null, [createBaseVNode("div", _hoisted_2$10, [renderSlot(_ctx.$slots, "text", {}, () => [createTextVNode(toDisplayString(__props.text), 1)], true)]), __props.description || _ctx.$slots.description ? (openBlock(), createElementBlock("div", _hoisted_3$5, [renderSlot(_ctx.$slots, "description", {}, () => [createTextVNode(toDisplayString(__props.description), 1)], true)])) : createCommentVNode("", true)]),
88
- _cache[1] || (_cache[1] = createBaseVNode("div", { class: "flex-auto" }, null, -1)),
89
- renderSlot(_ctx.$slots, "actions", {}, void 0, true),
90
- __props.collapse ? (openBlock(), createBlock(_component_Icon, {
91
- key: 0,
92
- icon: "i-ph-caret-down",
93
- class: "chevron",
94
- "cursor-pointer": "",
95
- "place-self-start": "",
96
- "text-base": "",
97
- op75: "",
98
- transition: "",
99
- "duration-500": ""
100
- })) : createCommentVNode("", true)
101
- ]),
102
- _: 3
103
- }, 8, [
104
- "icon",
105
- "text",
106
- "class"
107
- ])], 2), withDirectives((openBlock(), createElementBlock("div", { class: normalizeClass(["flex flex-col flex-gap2 pb6 pt2", typeof __props.padding === "string" ? __props.padding : __props.padding ? "px4" : ""]) }, [
108
- renderSlot(_ctx.$slots, "details", {}, void 0, true),
109
- createBaseVNode("div", { class: normalizeClass([__props.containerClass, "mt1"]) }, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 2),
110
- renderSlot(_ctx.$slots, "footer", {}, void 0, true)
111
- ], 2)), [[_directive_lazy_show, unref(open)]])], 40, _hoisted_1$15), _cache[2] || (_cache[2] = createBaseVNode("div", { class: "x-divider" }, null, -1))], 64);
112
- };
113
- }
114
- });
115
- var _plugin_vue_export_helper_default = (sfc, props) => {
116
- const target = sfc.__vccOpts || sfc;
117
- for (const [key$1, val] of props) target[key$1] = val;
8
+ if (symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
118
9
  return target;
119
10
  };
120
- var SectionBlock_default = /* @__PURE__ */ _plugin_vue_export_helper_default(SectionBlock_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-deaf669f"]]);
121
- var Button_default = defineComponent({
122
- name: "Button",
123
- props: {
124
- to: String,
125
- icon: String,
126
- border: {
127
- type: Boolean,
128
- default: true
129
- },
130
- disabled: Boolean,
131
- type: {
132
- type: String,
133
- default: "button"
134
- }
135
- },
136
- setup(props, { attrs, slots }) {
137
- return () => h(props.to ? RouterLink : "button", {
138
- to: props.to,
139
- ...attrs,
140
- ...!props.to && { type: props.type },
141
- ...props.disabled ? { disabled: true } : { tabindex: 0 },
142
- class: [
143
- props.border ? "n-button-base active:n-button-active focus-visible:n-focus-base hover:n-button-hover" : "",
144
- slots.default ? "" : "n-icon-button",
145
- "n-button n-transition n-disabled:n-disabled"
146
- ].join(" ")
147
- }, { default: () => [renderSlot(slots, "icon", {}, () => props.icon ? [h(Icon_default, {
148
- icon: props.icon,
149
- class: slots.default ? "n-button-icon" : ""
150
- })] : []), renderSlot(slots, "default")] });
151
- }
152
- });
153
- var _sfc_main$1 = {};
154
- var _hoisted_1$14 = { class: "n-card n-card-base" };
155
- function _sfc_render$1(_ctx, _cache) {
156
- return openBlock(), createElementBlock("div", _hoisted_1$14, [renderSlot(_ctx.$slots, "default")]);
157
- }
158
- var Card_default = /* @__PURE__ */ _plugin_vue_export_helper_default(_sfc_main$1, [["render", _sfc_render$1]]);
159
- var _hoisted_1$13 = ["border"];
160
- var _hoisted_2$9 = { class: "relative h-full w-full of-auto" };
161
- var Drawer_default = /* @__PURE__ */ defineComponent({
162
- __name: "Drawer",
163
- props: {
164
- modelValue: { type: Boolean },
165
- top: {},
166
- left: {},
167
- autoClose: { type: Boolean },
168
- transition: { default: "right" }
169
- },
170
- emits: ["close"],
171
- setup(__props, { emit: __emit }) {
172
- const props = __props;
173
- const emit = __emit;
174
- const el = ref();
175
- const { height } = useElementSize(() => props.top, void 0, { box: "border-box" });
176
- const width = typeof props.left === "string" && props.left.startsWith("#") ? document.querySelector(props.left)?.getBoundingClientRect().width : useElementSize(() => props.left, void 0, { box: "border-box" }).width;
177
- onClickOutside(el, () => {
178
- if (props.modelValue && props.autoClose) emit("close");
179
- }, { ignore: [
180
- "a",
181
- "button",
182
- "summary",
183
- "[role=\"dialog\"]"
184
- ] });
185
- const transitionType = {
186
- right: {
187
- "enter-from-class": "transform translate-x-1/1",
188
- "leave-to-class": "transform translate-x-1/1"
189
- },
190
- top: {
191
- "enter-from-class": "transform translate-y--1/1",
192
- "leave-to-class": "transform translate-y--1/1"
193
- },
194
- bottom: {
195
- "enter-from-class": "transform translate-y-1/1",
196
- "leave-to-class": "transform translate-y-1/1"
197
- }
198
- };
199
- return (_ctx, _cache) => {
200
- return openBlock(), createBlock(Transition, mergeProps(transitionType[__props.transition], {
201
- "enter-active-class": "duration-200 ease-in",
202
- "enter-to-class": "opacity-100",
203
- "leave-active-class": "duration-200 ease-out",
204
- "leave-from-class": "opacity-100"
205
- }), {
206
- default: withCtx(() => [__props.modelValue ? (openBlock(), createElementBlock("div", mergeProps({
207
- key: 0,
208
- ref_key: "el",
209
- ref: el,
210
- border: `${__props.transition === "right" ? "l" : __props.transition === "bottom" ? "t" : "b"} border`,
211
- class: [{ "right-0": __props.transition === "right" || __props.transition === "bottom" }, "absolute bottom-0 z-10 z-20 of-auto n-glass-effect text-sm flex flex-col gap-1"],
212
- style: {
213
- top: __props.transition === "bottom" ? "auto" : `${unref(height)}px`,
214
- left: __props.transition === "right" && !unref(width) ? "auto" : `${unref(width)}px`
215
- }
216
- }, _ctx.$attrs), [createVNode(unref(Button_default), {
217
- class: "absolute right-2 top-2 z-20 text-xl",
218
- icon: "i-ph-x-bold",
219
- border: false,
220
- onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("close"))
221
- }), createBaseVNode("div", _hoisted_2$9, [renderSlot(_ctx.$slots, "default")])], 16, _hoisted_1$13)) : createCommentVNode("", true)]),
222
- _: 3
223
- }, 16);
224
- };
225
- }
226
- });
227
- var _hoisted_1$12 = { class: "flex items-center border n-border-base rounded n-bg-base py-1 pl-1 pr-2 focus-within:border-primary" };
228
- var TextInput_default = /* @__PURE__ */ defineComponent({
229
- __name: "TextInput",
230
- props: {
231
- modelValue: { default: "" },
232
- icon: {},
233
- placeholder: {},
234
- disabled: { type: Boolean },
235
- autofocus: { type: Boolean },
236
- autocomplete: {},
237
- readonly: { type: Boolean },
238
- type: { default: "text" }
239
- },
240
- emits: [
241
- "keydown",
242
- "keyup",
243
- "change"
244
- ],
245
- setup(__props, { emit: __emit }) {
246
- const input = useVModel(__props, "modelValue", __emit, { passive: true });
247
- return (_ctx, _cache) => {
248
- return openBlock(), createElementBlock("div", _hoisted_1$12, [renderSlot(_ctx.$slots, "icon", {}, () => [__props.icon ? (openBlock(), createBlock(Icon_default, {
249
- key: 0,
250
- icon: __props.icon,
251
- class: "ml-0.3em mr-0.1em text-1.1em op50"
252
- }, null, 8, ["icon"])) : createCommentVNode("", true)]), withDirectives(createBaseVNode("input", mergeProps({ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(input) ? input.value = $event : null) }, _ctx.$props, { class: "ml-0.4em w-full flex-auto n-bg-base outline-none!" }), null, 16), [[vModelDynamic, unref(input)]])]);
253
- };
254
- }
255
- });
256
- var _hoisted_1$11 = { class: "flex gap-4 flex-wrap items-center" };
257
- var Navbar_default = /* @__PURE__ */ defineComponent({
258
- name: "Navbar",
259
- __name: "Navbar",
260
- props: /* @__PURE__ */ mergeModels({
261
- search: {},
262
- noPadding: { type: Boolean }
263
- }, {
264
- "search": {},
265
- "searchModifiers": {}
266
- }),
267
- emits: /* @__PURE__ */ mergeModels(["update:search"], ["update:search"]),
268
- setup(__props, { emit: __emit }) {
269
- const emit = __emit;
270
- function update(event) {
271
- emit("update:search", event.target.value);
272
- }
273
- const search = useModel(__props, "search");
274
- return (_ctx, _cache) => {
275
- return openBlock(), createElementBlock("div", { class: normalizeClass(["flex flex-col gap-2 flex-wrap border-b n-border-base flex-1", [{ p4: !__props.noPadding }]]) }, [createBaseVNode("div", _hoisted_1$11, [renderSlot(_ctx.$slots, "search", {}, () => [search.value !== void 0 ? (openBlock(), createBlock(TextInput_default, {
276
- key: 0,
277
- placeholder: "Search...",
278
- icon: "i-carbon-search",
279
- class: normalizeClass(["flex-auto", { "px-3 py-2": !__props.noPadding }]),
280
- value: search.value,
281
- onInput: update
282
- }, null, 8, ["class", "value"])) : createCommentVNode("", true)]), renderSlot(_ctx.$slots, "actions")]), renderSlot(_ctx.$slots, "default")], 2);
283
- };
284
- }
285
- });
286
- var _sfc_main = {};
287
- var _hoisted_1$10 = { class: "n-panel-grids-center" };
288
- function _sfc_render(_ctx, _cache) {
289
- return openBlock(), createElementBlock("div", _hoisted_1$10, [renderSlot(_ctx.$slots, "default")]);
290
- }
291
- var PanelGrids_default = /* @__PURE__ */ _plugin_vue_export_helper_default(_sfc_main, [["render", _sfc_render]]);
292
- var Pe = {
293
- __name: "splitpanes",
294
- props: {
295
- horizontal: {
296
- type: Boolean,
297
- default: !1
298
- },
299
- pushOtherPanes: {
300
- type: Boolean,
301
- default: !0
302
- },
303
- maximizePanes: {
304
- type: Boolean,
305
- default: !0
306
- },
307
- rtl: {
308
- type: Boolean,
309
- default: !1
310
- },
311
- firstSplitter: {
312
- type: Boolean,
313
- default: !1
314
- }
315
- },
316
- emits: [
317
- "ready",
318
- "resize",
319
- "resized",
320
- "pane-click",
321
- "pane-maximize",
322
- "pane-add",
323
- "pane-remove",
324
- "splitter-click",
325
- "splitter-dblclick"
326
- ],
327
- setup(D, { emit: h$1 }) {
328
- const y = h$1, u = D, E = useSlots(), l = ref([]), M = computed(() => l.value.reduce((e, n) => (e[~~n.id] = n) && e, {})), m = computed(() => l.value.length), x = ref(null), S = ref(!1), c = ref({
329
- mouseDown: !1,
330
- dragging: !1,
331
- activeSplitter: null,
332
- cursorOffset: 0
333
- }), f = ref({
334
- splitter: null,
335
- timeoutId: null
336
- }), _ = computed(() => ({
337
- [`splitpanes splitpanes--${u.horizontal ? "horizontal" : "vertical"}`]: !0,
338
- "splitpanes--dragging": c.value.dragging
339
- })), R = () => {
340
- document.addEventListener("mousemove", r, { passive: !1 }), document.addEventListener("mouseup", P), "ontouchstart" in window && (document.addEventListener("touchmove", r, { passive: !1 }), document.addEventListener("touchend", P));
341
- }, O = () => {
342
- document.removeEventListener("mousemove", r, { passive: !1 }), document.removeEventListener("mouseup", P), "ontouchstart" in window && (document.removeEventListener("touchmove", r, { passive: !1 }), document.removeEventListener("touchend", P));
343
- }, b = (e, n) => {
344
- const t = e.target.closest(".splitpanes__splitter");
345
- if (t) {
346
- const { left: i, top: a } = t.getBoundingClientRect(), { clientX: s, clientY: o } = "ontouchstart" in window && e.touches ? e.touches[0] : e;
347
- c.value.cursorOffset = u.horizontal ? o - a : s - i;
348
- }
349
- R(), c.value.mouseDown = !0, c.value.activeSplitter = n;
350
- }, r = (e) => {
351
- c.value.mouseDown && (e.preventDefault(), c.value.dragging = !0, requestAnimationFrame(() => {
352
- K(I(e)), d("resize", { event: e }, !0);
353
- }));
354
- }, P = (e) => {
355
- c.value.dragging && (window.getSelection().removeAllRanges(), d("resized", { event: e }, !0)), c.value.mouseDown = !1, c.value.activeSplitter = null, setTimeout(() => {
356
- c.value.dragging = !1, O();
357
- }, 100);
358
- }, A = (e, n) => {
359
- "ontouchstart" in window && (e.preventDefault(), f.value.splitter === n ? (clearTimeout(f.value.timeoutId), f.value.timeoutId = null, U(e, n), f.value.splitter = null) : (f.value.splitter = n, f.value.timeoutId = setTimeout(() => f.value.splitter = null, 500))), c.value.dragging || d("splitter-click", {
360
- event: e,
361
- index: n
362
- }, !0);
363
- }, U = (e, n) => {
364
- if (d("splitter-dblclick", {
365
- event: e,
366
- index: n
367
- }, !0), u.maximizePanes) {
368
- let t = 0;
369
- l.value = l.value.map((i, a) => (i.size = a === n ? i.max : i.min, a !== n && (t += i.min), i)), l.value[n].size -= t, d("pane-maximize", {
370
- event: e,
371
- index: n,
372
- pane: l.value[n]
373
- }), d("resized", {
374
- event: e,
375
- index: n
376
- }, !0);
377
- }
378
- }, W = (e, n) => {
379
- d("pane-click", {
380
- event: e,
381
- index: M.value[n].index,
382
- pane: M.value[n]
383
- });
384
- }, I = (e) => {
385
- const n = x.value.getBoundingClientRect(), { clientX: t, clientY: i } = "ontouchstart" in window && e.touches ? e.touches[0] : e;
386
- return {
387
- x: t - (u.horizontal ? 0 : c.value.cursorOffset) - n.left,
388
- y: i - (u.horizontal ? c.value.cursorOffset : 0) - n.top
389
- };
390
- }, J = (e) => {
391
- e = e[u.horizontal ? "y" : "x"];
392
- const n = x.value[u.horizontal ? "clientHeight" : "clientWidth"];
393
- return u.rtl && !u.horizontal && (e = n - e), e * 100 / n;
394
- }, K = (e) => {
395
- const n = c.value.activeSplitter;
396
- let t = {
397
- prevPanesSize: $(n),
398
- nextPanesSize: N(n),
399
- prevReachedMinPanes: 0,
400
- nextReachedMinPanes: 0
401
- };
402
- const i = 0 + (u.pushOtherPanes ? 0 : t.prevPanesSize), a = 100 - (u.pushOtherPanes ? 0 : t.nextPanesSize), s = Math.max(Math.min(J(e), a), i);
403
- let o = [n, n + 1], v = l.value[o[0]] || null, p$1 = l.value[o[1]] || null;
404
- const H = v.max < 100 && s >= v.max + t.prevPanesSize, ue = p$1.max < 100 && s <= 100 - (p$1.max + N(n + 1));
405
- if (H || ue) {
406
- H ? (v.size = v.max, p$1.size = Math.max(100 - v.max - t.prevPanesSize - t.nextPanesSize, 0)) : (v.size = Math.max(100 - p$1.max - t.prevPanesSize - N(n + 1), 0), p$1.size = p$1.max);
407
- return;
408
- }
409
- if (u.pushOtherPanes) {
410
- const j = Q(t, s);
411
- if (!j) return;
412
- ({sums: t, panesToResize: o} = j), v = l.value[o[0]] || null, p$1 = l.value[o[1]] || null;
413
- }
414
- v !== null && (v.size = Math.min(Math.max(s - t.prevPanesSize - t.prevReachedMinPanes, v.min), v.max)), p$1 !== null && (p$1.size = Math.min(Math.max(100 - s - t.nextPanesSize - t.nextReachedMinPanes, p$1.min), p$1.max));
415
- }, Q = (e, n) => {
416
- const t = c.value.activeSplitter, i = [t, t + 1];
417
- return n < e.prevPanesSize + l.value[i[0]].min && (i[0] = V(t).index, e.prevReachedMinPanes = 0, i[0] < t && l.value.forEach((a, s) => {
418
- s > i[0] && s <= t && (a.size = a.min, e.prevReachedMinPanes += a.min);
419
- }), e.prevPanesSize = $(i[0]), i[0] === void 0) ? (e.prevReachedMinPanes = 0, l.value[0].size = l.value[0].min, l.value.forEach((a, s) => {
420
- s > 0 && s <= t && (a.size = a.min, e.prevReachedMinPanes += a.min);
421
- }), l.value[i[1]].size = 100 - e.prevReachedMinPanes - l.value[0].min - e.prevPanesSize - e.nextPanesSize, null) : n > 100 - e.nextPanesSize - l.value[i[1]].min && (i[1] = Z(t).index, e.nextReachedMinPanes = 0, i[1] > t + 1 && l.value.forEach((a, s) => {
422
- s > t && s < i[1] && (a.size = a.min, e.nextReachedMinPanes += a.min);
423
- }), e.nextPanesSize = N(i[1] - 1), i[1] === void 0) ? (e.nextReachedMinPanes = 0, l.value.forEach((a, s) => {
424
- s < m.value - 1 && s >= t + 1 && (a.size = a.min, e.nextReachedMinPanes += a.min);
425
- }), l.value[i[0]].size = 100 - e.prevPanesSize - N(i[0] - 1), null) : {
426
- sums: e,
427
- panesToResize: i
428
- };
429
- }, $ = (e) => l.value.reduce((n, t, i) => n + (i < e ? t.size : 0), 0), N = (e) => l.value.reduce((n, t, i) => n + (i > e + 1 ? t.size : 0), 0), V = (e) => [...l.value].reverse().find((t) => t.index < e && t.size > t.min) || {}, Z = (e) => l.value.find((t) => t.index > e + 1 && t.size > t.min) || {}, ee = () => {
430
- var n;
431
- const e = Array.from(((n = x.value) == null ? void 0 : n.children) || []);
432
- for (const t of e) {
433
- const i = t.classList.contains("splitpanes__pane"), a = t.classList.contains("splitpanes__splitter");
434
- !i && !a && (t.remove(), console.warn("Splitpanes: Only <pane> elements are allowed at the root of <splitpanes>. One of your DOM nodes was removed."));
435
- }
436
- }, F = (e, n, t = !1) => {
437
- const i = e - 1, a = document.createElement("div");
438
- a.classList.add("splitpanes__splitter"), t || (a.onmousedown = (s) => b(s, i), typeof window < "u" && "ontouchstart" in window && (a.ontouchstart = (s) => b(s, i)), a.onclick = (s) => A(s, i + 1)), a.ondblclick = (s) => U(s, i + 1), n.parentNode.insertBefore(a, n);
439
- }, ne = (e) => {
440
- e.onmousedown = void 0, e.onclick = void 0, e.ondblclick = void 0, e.remove();
441
- }, C = () => {
442
- var t;
443
- const e = Array.from(((t = x.value) == null ? void 0 : t.children) || []);
444
- for (const i of e) i.className.includes("splitpanes__splitter") && ne(i);
445
- let n = 0;
446
- for (const i of e) i.className.includes("splitpanes__pane") && (!n && u.firstSplitter ? F(n, i, !0) : n && F(n, i), n++);
447
- }, ie = ({ uid: e, ...n }) => {
448
- const t = M.value[e];
449
- for (const [i, a] of Object.entries(n)) t[i] = a;
450
- }, te = (e) => {
451
- var t;
452
- let n = -1;
453
- Array.from(((t = x.value) == null ? void 0 : t.children) || []).some((i) => (i.className.includes("splitpanes__pane") && n++, i.isSameNode(e.el))), l.value.splice(n, 0, {
454
- ...e,
455
- index: n
456
- }), l.value.forEach((i, a) => i.index = a), S.value && nextTick(() => {
457
- C(), L({ addedPane: l.value[n] }), d("pane-add", { pane: l.value[n] });
458
- });
459
- }, ae = (e) => {
460
- const n = l.value.findIndex((i) => i.id === e);
461
- l.value[n].el = null;
462
- const t = l.value.splice(n, 1)[0];
463
- l.value.forEach((i, a) => i.index = a), nextTick(() => {
464
- C(), d("pane-remove", { pane: t }), L({ removedPane: { ...t } });
465
- });
466
- }, L = (e = {}) => {
467
- !e.addedPane && !e.removedPane ? le() : l.value.some((n) => n.givenSize !== null || n.min || n.max < 100) ? oe(e) : se(), S.value && d("resized");
468
- }, se = () => {
469
- const e = 100 / m.value;
470
- let n = 0;
471
- const t = [], i = [];
472
- for (const a of l.value) a.size = Math.max(Math.min(e, a.max), a.min), n -= a.size, a.size >= a.max && t.push(a.id), a.size <= a.min && i.push(a.id);
473
- n > .1 && q(n, t, i);
474
- }, le = () => {
475
- let e = 100;
476
- const n = [], t = [];
477
- let i = 0;
478
- for (const s of l.value) e -= s.size, s.givenSize !== null && i++, s.size >= s.max && n.push(s.id), s.size <= s.min && t.push(s.id);
479
- let a = 100;
480
- if (e > .1) {
481
- for (const s of l.value) s.givenSize === null && (s.size = Math.max(Math.min(e / (m.value - i), s.max), s.min)), a -= s.size;
482
- a > .1 && q(a, n, t);
483
- }
484
- }, oe = ({ addedPane: e, removedPane: n } = {}) => {
485
- let t = 100 / m.value, i = 0;
486
- const a = [], s = [];
487
- ((e == null ? void 0 : e.givenSize) ?? null) !== null && (t = (100 - e.givenSize) / (m.value - 1));
488
- for (const o of l.value) i -= o.size, o.size >= o.max && a.push(o.id), o.size <= o.min && s.push(o.id);
489
- if (!(Math.abs(i) < .1)) {
490
- for (const o of l.value) (e == null ? void 0 : e.givenSize) !== null && (e == null ? void 0 : e.id) === o.id || (o.size = Math.max(Math.min(t, o.max), o.min)), i -= o.size, o.size >= o.max && a.push(o.id), o.size <= o.min && s.push(o.id);
491
- i > .1 && q(i, a, s);
492
- }
493
- }, q = (e, n, t) => {
494
- let i;
495
- e > 0 ? i = e / (m.value - n.length) : i = e / (m.value - t.length), l.value.forEach((a, s) => {
496
- if (e > 0 && !n.includes(a.id)) {
497
- const o = Math.max(Math.min(a.size + i, a.max), a.min), v = o - a.size;
498
- e -= v, a.size = o;
499
- } else if (!t.includes(a.id)) {
500
- const o = Math.max(Math.min(a.size + i, a.max), a.min), v = o - a.size;
501
- e -= v, a.size = o;
502
- }
503
- }), Math.abs(e) > .1 && nextTick(() => {
504
- S.value && console.warn("Splitpanes: Could not resize panes correctly due to their constraints.");
505
- });
506
- }, d = (e, n = void 0, t = !1) => {
507
- const i = (n == null ? void 0 : n.index) ?? c.value.activeSplitter ?? null;
508
- y(e, {
509
- ...n,
510
- ...i !== null && { index: i },
511
- ...t && i !== null && {
512
- prevPane: l.value[i - (u.firstSplitter ? 1 : 0)],
513
- nextPane: l.value[i + (u.firstSplitter ? 0 : 1)]
514
- },
515
- panes: l.value.map((a) => ({
516
- min: a.min,
517
- max: a.max,
518
- size: a.size
519
- }))
520
- });
521
- };
522
- watch(() => u.firstSplitter, () => C()), onMounted(() => {
523
- ee(), C(), L(), d("ready"), S.value = !0;
524
- }), onBeforeUnmount(() => S.value = !1);
525
- const re$1 = () => {
526
- var e;
527
- return h("div", {
528
- ref: x,
529
- class: _.value
530
- }, (e = E.default) == null ? void 0 : e.call(E));
531
- };
532
- return provide("panes", l), provide("indexedPanes", M), provide("horizontal", computed(() => u.horizontal)), provide("requestUpdate", ie), provide("onPaneAdd", te), provide("onPaneRemove", ae), provide("onPaneClick", W), (e, n) => (openBlock(), createBlock(resolveDynamicComponent(re$1)));
533
- }
534
- }, ge = {
535
- __name: "pane",
536
- props: {
537
- size: { type: [Number, String] },
538
- minSize: {
539
- type: [Number, String],
540
- default: 0
541
- },
542
- maxSize: {
543
- type: [Number, String],
544
- default: 100
545
- }
546
- },
547
- setup(D) {
548
- var b;
549
- const h$1 = D, y = inject("requestUpdate"), u = inject("onPaneAdd"), E = inject("horizontal"), l = inject("onPaneRemove"), M = inject("onPaneClick"), m = (b = getCurrentInstance()) == null ? void 0 : b.uid, x = inject("indexedPanes"), S = computed(() => x.value[m]), c = ref(null), f = computed(() => {
550
- const r = isNaN(h$1.size) || h$1.size === void 0 ? 0 : parseFloat(h$1.size);
551
- return Math.max(Math.min(r, R.value), _.value);
552
- }), _ = computed(() => {
553
- const r = parseFloat(h$1.minSize);
554
- return isNaN(r) ? 0 : r;
555
- }), R = computed(() => {
556
- const r = parseFloat(h$1.maxSize);
557
- return isNaN(r) ? 100 : r;
558
- }), O = computed(() => {
559
- var r;
560
- return `${E.value ? "height" : "width"}: ${(r = S.value) == null ? void 0 : r.size}%`;
561
- });
562
- return watch(() => f.value, (r) => y({
563
- uid: m,
564
- size: r
565
- })), watch(() => _.value, (r) => y({
566
- uid: m,
567
- min: r
568
- })), watch(() => R.value, (r) => y({
569
- uid: m,
570
- max: r
571
- })), onMounted(() => {
572
- u({
573
- id: m,
574
- el: c.value,
575
- min: _.value,
576
- max: R.value,
577
- givenSize: h$1.size === void 0 ? null : f.value,
578
- size: f.value
579
- });
580
- }), onBeforeUnmount(() => l(m)), (r, P) => (openBlock(), createElementBlock("div", {
581
- ref_key: "paneEl",
582
- ref: c,
583
- class: "splitpanes__pane",
584
- onClick: P[0] || (P[0] = (A) => unref(M)(A, r._.uid)),
585
- style: normalizeStyle(O.value)
586
- }, [renderSlot(r.$slots, "default")], 4));
587
- }
588
- };
589
- var DEFAULT = 30;
590
- var SplitPane_default = /* @__PURE__ */ defineComponent({
591
- __name: "SplitPane",
592
- props: {
593
- storageKey: {},
594
- stateKey: { default: "pubinfo-devtools-panels-state" },
595
- leftSize: {},
596
- minSize: {},
597
- horizontal: { type: Boolean }
598
- },
599
- setup(__props) {
600
- const props = __props;
601
- const state = useLocalStorage(props.stateKey, {}, { listenToStorageChanges: false });
602
- const key$1 = props.storageKey;
603
- if (key$1 && state.value[key$1] === void 0) state.value[key$1] = props.leftSize || DEFAULT;
604
- const size = key$1 ? computed({
605
- get: () => state.value[key$1] ?? DEFAULT,
606
- set: (v) => {
607
- state.value[key$1] = v;
608
- }
609
- }) : ref(props.leftSize || DEFAULT);
610
- return (_ctx, _cache) => {
611
- return openBlock(), createBlock(unref(Pe), {
612
- horizontal: __props.horizontal,
613
- class: "h-full of-hidden",
614
- onResize: _cache[0] || (_cache[0] = ({ prevPane }) => size.value = prevPane.size)
615
- }, {
616
- default: withCtx(() => [createVNode(unref(ge), {
617
- class: "of-auto! h-full",
618
- size: unref(size),
619
- "min-size": _ctx.$slots.right ? __props.minSize || 10 : 100
620
- }, {
621
- default: withCtx(() => [renderSlot(_ctx.$slots, "left")]),
622
- _: 3
623
- }, 8, ["size", "min-size"]), _ctx.$slots.right ? (openBlock(), createBlock(unref(ge), {
624
- key: 0,
625
- class: "of-auto! relative h-full",
626
- "min-size": __props.minSize || 10
627
- }, {
628
- default: withCtx(() => [renderSlot(_ctx.$slots, "right")]),
629
- _: 3
630
- }, 8, ["min-size"])) : createCommentVNode("", true)]),
631
- _: 3
632
- }, 8, ["horizontal"]);
633
- };
634
- }
635
- });
636
- var ShikiError$2 = class extends Error {
11
+ var ShikiError = class extends Error {
637
12
  constructor(message) {
638
13
  super(message);
639
14
  this.name = "ShikiError";
@@ -4917,7 +4292,7 @@ function flatTokenVariants(merged, variantsOrder, cssVariablePrefix, defaultColo
4917
4292
  if (idx === 0 && defaultColor && COLOR_KEYS.includes(key$1)) if (defaultColor === DEFAULT_COLOR_LIGHT_DARK && styles.length > 1) {
4918
4293
  const lightIndex = variantsOrder.findIndex((t) => t === "light");
4919
4294
  const darkIndex = variantsOrder.findIndex((t) => t === "dark");
4920
- if (lightIndex === -1 || darkIndex === -1) throw new ShikiError$2("When using `defaultColor: \"light-dark()\"`, you must provide both `light` and `dark` themes");
4295
+ if (lightIndex === -1 || darkIndex === -1) throw new ShikiError("When using `defaultColor: \"light-dark()\"`, you must provide both `light` and `dark` themes");
4921
4296
  mergedStyles[key$1] = `light-dark(${styles[lightIndex][key$1] || "inherit"}, ${styles[darkIndex][key$1] || "inherit"})`;
4922
4297
  if (colorsRendering === "css-vars") mergedStyles[varKey(idx, key$1)] = value;
4923
4298
  } else mergedStyles[key$1] = value;
@@ -5007,7 +4382,7 @@ function getScopes(stack) {
5007
4382
  return scopes;
5008
4383
  }
5009
4384
  function getGrammarStack(state, theme) {
5010
- if (!(state instanceof GrammarState)) throw new ShikiError$2("Invalid grammar state");
4385
+ if (!(state instanceof GrammarState)) throw new ShikiError("Invalid grammar state");
5011
4386
  return state.getInternalStack(theme);
5012
4387
  }
5013
4388
  function transformerDecorations() {
@@ -5016,17 +4391,17 @@ function transformerDecorations() {
5016
4391
  if (!map.has(shiki.meta)) {
5017
4392
  let normalizePosition = function(p$1) {
5018
4393
  if (typeof p$1 === "number") {
5019
- if (p$1 < 0 || p$1 > shiki.source.length) throw new ShikiError$2(`Invalid decoration offset: ${p$1}. Code length: ${shiki.source.length}`);
4394
+ if (p$1 < 0 || p$1 > shiki.source.length) throw new ShikiError(`Invalid decoration offset: ${p$1}. Code length: ${shiki.source.length}`);
5020
4395
  return {
5021
4396
  ...converter.indexToPos(p$1),
5022
4397
  offset: p$1
5023
4398
  };
5024
4399
  } else {
5025
4400
  const line = converter.lines[p$1.line];
5026
- if (line === void 0) throw new ShikiError$2(`Invalid decoration position ${JSON.stringify(p$1)}. Lines length: ${converter.lines.length}`);
4401
+ if (line === void 0) throw new ShikiError(`Invalid decoration position ${JSON.stringify(p$1)}. Lines length: ${converter.lines.length}`);
5027
4402
  let character = p$1.character;
5028
4403
  if (character < 0) character = line.length + character;
5029
- if (character < 0 || character > line.length) throw new ShikiError$2(`Invalid decoration position ${JSON.stringify(p$1)}. Line ${p$1.line} length: ${line.length}`);
4404
+ if (character < 0 || character > line.length) throw new ShikiError(`Invalid decoration position ${JSON.stringify(p$1)}. Line ${p$1.line} length: ${line.length}`);
5030
4405
  return {
5031
4406
  ...p$1,
5032
4407
  character,
@@ -5059,7 +4434,7 @@ function transformerDecorations() {
5059
4434
  if (!this.options.decorations?.length) return;
5060
4435
  const ctx = getContext(this);
5061
4436
  const lines = Array.from(codeEl.children).filter((i) => i.type === "element" && i.tagName === "span");
5062
- if (lines.length !== ctx.converter.lines.length) throw new ShikiError$2(`Number of lines in code element (${lines.length}) does not match the number of lines in the source (${ctx.converter.lines.length}). Failed to apply decorations.`);
4437
+ if (lines.length !== ctx.converter.lines.length) throw new ShikiError(`Number of lines in code element (${lines.length}) does not match the number of lines in the source (${ctx.converter.lines.length}). Failed to apply decorations.`);
5063
4438
  function applyLineSection(line, start, end, decoration) {
5064
4439
  const lineEl = lines[line];
5065
4440
  let text$1 = "";
@@ -5073,8 +4448,8 @@ function transformerDecorations() {
5073
4448
  if (startIndex === -1 && text$1.length === start) startIndex = i + 1;
5074
4449
  if (endIndex === -1 && text$1.length === end) endIndex = i + 1;
5075
4450
  }
5076
- if (startIndex === -1) throw new ShikiError$2(`Failed to find start index for decoration ${JSON.stringify(decoration.start)}`);
5077
- if (endIndex === -1) throw new ShikiError$2(`Failed to find end index for decoration ${JSON.stringify(decoration.end)}`);
4451
+ if (startIndex === -1) throw new ShikiError(`Failed to find start index for decoration ${JSON.stringify(decoration.start)}`);
4452
+ if (endIndex === -1) throw new ShikiError(`Failed to find end index for decoration ${JSON.stringify(decoration.end)}`);
5078
4453
  const children = lineEl.children.slice(startIndex, endIndex);
5079
4454
  if (!decoration.alwaysWrap && children.length === lineEl.children.length) applyDecoration(lineEl, decoration, "line");
5080
4455
  else if (!decoration.alwaysWrap && children.length === 1 && children[0].type === "element") applyDecoration(children[0], decoration, "token");
@@ -5123,7 +4498,7 @@ function transformerDecorations() {
5123
4498
  function verifyIntersections(items) {
5124
4499
  for (let i = 0; i < items.length; i++) {
5125
4500
  const foo = items[i];
5126
- if (foo.start.offset > foo.end.offset) throw new ShikiError$2(`Invalid decoration range: ${JSON.stringify(foo.start)} - ${JSON.stringify(foo.end)}`);
4501
+ if (foo.start.offset > foo.end.offset) throw new ShikiError(`Invalid decoration range: ${JSON.stringify(foo.start)} - ${JSON.stringify(foo.end)}`);
5127
4502
  for (let j = i + 1; j < items.length; j++) {
5128
4503
  const bar = items[j];
5129
4504
  const isFooHasBarStart = foo.start.offset <= bar.start.offset && bar.start.offset < foo.end.offset;
@@ -5135,7 +4510,7 @@ function verifyIntersections(items) {
5135
4510
  if (isBarHasFooStart && isBarHasFooEnd) continue;
5136
4511
  if (isBarHasFooStart && foo.start.offset === foo.end.offset) continue;
5137
4512
  if (isFooHasBarEnd && bar.start.offset === bar.end.offset) continue;
5138
- throw new ShikiError$2(`Decorations ${JSON.stringify(foo.start)} and ${JSON.stringify(bar.start)} intersect.`);
4513
+ throw new ShikiError(`Decorations ${JSON.stringify(foo.start)} and ${JSON.stringify(bar.start)} intersect.`);
5139
4514
  }
5140
4515
  }
5141
4516
  }
@@ -5485,7 +4860,7 @@ function dimColor(color) {
5485
4860
  if (cssVarMatch) return `var(${cssVarMatch[1]}-dim)`;
5486
4861
  return color;
5487
4862
  }
5488
- function codeToTokensBase$1(internal, code, options = {}) {
4863
+ function codeToTokensBase(internal, code, options = {}) {
5489
4864
  const { theme: themeName = internal.getLoadedThemes()[0] } = options;
5490
4865
  const lang = internal.resolveLangAlias(options.lang || "text");
5491
4866
  if (isPlainLang(lang) || isNoneTheme(themeName)) return splitLines(code).map((line) => [{
@@ -5496,17 +4871,17 @@ function codeToTokensBase$1(internal, code, options = {}) {
5496
4871
  if (lang === "ansi") return tokenizeAnsiWithTheme(theme, code, options);
5497
4872
  const _grammar = internal.getLanguage(options.lang || "text");
5498
4873
  if (options.grammarState) {
5499
- if (options.grammarState.lang !== _grammar.name) throw new ShikiError$2(`Grammar state language "${options.grammarState.lang}" does not match highlight language "${_grammar.name}"`);
5500
- if (!options.grammarState.themes.includes(theme.name)) throw new ShikiError$2(`Grammar state themes "${options.grammarState.themes}" do not contain highlight theme "${theme.name}"`);
4874
+ if (options.grammarState.lang !== _grammar.name) throw new ShikiError(`Grammar state language "${options.grammarState.lang}" does not match highlight language "${_grammar.name}"`);
4875
+ if (!options.grammarState.themes.includes(theme.name)) throw new ShikiError(`Grammar state themes "${options.grammarState.themes}" do not contain highlight theme "${theme.name}"`);
5501
4876
  }
5502
4877
  return tokenizeWithTheme(code, _grammar, theme, colorMap, options);
5503
4878
  }
5504
- function getLastGrammarState$1(...args) {
4879
+ function getLastGrammarState(...args) {
5505
4880
  if (args.length === 2) return getLastGrammarStateFromMap(args[1]);
5506
4881
  const [internal, code, options = {}] = args;
5507
4882
  const { lang = "text", theme: themeName = internal.getLoadedThemes()[0] } = options;
5508
- if (isPlainLang(lang) || isNoneTheme(themeName)) throw new ShikiError$2("Plain language does not have grammar state");
5509
- if (lang === "ansi") throw new ShikiError$2("ANSI language does not have grammar state");
4883
+ if (isPlainLang(lang) || isNoneTheme(themeName)) throw new ShikiError("Plain language does not have grammar state");
4884
+ if (lang === "ansi") throw new ShikiError("ANSI language does not have grammar state");
5510
4885
  const { theme, colorMap } = internal.setTheme(themeName);
5511
4886
  const _grammar = internal.getLanguage(lang);
5512
4887
  return new GrammarState(_tokenizeWithTheme(code, _grammar, theme, colorMap, options).stateStack, _grammar.name, theme.name);
@@ -5646,13 +5021,13 @@ function explainThemeScope(themeSettingsSelectors, scope, parentScopes) {
5646
5021
  }
5647
5022
  return result;
5648
5023
  }
5649
- function codeToTokensWithThemes$1(internal, code, options) {
5024
+ function codeToTokensWithThemes(internal, code, options) {
5650
5025
  const themes = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({
5651
5026
  color: i[0],
5652
5027
  theme: i[1]
5653
5028
  }));
5654
5029
  const themedTokens = themes.map((t) => {
5655
- const tokens2 = codeToTokensBase$1(internal, code, {
5030
+ const tokens2 = codeToTokensBase(internal, code, {
5656
5031
  ...options,
5657
5032
  theme: t.theme
5658
5033
  });
@@ -5713,7 +5088,7 @@ function syncThemesTokenization(...themes) {
5713
5088
  }
5714
5089
  return outThemes;
5715
5090
  }
5716
- function codeToTokens$1(internal, code, options) {
5091
+ function codeToTokens(internal, code, options) {
5717
5092
  let bg;
5718
5093
  let fg;
5719
5094
  let tokens;
@@ -5726,10 +5101,10 @@ function codeToTokens$1(internal, code, options) {
5726
5101
  color: i[0],
5727
5102
  theme: i[1]
5728
5103
  })).sort((a, b) => a.color === defaultColor ? -1 : b.color === defaultColor ? 1 : 0);
5729
- if (themes.length === 0) throw new ShikiError$2("`themes` option must not be empty");
5730
- const themeTokens = codeToTokensWithThemes$1(internal, code, options);
5104
+ if (themes.length === 0) throw new ShikiError("`themes` option must not be empty");
5105
+ const themeTokens = codeToTokensWithThemes(internal, code, options);
5731
5106
  grammarState = getLastGrammarStateFromMap(themeTokens);
5732
- if (defaultColor && DEFAULT_COLOR_LIGHT_DARK !== defaultColor && !themes.find((t) => t.color === defaultColor)) throw new ShikiError$2(`\`themes\` option must contain the defaultColor key \`${defaultColor}\``);
5107
+ if (defaultColor && DEFAULT_COLOR_LIGHT_DARK !== defaultColor && !themes.find((t) => t.color === defaultColor)) throw new ShikiError(`\`themes\` option must contain the defaultColor key \`${defaultColor}\``);
5733
5108
  const themeRegs = themes.map((t) => internal.getTheme(t.theme));
5734
5109
  const themesOrder = themes.map((t) => t.color);
5735
5110
  tokens = themeTokens.map((line) => line.map((token) => flatTokenVariants(token, themesOrder, cssVariablePrefix, defaultColor, colorsRendering)));
@@ -5741,13 +5116,13 @@ function codeToTokens$1(internal, code, options) {
5741
5116
  rootStyle = defaultColor ? void 0 : [fg, bg].join(";");
5742
5117
  } else if ("theme" in options) {
5743
5118
  const colorReplacements = resolveColorReplacements(options.theme, options);
5744
- tokens = codeToTokensBase$1(internal, code, options);
5119
+ tokens = codeToTokensBase(internal, code, options);
5745
5120
  const _theme = internal.getTheme(options.theme);
5746
5121
  bg = applyColorReplacements(_theme.bg, colorReplacements);
5747
5122
  fg = applyColorReplacements(_theme.fg, colorReplacements);
5748
5123
  themeName = _theme.name;
5749
5124
  grammarState = getLastGrammarStateFromMap(tokens);
5750
- } else throw new ShikiError$2("Invalid options, either `theme` or `themes` must be provided");
5125
+ } else throw new ShikiError("Invalid options, either `theme` or `themes` must be provided");
5751
5126
  return {
5752
5127
  tokens,
5753
5128
  fg,
@@ -5765,7 +5140,7 @@ function mapThemeColors(themes, themeRegs, themeColorReplacements, cssVariablePr
5765
5140
  if (defaultColor === DEFAULT_COLOR_LIGHT_DARK && themes.length > 1) {
5766
5141
  const lightIndex = themes.findIndex((t2) => t2.color === "light");
5767
5142
  const darkIndex = themes.findIndex((t2) => t2.color === "dark");
5768
- if (lightIndex === -1 || darkIndex === -1) throw new ShikiError$2("When using `defaultColor: \"light-dark()\"`, you must provide both `light` and `dark` themes");
5143
+ if (lightIndex === -1 || darkIndex === -1) throw new ShikiError("When using `defaultColor: \"light-dark()\"`, you must provide both `light` and `dark` themes");
5769
5144
  return `light-dark(${applyColorReplacements(themeRegs[lightIndex][property], themeColorReplacements[lightIndex]) || "inherit"}, ${applyColorReplacements(themeRegs[darkIndex][property], themeColorReplacements[darkIndex]) || "inherit"});${cssVar}`;
5770
5145
  }
5771
5146
  return value;
@@ -5774,15 +5149,15 @@ function mapThemeColors(themes, themeRegs, themeColorReplacements, cssVariablePr
5774
5149
  return null;
5775
5150
  }).filter((i) => !!i).join(";");
5776
5151
  }
5777
- function codeToHast$1(internal, code, options, transformerContext = {
5152
+ function codeToHast(internal, code, options, transformerContext = {
5778
5153
  meta: {},
5779
5154
  options,
5780
- codeToHast: (_code, _options) => codeToHast$1(internal, _code, _options),
5781
- codeToTokens: (_code, _options) => codeToTokens$1(internal, _code, _options)
5155
+ codeToHast: (_code, _options) => codeToHast(internal, _code, _options),
5156
+ codeToTokens: (_code, _options) => codeToTokens(internal, _code, _options)
5782
5157
  }) {
5783
5158
  let input = code;
5784
5159
  for (const transformer of getTransformers(options)) input = transformer.preprocess?.call(transformerContext, input, options) || input;
5785
- let { tokens, fg, bg, themeName, rootStyle, grammarState } = codeToTokens$1(internal, input, options);
5160
+ let { tokens, fg, bg, themeName, rootStyle, grammarState } = codeToTokens(internal, input, options);
5786
5161
  const { mergeWhitespaces = true, mergeSameStyleTokens = false } = options;
5787
5162
  if (mergeWhitespaces === true) tokens = mergeWhitespaceTokens(tokens);
5788
5163
  else if (mergeWhitespaces === "never") tokens = splitWhitespaceTokens(tokens);
@@ -6016,14 +5391,14 @@ function mergeAdjacentStyledTokens(tokens) {
6016
5391
  });
6017
5392
  }
6018
5393
  var hastToHtml = toHtml;
6019
- function codeToHtml$1(internal, code, options) {
5394
+ function codeToHtml(internal, code, options) {
6020
5395
  const context = {
6021
5396
  meta: {},
6022
5397
  options,
6023
- codeToHast: (_code, _options) => codeToHast$1(internal, _code, _options),
6024
- codeToTokens: (_code, _options) => codeToTokens$1(internal, _code, _options)
5398
+ codeToHast: (_code, _options) => codeToHast(internal, _code, _options),
5399
+ codeToTokens: (_code, _options) => codeToTokens(internal, _code, _options)
6025
5400
  };
6026
- let result = hastToHtml(codeToHast$1(internal, code, options, context));
5401
+ let result = hastToHtml(codeToHast(internal, code, options, context));
6027
5402
  for (const transformer of getTransformers(options)) result = transformer.postprocess?.call(context, result, options) || result;
6028
5403
  return result;
6029
5404
  }
@@ -6114,6 +5489,10 @@ async function resolveThemes(themes) {
6114
5489
  }
6115
5490
  var _emitDeprecation = 3;
6116
5491
  var _emitError = false;
5492
+ function enableDeprecationWarnings(emitDeprecation = true, emitError = false) {
5493
+ _emitDeprecation = emitDeprecation;
5494
+ _emitError = emitError;
5495
+ }
6117
5496
  function warnDeprecated(message, version = 3) {
6118
5497
  if (!_emitDeprecation) return;
6119
5498
  if (typeof _emitDeprecation === "number" && version > _emitDeprecation) return;
@@ -6390,29 +5769,63 @@ async function createShikiInternal(options) {
6390
5769
  async function createHighlighterCore(options) {
6391
5770
  const internal = await createShikiInternal(options);
6392
5771
  return {
6393
- getLastGrammarState: (...args) => getLastGrammarState$1(internal, ...args),
6394
- codeToTokensBase: (code, options2) => codeToTokensBase$1(internal, code, options2),
6395
- codeToTokensWithThemes: (code, options2) => codeToTokensWithThemes$1(internal, code, options2),
6396
- codeToTokens: (code, options2) => codeToTokens$1(internal, code, options2),
6397
- codeToHast: (code, options2) => codeToHast$1(internal, code, options2),
6398
- codeToHtml: (code, options2) => codeToHtml$1(internal, code, options2),
5772
+ getLastGrammarState: (...args) => getLastGrammarState(internal, ...args),
5773
+ codeToTokensBase: (code, options2) => codeToTokensBase(internal, code, options2),
5774
+ codeToTokensWithThemes: (code, options2) => codeToTokensWithThemes(internal, code, options2),
5775
+ codeToTokens: (code, options2) => codeToTokens(internal, code, options2),
5776
+ codeToHast: (code, options2) => codeToHast(internal, code, options2),
5777
+ codeToHtml: (code, options2) => codeToHtml(internal, code, options2),
5778
+ getBundledLanguages: () => ({}),
5779
+ getBundledThemes: () => ({}),
5780
+ ...internal,
5781
+ getInternalContext: () => internal
5782
+ };
5783
+ }
5784
+ function createHighlighterCoreSync(options) {
5785
+ const internal = createShikiInternalSync(options);
5786
+ return {
5787
+ getLastGrammarState: (...args) => getLastGrammarState(internal, ...args),
5788
+ codeToTokensBase: (code, options2) => codeToTokensBase(internal, code, options2),
5789
+ codeToTokensWithThemes: (code, options2) => codeToTokensWithThemes(internal, code, options2),
5790
+ codeToTokens: (code, options2) => codeToTokens(internal, code, options2),
5791
+ codeToHast: (code, options2) => codeToHast(internal, code, options2),
5792
+ codeToHtml: (code, options2) => codeToHtml(internal, code, options2),
6399
5793
  getBundledLanguages: () => ({}),
6400
5794
  getBundledThemes: () => ({}),
6401
5795
  ...internal,
6402
5796
  getInternalContext: () => internal
6403
5797
  };
6404
5798
  }
5799
+ function makeSingletonHighlighterCore(createHighlighter) {
5800
+ let _shiki;
5801
+ async function getSingletonHighlighterCore2(options) {
5802
+ if (!_shiki) {
5803
+ _shiki = createHighlighter({
5804
+ ...options,
5805
+ themes: options.themes || [],
5806
+ langs: options.langs || []
5807
+ });
5808
+ return _shiki;
5809
+ } else {
5810
+ const s = await _shiki;
5811
+ await Promise.all([s.loadTheme(...options.themes || []), s.loadLanguage(...options.langs || [])]);
5812
+ return s;
5813
+ }
5814
+ }
5815
+ return getSingletonHighlighterCore2;
5816
+ }
5817
+ var getSingletonHighlighterCore = /* @__PURE__ */ makeSingletonHighlighterCore(createHighlighterCore);
6405
5818
  function createBundledHighlighter(options) {
6406
- const bundledLanguages$1 = options.langs;
6407
- const bundledThemes$1 = options.themes;
5819
+ const bundledLanguages = options.langs;
5820
+ const bundledThemes = options.themes;
6408
5821
  const engine = options.engine;
6409
- async function createHighlighter$1(options2) {
5822
+ async function createHighlighter(options2) {
6410
5823
  function resolveLang(lang) {
6411
5824
  if (typeof lang === "string") {
6412
5825
  lang = options2.langAlias?.[lang] || lang;
6413
5826
  if (isSpecialLang(lang)) return [];
6414
- const bundle = bundledLanguages$1[lang];
6415
- if (!bundle) throw new ShikiError$2(`Language \`${lang}\` is not included in this bundle. You may want to load it from external source.`);
5827
+ const bundle = bundledLanguages[lang];
5828
+ if (!bundle) throw new ShikiError(`Language \`${lang}\` is not included in this bundle. You may want to load it from external source.`);
6416
5829
  return bundle;
6417
5830
  }
6418
5831
  return lang;
@@ -6420,8 +5833,8 @@ function createBundledHighlighter(options) {
6420
5833
  function resolveTheme(theme) {
6421
5834
  if (isSpecialTheme(theme)) return "none";
6422
5835
  if (typeof theme === "string") {
6423
- const bundle = bundledThemes$1[theme];
6424
- if (!bundle) throw new ShikiError$2(`Theme \`${theme}\` is not included in this bundle. You may want to load it from external source.`);
5836
+ const bundle = bundledThemes[theme];
5837
+ if (!bundle) throw new ShikiError(`Theme \`${theme}\` is not included in this bundle. You may want to load it from external source.`);
6425
5838
  return bundle;
6426
5839
  }
6427
5840
  return theme;
@@ -6443,20 +5856,20 @@ function createBundledHighlighter(options) {
6443
5856
  return core$1.loadTheme(...themes.map(resolveTheme));
6444
5857
  },
6445
5858
  getBundledLanguages() {
6446
- return bundledLanguages$1;
5859
+ return bundledLanguages;
6447
5860
  },
6448
5861
  getBundledThemes() {
6449
- return bundledThemes$1;
5862
+ return bundledThemes;
6450
5863
  }
6451
5864
  };
6452
5865
  }
6453
- return createHighlighter$1;
5866
+ return createHighlighter;
6454
5867
  }
6455
- function makeSingletonHighlighter(createHighlighter$1) {
5868
+ function makeSingletonHighlighter(createHighlighter) {
6456
5869
  let _shiki;
6457
- async function getSingletonHighlighter$1(options = {}) {
5870
+ async function getSingletonHighlighter(options = {}) {
6458
5871
  if (!_shiki) {
6459
- _shiki = createHighlighter$1({
5872
+ _shiki = createHighlighter({
6460
5873
  ...options,
6461
5874
  themes: [],
6462
5875
  langs: []
@@ -6470,12 +5883,12 @@ function makeSingletonHighlighter(createHighlighter$1) {
6470
5883
  return s;
6471
5884
  }
6472
5885
  }
6473
- return getSingletonHighlighter$1;
5886
+ return getSingletonHighlighter;
6474
5887
  }
6475
- function createSingletonShorthands(createHighlighter$1, config) {
6476
- const getSingletonHighlighter$1 = makeSingletonHighlighter(createHighlighter$1);
5888
+ function createSingletonShorthands(createHighlighter, config) {
5889
+ const getSingletonHighlighter = makeSingletonHighlighter(createHighlighter);
6477
5890
  async function get(code, options) {
6478
- const shiki = await getSingletonHighlighter$1({
5891
+ const shiki = await getSingletonHighlighter({
6479
5892
  langs: [options.lang],
6480
5893
  themes: "theme" in options ? [options.theme] : Object.values(options.themes)
6481
5894
  });
@@ -6485,7 +5898,7 @@ function createSingletonShorthands(createHighlighter$1, config) {
6485
5898
  }
6486
5899
  return {
6487
5900
  getSingletonHighlighter(options) {
6488
- return getSingletonHighlighter$1(options);
5901
+ return getSingletonHighlighter(options);
6489
5902
  },
6490
5903
  async codeToHtml(code, options) {
6491
5904
  return (await get(code, options)).codeToHtml(code, options);
@@ -6503,3588 +5916,200 @@ function createSingletonShorthands(createHighlighter$1, config) {
6503
5916
  return (await get(code, options)).codeToTokensWithThemes(code, options);
6504
5917
  },
6505
5918
  async getLastGrammarState(code, options) {
6506
- return (await getSingletonHighlighter$1({
5919
+ return (await getSingletonHighlighter({
6507
5920
  langs: [options.lang],
6508
5921
  themes: [options.theme]
6509
5922
  })).getLastGrammarState(code, options);
6510
5923
  }
6511
5924
  };
6512
5925
  }
6513
- var bundledLanguagesInfo = [
6514
- {
6515
- "id": "abap",
6516
- "name": "ABAP",
6517
- "import": (() => __vitePreload(() => import("./abap-C4yRz_Vm.js"), [], import.meta.url))
6518
- },
6519
- {
6520
- "id": "actionscript-3",
6521
- "name": "ActionScript",
6522
- "import": (() => __vitePreload(() => import("./actionscript-3-CKZBsEJ7.js"), [], import.meta.url))
6523
- },
6524
- {
6525
- "id": "ada",
6526
- "name": "Ada",
6527
- "import": (() => __vitePreload(() => import("./ada-C3S8BVqd.js"), [], import.meta.url))
6528
- },
6529
- {
6530
- "id": "angular-html",
6531
- "name": "Angular HTML",
6532
- "import": (() => __vitePreload(() => import("./angular-html-Cn84m4r6.js"), __vite__mapDeps([0,1,2,3,4]), import.meta.url))
6533
- },
6534
- {
6535
- "id": "angular-ts",
6536
- "name": "Angular TypeScript",
6537
- "import": (() => __vitePreload(() => import("./angular-ts-Bmg_Yndu.js"), __vite__mapDeps([5,1,2,3,4,6]), import.meta.url))
6538
- },
6539
- {
6540
- "id": "apache",
6541
- "name": "Apache Conf",
6542
- "import": (() => __vitePreload(() => import("./apache-CcuXWvTQ.js"), [], import.meta.url))
6543
- },
6544
- {
6545
- "id": "apex",
6546
- "name": "Apex",
6547
- "import": (() => __vitePreload(() => import("./apex-DkoRAop2.js"), [], import.meta.url))
6548
- },
6549
- {
6550
- "id": "apl",
6551
- "name": "APL",
6552
- "import": (() => __vitePreload(() => import("./apl-BV2Pqeyz.js"), __vite__mapDeps([7,3,2,4,8,9,10]), import.meta.url))
6553
- },
6554
- {
6555
- "id": "applescript",
6556
- "name": "AppleScript",
6557
- "import": (() => __vitePreload(() => import("./applescript-LAEuNJUm.js"), [], import.meta.url))
6558
- },
6559
- {
6560
- "id": "ara",
6561
- "name": "Ara",
6562
- "import": (() => __vitePreload(() => import("./ara-DarDo4Rh.js"), [], import.meta.url))
6563
- },
6564
- {
6565
- "id": "asciidoc",
6566
- "name": "AsciiDoc",
6567
- "aliases": ["adoc"],
6568
- "import": (() => __vitePreload(() => import("./asciidoc-B6fvDPBR.js"), [], import.meta.url))
6569
- },
6570
- {
6571
- "id": "asm",
6572
- "name": "Assembly",
6573
- "import": (() => __vitePreload(() => import("./asm-BhHPpHEe.js"), [], import.meta.url))
6574
- },
6575
- {
6576
- "id": "astro",
6577
- "name": "Astro",
6578
- "import": (() => __vitePreload(() => import("./astro-Bv3Ci3Ef.js"), __vite__mapDeps([11,3,4,8,12,13,14]), import.meta.url))
6579
- },
6580
- {
6581
- "id": "awk",
6582
- "name": "AWK",
6583
- "import": (() => __vitePreload(() => import("./awk-brgpYH3W.js"), [], import.meta.url))
6584
- },
6585
- {
6586
- "id": "ballerina",
6587
- "name": "Ballerina",
6588
- "import": (() => __vitePreload(() => import("./ballerina-Dgbivx-S.js"), [], import.meta.url))
6589
- },
6590
- {
6591
- "id": "bat",
6592
- "name": "Batch File",
6593
- "aliases": ["batch"],
6594
- "import": (() => __vitePreload(() => import("./bat-tWFkNZJc.js"), [], import.meta.url))
6595
- },
6596
- {
6597
- "id": "beancount",
6598
- "name": "Beancount",
6599
- "import": (() => __vitePreload(() => import("./beancount-Tyb60Wcr.js"), [], import.meta.url))
6600
- },
6601
- {
6602
- "id": "berry",
6603
- "name": "Berry",
6604
- "aliases": ["be"],
6605
- "import": (() => __vitePreload(() => import("./berry-CS17F3w8.js"), [], import.meta.url))
6606
- },
6607
- {
6608
- "id": "bibtex",
6609
- "name": "BibTeX",
6610
- "import": (() => __vitePreload(() => import("./bibtex-BPtnjAmG.js"), [], import.meta.url))
6611
- },
6612
- {
6613
- "id": "bicep",
6614
- "name": "Bicep",
6615
- "import": (() => __vitePreload(() => import("./bicep-NvgerRRy.js"), [], import.meta.url))
6616
- },
6617
- {
6618
- "id": "blade",
6619
- "name": "Blade",
6620
- "import": (() => __vitePreload(() => import("./blade-CLAuu2bN.js"), __vite__mapDeps([15,3,16,2,4,8,17,9,10]), import.meta.url))
6621
- },
6622
- {
6623
- "id": "bsl",
6624
- "name": "1C (Enterprise)",
6625
- "aliases": ["1c"],
6626
- "import": (() => __vitePreload(() => import("./bsl-VyzHF-R4.js"), __vite__mapDeps([18,19]), import.meta.url))
6627
- },
6628
- {
6629
- "id": "c",
6630
- "name": "C",
6631
- "import": (() => __vitePreload(() => import("./c-DXXaAAzT.js"), __vite__mapDeps([20,21]), import.meta.url))
6632
- },
6633
- {
6634
- "id": "cadence",
6635
- "name": "Cadence",
6636
- "aliases": ["cdc"],
6637
- "import": (() => __vitePreload(() => import("./cadence-CUT5CLY6.js"), [], import.meta.url))
6638
- },
6639
- {
6640
- "id": "cairo",
6641
- "name": "Cairo",
6642
- "import": (() => __vitePreload(() => import("./cairo-DuZF6whY.js"), __vite__mapDeps([22,23]), import.meta.url))
6643
- },
6644
- {
6645
- "id": "clarity",
6646
- "name": "Clarity",
6647
- "import": (() => __vitePreload(() => import("./clarity-DqSC35SX.js"), [], import.meta.url))
6648
- },
6649
- {
6650
- "id": "clojure",
6651
- "name": "Clojure",
6652
- "aliases": ["clj"],
6653
- "import": (() => __vitePreload(() => import("./clojure-BZtS8UQS.js"), [], import.meta.url))
6654
- },
6655
- {
6656
- "id": "cmake",
6657
- "name": "CMake",
6658
- "import": (() => __vitePreload(() => import("./cmake-o2KFVZsk.js"), [], import.meta.url))
6659
- },
6660
- {
6661
- "id": "cobol",
6662
- "name": "COBOL",
6663
- "import": (() => __vitePreload(() => import("./cobol-BHLrWv6w.js"), __vite__mapDeps([24,2,3,4,10]), import.meta.url))
6664
- },
6665
- {
6666
- "id": "codeowners",
6667
- "name": "CODEOWNERS",
6668
- "import": (() => __vitePreload(() => import("./codeowners-tdICZVC5.js"), [], import.meta.url))
6669
- },
6670
- {
6671
- "id": "codeql",
6672
- "name": "CodeQL",
6673
- "aliases": ["ql"],
6674
- "import": (() => __vitePreload(() => import("./codeql-BZid4SQS.js"), [], import.meta.url))
6675
- },
6676
- {
6677
- "id": "coffee",
6678
- "name": "CoffeeScript",
6679
- "aliases": ["coffeescript"],
6680
- "import": (() => __vitePreload(() => import("./coffee-C5___ngf.js"), __vite__mapDeps([25,4]), import.meta.url))
6681
- },
6682
- {
6683
- "id": "common-lisp",
6684
- "name": "Common Lisp",
6685
- "aliases": ["lisp"],
6686
- "import": (() => __vitePreload(() => import("./common-lisp-DIm6wDvc.js"), [], import.meta.url))
6687
- },
6688
- {
6689
- "id": "coq",
6690
- "name": "Coq",
6691
- "import": (() => __vitePreload(() => import("./coq-CwPY4Eyo.js"), [], import.meta.url))
6692
- },
6693
- {
6694
- "id": "cpp",
6695
- "name": "C++",
6696
- "aliases": ["c++"],
6697
- "import": (() => __vitePreload(() => import("./cpp-BM5VrcWq.js"), __vite__mapDeps([26,27,28,21,29,17]), import.meta.url))
6698
- },
6699
- {
6700
- "id": "crystal",
6701
- "name": "Crystal",
6702
- "import": (() => __vitePreload(() => import("./crystal-C8Dwwy6W.js"), __vite__mapDeps([30,21,3,2,4,31,17]), import.meta.url))
6703
- },
6704
- {
6705
- "id": "csharp",
6706
- "name": "C#",
6707
- "aliases": ["c#", "cs"],
6708
- "import": (() => __vitePreload(() => import("./csharp-CJ360fCq.js"), [], import.meta.url))
6709
- },
6710
- {
6711
- "id": "css",
6712
- "name": "CSS",
6713
- "import": (() => __vitePreload(() => import("./css-FkBLLRUu.js"), __vite__mapDeps([32,3]), import.meta.url))
6714
- },
6715
- {
6716
- "id": "csv",
6717
- "name": "CSV",
6718
- "import": (() => __vitePreload(() => import("./csv-DXn8kTD7.js"), [], import.meta.url))
6719
- },
6720
- {
6721
- "id": "cue",
6722
- "name": "CUE",
6723
- "import": (() => __vitePreload(() => import("./cue-3XLcXtdk.js"), [], import.meta.url))
6724
- },
6725
- {
6726
- "id": "cypher",
6727
- "name": "Cypher",
6728
- "aliases": ["cql"],
6729
- "import": (() => __vitePreload(() => import("./cypher-BC872mTV.js"), [], import.meta.url))
6730
- },
6731
- {
6732
- "id": "d",
6733
- "name": "D",
6734
- "import": (() => __vitePreload(() => import("./d-DGFFiwLE.js"), [], import.meta.url))
6735
- },
6736
- {
6737
- "id": "dart",
6738
- "name": "Dart",
6739
- "import": (() => __vitePreload(() => import("./dart-CWKC80aE.js"), [], import.meta.url))
6740
- },
6741
- {
6742
- "id": "dax",
6743
- "name": "DAX",
6744
- "import": (() => __vitePreload(() => import("./dax-bvEEbNAK.js"), [], import.meta.url))
6745
- },
6746
- {
6747
- "id": "desktop",
6748
- "name": "Desktop",
6749
- "import": (() => __vitePreload(() => import("./desktop-XhOYrgrI.js"), [], import.meta.url))
6750
- },
6751
- {
6752
- "id": "diff",
6753
- "name": "Diff",
6754
- "import": (() => __vitePreload(() => import("./diff-U-x6iVIx.js"), [], import.meta.url))
6755
- },
6756
- {
6757
- "id": "docker",
6758
- "name": "Dockerfile",
6759
- "aliases": ["dockerfile"],
6760
- "import": (() => __vitePreload(() => import("./docker-B7cyRvbG.js"), [], import.meta.url))
6761
- },
6762
- {
6763
- "id": "dotenv",
6764
- "name": "dotEnv",
6765
- "import": (() => __vitePreload(() => import("./dotenv-D_9fGa07.js"), [], import.meta.url))
6766
- },
6767
- {
6768
- "id": "dream-maker",
6769
- "name": "Dream Maker",
6770
- "import": (() => __vitePreload(() => import("./dream-maker-Bdm7BhsZ.js"), [], import.meta.url))
6771
- },
6772
- {
6773
- "id": "edge",
6774
- "name": "Edge",
6775
- "import": (() => __vitePreload(() => import("./edge-BL7B074g.js"), __vite__mapDeps([33,16,2,3,4,14]), import.meta.url))
6776
- },
6777
- {
6778
- "id": "elixir",
6779
- "name": "Elixir",
6780
- "import": (() => __vitePreload(() => import("./elixir-BeYNyax5.js"), __vite__mapDeps([34,2,3,4]), import.meta.url))
6781
- },
6782
- {
6783
- "id": "elm",
6784
- "name": "Elm",
6785
- "import": (() => __vitePreload(() => import("./elm-rybyhq4V.js"), __vite__mapDeps([35,28,21]), import.meta.url))
6786
- },
6787
- {
6788
- "id": "emacs-lisp",
6789
- "name": "Emacs Lisp",
6790
- "aliases": ["elisp"],
6791
- "import": (() => __vitePreload(() => import("./emacs-lisp-Cy-_xiO2.js"), [], import.meta.url))
6792
- },
6793
- {
6794
- "id": "erb",
6795
- "name": "ERB",
6796
- "import": (() => __vitePreload(() => import("./erb-Dvs8j3zz.js"), __vite__mapDeps([36,2,3,4,37,21,27,28,29,17,38,39,13,14,40,41,31,9,10,42]), import.meta.url))
6797
- },
6798
- {
6799
- "id": "erlang",
6800
- "name": "Erlang",
6801
- "aliases": ["erl"],
6802
- "import": (() => __vitePreload(() => import("./erlang-CWJ5EBhz.js"), __vite__mapDeps([43,44]), import.meta.url))
6803
- },
6804
- {
6805
- "id": "fennel",
6806
- "name": "Fennel",
6807
- "import": (() => __vitePreload(() => import("./fennel-BNqS--y3.js"), [], import.meta.url))
6808
- },
6809
- {
6810
- "id": "fish",
6811
- "name": "Fish",
6812
- "import": (() => __vitePreload(() => import("./fish-BBnq9bEt.js"), [], import.meta.url))
6813
- },
6814
- {
6815
- "id": "fluent",
6816
- "name": "Fluent",
6817
- "aliases": ["ftl"],
6818
- "import": (() => __vitePreload(() => import("./fluent-oY7_tZF8.js"), [], import.meta.url))
6819
- },
6820
- {
6821
- "id": "fortran-fixed-form",
6822
- "name": "Fortran (Fixed Form)",
6823
- "aliases": [
6824
- "f",
6825
- "for",
6826
- "f77"
6827
- ],
6828
- "import": (() => __vitePreload(() => import("./fortran-fixed-form-0peVr9Yb.js"), __vite__mapDeps([45,46]), import.meta.url))
6829
- },
6830
- {
6831
- "id": "fortran-free-form",
6832
- "name": "Fortran (Free Form)",
6833
- "aliases": [
6834
- "f90",
6835
- "f95",
6836
- "f03",
6837
- "f08",
6838
- "f18"
6839
- ],
6840
- "import": (() => __vitePreload(() => import("./fortran-free-form-BEQ27g3E.js"), [], import.meta.url))
6841
- },
6842
- {
6843
- "id": "fsharp",
6844
- "name": "F#",
6845
- "aliases": ["f#", "fs"],
6846
- "import": (() => __vitePreload(() => import("./fsharp-BOj5a2vM.js"), __vite__mapDeps([47,44]), import.meta.url))
6847
- },
6848
- {
6849
- "id": "gdresource",
6850
- "name": "GDResource",
6851
- "import": (() => __vitePreload(() => import("./gdresource-Ch1u7SF7.js"), __vite__mapDeps([48,49,50]), import.meta.url))
6852
- },
6853
- {
6854
- "id": "gdscript",
6855
- "name": "GDScript",
6856
- "import": (() => __vitePreload(() => import("./gdscript-BhhtywAa.js"), [], import.meta.url))
6857
- },
6858
- {
6859
- "id": "gdshader",
6860
- "name": "GDShader",
6861
- "import": (() => __vitePreload(() => import("./gdshader-BDnAJwOj.js"), [], import.meta.url))
6862
- },
6863
- {
6864
- "id": "genie",
6865
- "name": "Genie",
6866
- "import": (() => __vitePreload(() => import("./genie-Cd2lLzpm.js"), [], import.meta.url))
6867
- },
6868
- {
6869
- "id": "gherkin",
6870
- "name": "Gherkin",
6871
- "import": (() => __vitePreload(() => import("./gherkin-CwXypCQe.js"), [], import.meta.url))
6872
- },
6873
- {
6874
- "id": "git-commit",
6875
- "name": "Git Commit Message",
6876
- "import": (() => __vitePreload(() => import("./git-commit-CFfXzer2.js"), __vite__mapDeps([51,52]), import.meta.url))
6877
- },
6878
- {
6879
- "id": "git-rebase",
6880
- "name": "Git Rebase Message",
6881
- "import": (() => __vitePreload(() => import("./git-rebase-DG0qmgCf.js"), __vite__mapDeps([53,31]), import.meta.url))
6882
- },
6883
- {
6884
- "id": "gleam",
6885
- "name": "Gleam",
6886
- "import": (() => __vitePreload(() => import("./gleam-Dfph-OFw.js"), [], import.meta.url))
6887
- },
6888
- {
6889
- "id": "glimmer-js",
6890
- "name": "Glimmer JS",
6891
- "aliases": ["gjs"],
6892
- "import": (() => __vitePreload(() => import("./glimmer-js-DxVMOGMY.js"), __vite__mapDeps([54,3,2,4,14]), import.meta.url))
6893
- },
6894
- {
6895
- "id": "glimmer-ts",
6896
- "name": "Glimmer TS",
6897
- "aliases": ["gts"],
6898
- "import": (() => __vitePreload(() => import("./glimmer-ts-CPM08s8U.js"), __vite__mapDeps([55,3,2,4,14]), import.meta.url))
6899
- },
6900
- {
6901
- "id": "glsl",
6902
- "name": "GLSL",
6903
- "import": (() => __vitePreload(() => import("./glsl-Dt1TVrzb.js"), __vite__mapDeps([56,28,21]), import.meta.url))
6904
- },
6905
- {
6906
- "id": "gnuplot",
6907
- "name": "Gnuplot",
6908
- "import": (() => __vitePreload(() => import("./gnuplot-BdTyKzf-.js"), [], import.meta.url))
6909
- },
6910
- {
6911
- "id": "go",
6912
- "name": "Go",
6913
- "import": (() => __vitePreload(() => import("./go-BCxV4YsM.js"), [], import.meta.url))
6914
- },
6915
- {
6916
- "id": "graphql",
6917
- "name": "GraphQL",
6918
- "aliases": ["gql"],
6919
- "import": (() => __vitePreload(() => import("./graphql-CcseMMny.js"), __vite__mapDeps([57,38,4,39,13,14]), import.meta.url))
6920
- },
6921
- {
6922
- "id": "groovy",
6923
- "name": "Groovy",
6924
- "import": (() => __vitePreload(() => import("./groovy-Cy7l6UGB.js"), [], import.meta.url))
6925
- },
6926
- {
6927
- "id": "hack",
6928
- "name": "Hack",
6929
- "import": (() => __vitePreload(() => import("./hack-Dne48p1m.js"), __vite__mapDeps([58,2,3,4,17]), import.meta.url))
6930
- },
6931
- {
6932
- "id": "haml",
6933
- "name": "Ruby Haml",
6934
- "import": (() => __vitePreload(() => import("./haml-DoXvVBFP.js"), __vite__mapDeps([59,40,3,4]), import.meta.url))
6935
- },
6936
- {
6937
- "id": "handlebars",
6938
- "name": "Handlebars",
6939
- "aliases": ["hbs"],
6940
- "import": (() => __vitePreload(() => import("./handlebars-Jfc88P1Q.js"), __vite__mapDeps([60,3,2,4,42]), import.meta.url))
6941
- },
6942
- {
6943
- "id": "haskell",
6944
- "name": "Haskell",
6945
- "aliases": ["hs"],
6946
- "import": (() => __vitePreload(() => import("./haskell-CB6gNPpR.js"), [], import.meta.url))
6947
- },
6948
- {
6949
- "id": "haxe",
6950
- "name": "Haxe",
6951
- "import": (() => __vitePreload(() => import("./haxe-Cbrtif6E.js"), [], import.meta.url))
6952
- },
6953
- {
6954
- "id": "hcl",
6955
- "name": "HashiCorp HCL",
6956
- "import": (() => __vitePreload(() => import("./hcl-gkV_38jF.js"), [], import.meta.url))
6957
- },
6958
- {
6959
- "id": "hjson",
6960
- "name": "Hjson",
6961
- "import": (() => __vitePreload(() => import("./hjson-Bt79zj56.js"), [], import.meta.url))
6962
- },
6963
- {
6964
- "id": "hlsl",
6965
- "name": "HLSL",
6966
- "import": (() => __vitePreload(() => import("./hlsl-Cq-bbtEM.js"), [], import.meta.url))
6967
- },
6968
- {
6969
- "id": "html",
6970
- "name": "HTML",
6971
- "import": (() => __vitePreload(() => import("./html-Crtt6vRf.js"), __vite__mapDeps([61,2,3,4]), import.meta.url))
6972
- },
6973
- {
6974
- "id": "html-derivative",
6975
- "name": "HTML (Derivative)",
6976
- "import": (() => __vitePreload(() => import("./html-derivative-KSsgXIhX.js"), __vite__mapDeps([62,16,2,3,4]), import.meta.url))
6977
- },
6978
- {
6979
- "id": "http",
6980
- "name": "HTTP",
6981
- "import": (() => __vitePreload(() => import("./http-ChH5xHQK.js"), __vite__mapDeps([63,38,4,39,13,14,8,31,9,10]), import.meta.url))
6982
- },
6983
- {
6984
- "id": "hurl",
6985
- "name": "Hurl",
6986
- "import": (() => __vitePreload(() => import("./hurl-10MML7cL.js"), __vite__mapDeps([64,65,38,4,39,13,14,9,10]), import.meta.url))
6987
- },
6988
- {
6989
- "id": "hxml",
6990
- "name": "HXML",
6991
- "import": (() => __vitePreload(() => import("./hxml-tJu5NW0B.js"), __vite__mapDeps([66,67]), import.meta.url))
6992
- },
6993
- {
6994
- "id": "hy",
6995
- "name": "Hy",
6996
- "import": (() => __vitePreload(() => import("./hy-Be9tp-ZM.js"), [], import.meta.url))
6997
- },
6998
- {
6999
- "id": "imba",
7000
- "name": "Imba",
7001
- "import": (() => __vitePreload(() => import("./imba-B-QVb_a4.js"), [], import.meta.url))
7002
- },
7003
- {
7004
- "id": "ini",
7005
- "name": "INI",
7006
- "aliases": ["properties"],
7007
- "import": (() => __vitePreload(() => import("./ini-CQJRLei8.js"), [], import.meta.url))
7008
- },
7009
- {
7010
- "id": "java",
7011
- "name": "Java",
7012
- "import": (() => __vitePreload(() => import("./java-C-daPB_o.js"), __vite__mapDeps([68,10]), import.meta.url))
7013
- },
7014
- {
7015
- "id": "javascript",
7016
- "name": "JavaScript",
7017
- "aliases": [
7018
- "js",
7019
- "cjs",
7020
- "mjs"
7021
- ],
7022
- "import": (() => __vitePreload(() => import("./javascript-0fjGG2XX.js"), __vite__mapDeps([69,4]), import.meta.url))
7023
- },
7024
- {
7025
- "id": "jinja",
7026
- "name": "Jinja",
7027
- "import": (() => __vitePreload(() => import("./jinja-B6ZjKqt-.js"), __vite__mapDeps([70,2,3,4]), import.meta.url))
7028
- },
7029
- {
7030
- "id": "jison",
7031
- "name": "Jison",
7032
- "import": (() => __vitePreload(() => import("./jison-hgxzSL4P.js"), __vite__mapDeps([71,4]), import.meta.url))
7033
- },
7034
- {
7035
- "id": "json",
7036
- "name": "JSON",
7037
- "import": (() => __vitePreload(() => import("./json-CZvQXtwG.js"), __vite__mapDeps([72,8]), import.meta.url))
7038
- },
7039
- {
7040
- "id": "json5",
7041
- "name": "JSON5",
7042
- "import": (() => __vitePreload(() => import("./json5-D0C1B7l9.js"), [], import.meta.url))
7043
- },
7044
- {
7045
- "id": "jsonc",
7046
- "name": "JSON with Comments",
7047
- "import": (() => __vitePreload(() => import("./jsonc-B0f0uTR-.js"), [], import.meta.url))
7048
- },
7049
- {
7050
- "id": "jsonl",
7051
- "name": "JSON Lines",
7052
- "import": (() => __vitePreload(() => import("./jsonl-rrn3pXpA.js"), [], import.meta.url))
7053
- },
7054
- {
7055
- "id": "jsonnet",
7056
- "name": "Jsonnet",
7057
- "import": (() => __vitePreload(() => import("./jsonnet-DWKQ3es7.js"), [], import.meta.url))
7058
- },
7059
- {
7060
- "id": "jssm",
7061
- "name": "JSSM",
7062
- "aliases": ["fsl"],
7063
- "import": (() => __vitePreload(() => import("./jssm-BPKNebRE.js"), [], import.meta.url))
7064
- },
7065
- {
7066
- "id": "jsx",
7067
- "name": "JSX",
7068
- "import": (() => __vitePreload(() => import("./jsx-BPBfDC8G.js"), __vite__mapDeps([73,39]), import.meta.url))
7069
- },
7070
- {
7071
- "id": "julia",
7072
- "name": "Julia",
7073
- "aliases": ["jl"],
7074
- "import": (() => __vitePreload(() => import("./julia-Bl_xQs5i.js"), __vite__mapDeps([74,27,28,21,29,17,4,23,75]), import.meta.url))
7075
- },
7076
- {
7077
- "id": "kdl",
7078
- "name": "KDL",
7079
- "import": (() => __vitePreload(() => import("./kdl-F0m2ZhAD.js"), [], import.meta.url))
7080
- },
7081
- {
7082
- "id": "kotlin",
7083
- "name": "Kotlin",
7084
- "aliases": ["kt", "kts"],
7085
- "import": (() => __vitePreload(() => import("./kotlin-La5Qv-cP.js"), [], import.meta.url))
7086
- },
7087
- {
7088
- "id": "kusto",
7089
- "name": "Kusto",
7090
- "aliases": ["kql"],
7091
- "import": (() => __vitePreload(() => import("./kusto-t2Fo0FVP.js"), [], import.meta.url))
7092
- },
7093
- {
7094
- "id": "latex",
7095
- "name": "LaTeX",
7096
- "import": (() => __vitePreload(() => import("./latex-D-k1qz9e.js"), __vite__mapDeps([76,77,75]), import.meta.url))
7097
- },
7098
- {
7099
- "id": "lean",
7100
- "name": "Lean 4",
7101
- "aliases": ["lean4"],
7102
- "import": (() => __vitePreload(() => import("./lean-XhKJM9s7.js"), [], import.meta.url))
7103
- },
7104
- {
7105
- "id": "less",
7106
- "name": "Less",
7107
- "import": (() => __vitePreload(() => import("./less-C9jqjrjf.js"), [], import.meta.url))
7108
- },
7109
- {
7110
- "id": "liquid",
7111
- "name": "Liquid",
7112
- "import": (() => __vitePreload(() => import("./liquid-CWSQtxRO.js"), __vite__mapDeps([78,3,2,4,8]), import.meta.url))
7113
- },
7114
- {
7115
- "id": "llvm",
7116
- "name": "LLVM IR",
7117
- "import": (() => __vitePreload(() => import("./llvm-Do8PimHF.js"), [], import.meta.url))
7118
- },
7119
- {
7120
- "id": "log",
7121
- "name": "Log file",
7122
- "import": (() => __vitePreload(() => import("./log-DcUikSJo.js"), [], import.meta.url))
7123
- },
7124
- {
7125
- "id": "logo",
7126
- "name": "Logo",
7127
- "import": (() => __vitePreload(() => import("./logo-BbssGAy6.js"), [], import.meta.url))
7128
- },
7129
- {
7130
- "id": "lua",
7131
- "name": "Lua",
7132
- "import": (() => __vitePreload(() => import("./lua-DmBLQvwZ.js"), __vite__mapDeps([79,41,21]), import.meta.url))
7133
- },
7134
- {
7135
- "id": "luau",
7136
- "name": "Luau",
7137
- "import": (() => __vitePreload(() => import("./luau-CLP6V1lC.js"), [], import.meta.url))
7138
- },
7139
- {
7140
- "id": "make",
7141
- "name": "Makefile",
7142
- "aliases": ["makefile"],
7143
- "import": (() => __vitePreload(() => import("./make-CH096rgi.js"), [], import.meta.url))
7144
- },
7145
- {
7146
- "id": "markdown",
7147
- "name": "Markdown",
7148
- "aliases": ["md"],
7149
- "import": (() => __vitePreload(() => import("./markdown-CEnXrHFM.js"), [], import.meta.url))
7150
- },
7151
- {
7152
- "id": "marko",
7153
- "name": "Marko",
7154
- "import": (() => __vitePreload(() => import("./marko-g1H15jhu.js"), __vite__mapDeps([80,3,81,6,14]), import.meta.url))
7155
- },
7156
- {
7157
- "id": "matlab",
7158
- "name": "MATLAB",
7159
- "import": (() => __vitePreload(() => import("./matlab-C8-OBOXt.js"), [], import.meta.url))
7160
- },
7161
- {
7162
- "id": "mdc",
7163
- "name": "MDC",
7164
- "import": (() => __vitePreload(() => import("./mdc-X-Q62jZE.js"), __vite__mapDeps([82,16,2,3,4,44,42]), import.meta.url))
7165
- },
7166
- {
7167
- "id": "mdx",
7168
- "name": "MDX",
7169
- "import": (() => __vitePreload(() => import("./mdx-9O-a3QeT.js"), [], import.meta.url))
7170
- },
7171
- {
7172
- "id": "mermaid",
7173
- "name": "Mermaid",
7174
- "aliases": ["mmd"],
7175
- "import": (() => __vitePreload(() => import("./mermaid-BbwNpgQZ.js"), [], import.meta.url))
7176
- },
7177
- {
7178
- "id": "mipsasm",
7179
- "name": "MIPS Assembly",
7180
- "aliases": ["mips"],
7181
- "import": (() => __vitePreload(() => import("./mipsasm-Cw0tctoa.js"), [], import.meta.url))
7182
- },
7183
- {
7184
- "id": "mojo",
7185
- "name": "Mojo",
7186
- "import": (() => __vitePreload(() => import("./mojo-B1_s-UsE.js"), [], import.meta.url))
7187
- },
7188
- {
7189
- "id": "move",
7190
- "name": "Move",
7191
- "import": (() => __vitePreload(() => import("./move-Bj6Zb8y4.js"), [], import.meta.url))
7192
- },
7193
- {
7194
- "id": "narrat",
7195
- "name": "Narrat Language",
7196
- "aliases": ["nar"],
7197
- "import": (() => __vitePreload(() => import("./narrat-CmcwvZwb.js"), [], import.meta.url))
7198
- },
7199
- {
7200
- "id": "nextflow",
7201
- "name": "Nextflow",
7202
- "aliases": ["nf"],
7203
- "import": (() => __vitePreload(() => import("./nextflow-ApC-zghd.js"), [], import.meta.url))
7204
- },
7205
- {
7206
- "id": "nginx",
7207
- "name": "Nginx",
7208
- "import": (() => __vitePreload(() => import("./nginx-DZc9-Tp6.js"), __vite__mapDeps([83,41,21]), import.meta.url))
7209
- },
7210
- {
7211
- "id": "nim",
7212
- "name": "Nim",
7213
- "import": (() => __vitePreload(() => import("./nim-7v2Y99DS.js"), __vite__mapDeps([84,21,3,28,2,4,44,9,10]), import.meta.url))
7214
- },
7215
- {
7216
- "id": "nix",
7217
- "name": "Nix",
7218
- "import": (() => __vitePreload(() => import("./nix-D6x94J3r.js"), [], import.meta.url))
7219
- },
7220
- {
7221
- "id": "nushell",
7222
- "name": "nushell",
7223
- "aliases": ["nu"],
7224
- "import": (() => __vitePreload(() => import("./nushell-BtZNOG2q.js"), [], import.meta.url))
7225
- },
7226
- {
7227
- "id": "objective-c",
7228
- "name": "Objective-C",
7229
- "aliases": ["objc"],
7230
- "import": (() => __vitePreload(() => import("./objective-c-BemUaH4e.js"), [], import.meta.url))
7231
- },
7232
- {
7233
- "id": "objective-cpp",
7234
- "name": "Objective-C++",
7235
- "import": (() => __vitePreload(() => import("./objective-cpp-DlBDqgG3.js"), [], import.meta.url))
7236
- },
7237
- {
7238
- "id": "ocaml",
7239
- "name": "OCaml",
7240
- "import": (() => __vitePreload(() => import("./ocaml-CJb6Uk1q.js"), [], import.meta.url))
7241
- },
7242
- {
7243
- "id": "openscad",
7244
- "name": "OpenSCAD",
7245
- "aliases": ["scad"],
7246
- "import": (() => __vitePreload(() => import("./openscad-tgxoXlc_.js"), [], import.meta.url))
7247
- },
7248
- {
7249
- "id": "pascal",
7250
- "name": "Pascal",
7251
- "import": (() => __vitePreload(() => import("./pascal-V33fh0R_.js"), [], import.meta.url))
7252
- },
7253
- {
7254
- "id": "perl",
7255
- "name": "Perl",
7256
- "import": (() => __vitePreload(() => import("./perl-BsrQ3i_Z.js"), __vite__mapDeps([85,3,2,4,17,9,10]), import.meta.url))
7257
- },
7258
- {
7259
- "id": "php",
7260
- "name": "PHP",
7261
- "import": (() => __vitePreload(() => import("./php-CVCqzNA3.js"), __vite__mapDeps([86,3,2,4,8,17,9,10]), import.meta.url))
7262
- },
7263
- {
7264
- "id": "pkl",
7265
- "name": "Pkl",
7266
- "import": (() => __vitePreload(() => import("./pkl-DMmw0KMz.js"), [], import.meta.url))
7267
- },
7268
- {
7269
- "id": "plsql",
7270
- "name": "PL/SQL",
7271
- "import": (() => __vitePreload(() => import("./plsql-w5f2Y4TB.js"), [], import.meta.url))
7272
- },
7273
- {
7274
- "id": "po",
7275
- "name": "Gettext PO",
7276
- "aliases": ["pot", "potx"],
7277
- "import": (() => __vitePreload(() => import("./po-B4lWW6Lt.js"), [], import.meta.url))
7278
- },
7279
- {
7280
- "id": "polar",
7281
- "name": "Polar",
7282
- "import": (() => __vitePreload(() => import("./polar-spfFdsq1.js"), [], import.meta.url))
7283
- },
7284
- {
7285
- "id": "postcss",
7286
- "name": "PostCSS",
7287
- "import": (() => __vitePreload(() => import("./postcss-CX2EaU1R.js"), [], import.meta.url))
7288
- },
7289
- {
7290
- "id": "powerquery",
7291
- "name": "PowerQuery",
7292
- "import": (() => __vitePreload(() => import("./powerquery-DxDeVIaT.js"), [], import.meta.url))
7293
- },
7294
- {
7295
- "id": "powershell",
7296
- "name": "PowerShell",
7297
- "aliases": ["ps", "ps1"],
7298
- "import": (() => __vitePreload(() => import("./powershell-DUaFgH4w.js"), [], import.meta.url))
7299
- },
7300
- {
7301
- "id": "prisma",
7302
- "name": "Prisma",
7303
- "import": (() => __vitePreload(() => import("./prisma-C_xxnuPJ.js"), [], import.meta.url))
7304
- },
7305
- {
7306
- "id": "prolog",
7307
- "name": "Prolog",
7308
- "import": (() => __vitePreload(() => import("./prolog-HQoHkMvl.js"), [], import.meta.url))
7309
- },
7310
- {
7311
- "id": "proto",
7312
- "name": "Protocol Buffer 3",
7313
- "aliases": ["protobuf"],
7314
- "import": (() => __vitePreload(() => import("./proto-ChC_OfbZ.js"), [], import.meta.url))
7315
- },
7316
- {
7317
- "id": "pug",
7318
- "name": "Pug",
7319
- "aliases": ["jade"],
7320
- "import": (() => __vitePreload(() => import("./pug-QSgd7iU0.js"), __vite__mapDeps([87,3,2,4]), import.meta.url))
7321
- },
7322
- {
7323
- "id": "puppet",
7324
- "name": "Puppet",
7325
- "import": (() => __vitePreload(() => import("./puppet-DMhi-JVI.js"), [], import.meta.url))
7326
- },
7327
- {
7328
- "id": "purescript",
7329
- "name": "PureScript",
7330
- "import": (() => __vitePreload(() => import("./purescript-BMgB9Mqo.js"), [], import.meta.url))
7331
- },
7332
- {
7333
- "id": "python",
7334
- "name": "Python",
7335
- "aliases": ["py"],
7336
- "import": (() => __vitePreload(() => import("./python-DhGWz8au.js"), [], import.meta.url))
7337
- },
7338
- {
7339
- "id": "qml",
7340
- "name": "QML",
7341
- "import": (() => __vitePreload(() => import("./qml-Br5P3lde.js"), __vite__mapDeps([88,4]), import.meta.url))
7342
- },
7343
- {
7344
- "id": "qmldir",
7345
- "name": "QML Directory",
7346
- "import": (() => __vitePreload(() => import("./qmldir-DuuXCI_4.js"), [], import.meta.url))
7347
- },
7348
- {
7349
- "id": "qss",
7350
- "name": "Qt Style Sheets",
7351
- "import": (() => __vitePreload(() => import("./qss-BFMq588W.js"), [], import.meta.url))
7352
- },
7353
- {
7354
- "id": "r",
7355
- "name": "R",
7356
- "import": (() => __vitePreload(() => import("./r-j_8gjFkr.js"), __vite__mapDeps([89,75]), import.meta.url))
7357
- },
7358
- {
7359
- "id": "racket",
7360
- "name": "Racket",
7361
- "import": (() => __vitePreload(() => import("./racket-IMenCrEe.js"), [], import.meta.url))
7362
- },
7363
- {
7364
- "id": "raku",
7365
- "name": "Raku",
7366
- "aliases": ["perl6"],
7367
- "import": (() => __vitePreload(() => import("./raku-C9JzcviJ.js"), [], import.meta.url))
7368
- },
7369
- {
7370
- "id": "razor",
7371
- "name": "ASP.NET Razor",
7372
- "import": (() => __vitePreload(() => import("./razor-CGZb-Vhk.js"), __vite__mapDeps([90,91,2,3,4]), import.meta.url))
7373
- },
7374
- {
7375
- "id": "reg",
7376
- "name": "Windows Registry Script",
7377
- "import": (() => __vitePreload(() => import("./reg-BGZIC5Xp.js"), [], import.meta.url))
7378
- },
7379
- {
7380
- "id": "regexp",
7381
- "name": "RegExp",
7382
- "aliases": ["regex"],
7383
- "import": (() => __vitePreload(() => import("./regexp-DhxLCx4Q.js"), __vite__mapDeps([92,29]), import.meta.url))
7384
- },
7385
- {
7386
- "id": "rel",
7387
- "name": "Rel",
7388
- "import": (() => __vitePreload(() => import("./rel-9SOeDwim.js"), [], import.meta.url))
7389
- },
7390
- {
7391
- "id": "riscv",
7392
- "name": "RISC-V",
7393
- "import": (() => __vitePreload(() => import("./riscv-C2bRbBks.js"), [], import.meta.url))
7394
- },
7395
- {
7396
- "id": "rosmsg",
7397
- "name": "ROS Interface",
7398
- "import": (() => __vitePreload(() => import("./rosmsg-hq2-oN0y.js"), [], import.meta.url))
7399
- },
7400
- {
7401
- "id": "rst",
7402
- "name": "reStructuredText",
7403
- "import": (() => __vitePreload(() => import("./rst-DMrMaCEy.js"), __vite__mapDeps([93,94,27,28,21,29,17,16,2,3,4,23,37,38,39,13,14,40,41,31,9,10,42]), import.meta.url))
7404
- },
7405
- {
7406
- "id": "ruby",
7407
- "name": "Ruby",
7408
- "aliases": ["rb"],
7409
- "import": (() => __vitePreload(() => import("./ruby-DEIXHl5I.js"), __vite__mapDeps([37,21,27,28,29,17,3,38,4,39,13,14,40,2,41,31,9,10,42]), import.meta.url))
7410
- },
7411
- {
7412
- "id": "rust",
7413
- "name": "Rust",
7414
- "aliases": ["rs"],
7415
- "import": (() => __vitePreload(() => import("./rust-5iAw__zf.js"), [], import.meta.url))
7416
- },
7417
- {
7418
- "id": "sas",
7419
- "name": "SAS",
7420
- "import": (() => __vitePreload(() => import("./sas-CJhvZ-6Q.js"), __vite__mapDeps([95,17]), import.meta.url))
7421
- },
7422
- {
7423
- "id": "sass",
7424
- "name": "Sass",
7425
- "import": (() => __vitePreload(() => import("./sass-D4cOLgcl.js"), [], import.meta.url))
7426
- },
7427
- {
7428
- "id": "scala",
7429
- "name": "Scala",
7430
- "import": (() => __vitePreload(() => import("./scala-QbdmEKQc.js"), [], import.meta.url))
7431
- },
7432
- {
7433
- "id": "scheme",
7434
- "name": "Scheme",
7435
- "import": (() => __vitePreload(() => import("./scheme-Czdr2zDO.js"), [], import.meta.url))
7436
- },
7437
- {
7438
- "id": "scss",
7439
- "name": "SCSS",
7440
- "import": (() => __vitePreload(() => import("./scss-B8KTULjf.js"), __vite__mapDeps([96,6,3]), import.meta.url))
7441
- },
7442
- {
7443
- "id": "sdbl",
7444
- "name": "1C (Query)",
7445
- "aliases": ["1c-query"],
7446
- "import": (() => __vitePreload(() => import("./sdbl-cYh-3vef.js"), [], import.meta.url))
7447
- },
7448
- {
7449
- "id": "shaderlab",
7450
- "name": "ShaderLab",
7451
- "aliases": ["shader"],
7452
- "import": (() => __vitePreload(() => import("./shaderlab-DIk_dlVI.js"), __vite__mapDeps([97,98]), import.meta.url))
7453
- },
7454
- {
7455
- "id": "shellscript",
7456
- "name": "Shell",
7457
- "aliases": [
7458
- "bash",
7459
- "sh",
7460
- "shell",
7461
- "zsh"
7462
- ],
7463
- "import": (() => __vitePreload(() => import("./shellscript-UjHQny9Z.js"), __vite__mapDeps([99,31]), import.meta.url))
7464
- },
7465
- {
7466
- "id": "shellsession",
7467
- "name": "Shell Session",
7468
- "aliases": ["console"],
7469
- "import": (() => __vitePreload(() => import("./shellsession-vpt33qZm.js"), __vite__mapDeps([100,31]), import.meta.url))
7470
- },
7471
- {
7472
- "id": "smalltalk",
7473
- "name": "Smalltalk",
7474
- "import": (() => __vitePreload(() => import("./smalltalk-Cm-MWRN0.js"), [], import.meta.url))
7475
- },
7476
- {
7477
- "id": "solidity",
7478
- "name": "Solidity",
7479
- "import": (() => __vitePreload(() => import("./solidity-fw2AbgU6.js"), [], import.meta.url))
7480
- },
7481
- {
7482
- "id": "soy",
7483
- "name": "Closure Templates",
7484
- "aliases": ["closure-templates"],
7485
- "import": (() => __vitePreload(() => import("./soy-CelgUwVW.js"), __vite__mapDeps([101,2,3,4]), import.meta.url))
7486
- },
7487
- {
7488
- "id": "sparql",
7489
- "name": "SPARQL",
7490
- "import": (() => __vitePreload(() => import("./sparql-XuA-X5Ok.js"), __vite__mapDeps([102,103]), import.meta.url))
7491
- },
7492
- {
7493
- "id": "splunk",
7494
- "name": "Splunk Query Language",
7495
- "aliases": ["spl"],
7496
- "import": (() => __vitePreload(() => import("./splunk-CrefYCQ9.js"), [], import.meta.url))
7497
- },
7498
- {
7499
- "id": "sql",
7500
- "name": "SQL",
7501
- "import": (() => __vitePreload(() => import("./sql-Cq-9x9KN.js"), __vite__mapDeps([104,17]), import.meta.url))
7502
- },
7503
- {
7504
- "id": "ssh-config",
7505
- "name": "SSH Config",
7506
- "import": (() => __vitePreload(() => import("./ssh-config-DPja2V-o.js"), [], import.meta.url))
7507
- },
7508
- {
7509
- "id": "stata",
7510
- "name": "Stata",
7511
- "import": (() => __vitePreload(() => import("./stata-DH-ZNtGK.js"), __vite__mapDeps([105,17]), import.meta.url))
7512
- },
7513
- {
7514
- "id": "stylus",
7515
- "name": "Stylus",
7516
- "aliases": ["styl"],
7517
- "import": (() => __vitePreload(() => import("./stylus-DiT_MMZ_.js"), [], import.meta.url))
7518
- },
7519
- {
7520
- "id": "svelte",
7521
- "name": "Svelte",
7522
- "import": (() => __vitePreload(() => import("./svelte-4ND1u2sA.js"), __vite__mapDeps([106,3,4,12,14]), import.meta.url))
7523
- },
7524
- {
7525
- "id": "swift",
7526
- "name": "Swift",
7527
- "import": (() => __vitePreload(() => import("./swift-CHsNH9rq.js"), [], import.meta.url))
7528
- },
7529
- {
7530
- "id": "system-verilog",
7531
- "name": "SystemVerilog",
7532
- "import": (() => __vitePreload(() => import("./system-verilog-DgxlGsc_.js"), [], import.meta.url))
7533
- },
7534
- {
7535
- "id": "systemd",
7536
- "name": "Systemd Units",
7537
- "import": (() => __vitePreload(() => import("./systemd-Bom26lBa.js"), [], import.meta.url))
7538
- },
7539
- {
7540
- "id": "talonscript",
7541
- "name": "TalonScript",
7542
- "aliases": ["talon"],
7543
- "import": (() => __vitePreload(() => import("./talonscript-BNy4LtIP.js"), [], import.meta.url))
7544
- },
7545
- {
7546
- "id": "tasl",
7547
- "name": "Tasl",
7548
- "import": (() => __vitePreload(() => import("./tasl-DatzK1EO.js"), [], import.meta.url))
7549
- },
7550
- {
7551
- "id": "tcl",
7552
- "name": "Tcl",
7553
- "import": (() => __vitePreload(() => import("./tcl-CNZvo4vj.js"), [], import.meta.url))
7554
- },
7555
- {
7556
- "id": "templ",
7557
- "name": "Templ",
7558
- "import": (() => __vitePreload(() => import("./templ-KxYrLXa6.js"), __vite__mapDeps([107,3,108,4]), import.meta.url))
7559
- },
7560
- {
7561
- "id": "terraform",
7562
- "name": "Terraform",
7563
- "aliases": ["tf", "tfvars"],
7564
- "import": (() => __vitePreload(() => import("./terraform-D-recpy4.js"), [], import.meta.url))
7565
- },
7566
- {
7567
- "id": "tex",
7568
- "name": "TeX",
7569
- "import": (() => __vitePreload(() => import("./tex-B6RraVdx.js"), __vite__mapDeps([77,75]), import.meta.url))
7570
- },
7571
- {
7572
- "id": "toml",
7573
- "name": "TOML",
7574
- "import": (() => __vitePreload(() => import("./toml-CPUTrY2p.js"), [], import.meta.url))
7575
- },
7576
- {
7577
- "id": "ts-tags",
7578
- "name": "TypeScript with Tags",
7579
- "aliases": ["lit"],
7580
- "import": (() => __vitePreload(() => import("./ts-tags-BMERgcny.js"), __vite__mapDeps([109,3,28,21,2,4,17,14,9,10]), import.meta.url))
7581
- },
7582
- {
7583
- "id": "tsv",
7584
- "name": "TSV",
7585
- "import": (() => __vitePreload(() => import("./tsv-iSdH3ktm.js"), [], import.meta.url))
7586
- },
7587
- {
7588
- "id": "tsx",
7589
- "name": "TSX",
7590
- "import": (() => __vitePreload(() => import("./tsx-D8ovzp-F.js"), __vite__mapDeps([110,13]), import.meta.url))
7591
- },
7592
- {
7593
- "id": "turtle",
7594
- "name": "Turtle",
7595
- "import": (() => __vitePreload(() => import("./turtle-v9QunLzd.js"), [], import.meta.url))
7596
- },
7597
- {
7598
- "id": "twig",
7599
- "name": "Twig",
7600
- "import": (() => __vitePreload(() => import("./twig-CtrJhYus.js"), __vite__mapDeps([111,3,4,86,2,8,17,9,10,23,37,21,27,28,29,38,39,13,14,40,41,31,42,6]), import.meta.url))
7601
- },
7602
- {
7603
- "id": "typescript",
7604
- "name": "TypeScript",
7605
- "aliases": [
7606
- "ts",
7607
- "cts",
7608
- "mts"
7609
- ],
7610
- "import": (() => __vitePreload(() => import("./typescript-8wVgZc72.js"), __vite__mapDeps([112,14]), import.meta.url))
7611
- },
7612
- {
7613
- "id": "typespec",
7614
- "name": "TypeSpec",
7615
- "aliases": ["tsp"],
7616
- "import": (() => __vitePreload(() => import("./typespec-EH02aGm3.js"), [], import.meta.url))
7617
- },
7618
- {
7619
- "id": "typst",
7620
- "name": "Typst",
7621
- "aliases": ["typ"],
7622
- "import": (() => __vitePreload(() => import("./typst-CY516ItY.js"), [], import.meta.url))
7623
- },
7624
- {
7625
- "id": "v",
7626
- "name": "V",
7627
- "import": (() => __vitePreload(() => import("./v-_oNJRzta.js"), [], import.meta.url))
7628
- },
7629
- {
7630
- "id": "vala",
7631
- "name": "Vala",
7632
- "import": (() => __vitePreload(() => import("./vala-DLVufQ32.js"), [], import.meta.url))
7633
- },
7634
- {
7635
- "id": "vb",
7636
- "name": "Visual Basic",
7637
- "aliases": ["cmd"],
7638
- "import": (() => __vitePreload(() => import("./vb-XRcgqTvL.js"), [], import.meta.url))
7639
- },
7640
- {
7641
- "id": "verilog",
7642
- "name": "Verilog",
7643
- "import": (() => __vitePreload(() => import("./verilog-ChgZHcD2.js"), [], import.meta.url))
7644
- },
7645
- {
7646
- "id": "vhdl",
7647
- "name": "VHDL",
7648
- "import": (() => __vitePreload(() => import("./vhdl-Dz76yRCg.js"), [], import.meta.url))
7649
- },
7650
- {
7651
- "id": "viml",
7652
- "name": "Vim Script",
7653
- "aliases": ["vim", "vimscript"],
7654
- "import": (() => __vitePreload(() => import("./viml-TSOpwVSN.js"), [], import.meta.url))
7655
- },
7656
- {
7657
- "id": "vue",
7658
- "name": "Vue",
7659
- "import": (() => __vitePreload(() => import("./vue-DVNuaKnA.js"), __vite__mapDeps([113,3,16,2,4,8,14]), import.meta.url))
7660
- },
7661
- {
7662
- "id": "vue-html",
7663
- "name": "Vue HTML",
7664
- "import": (() => __vitePreload(() => import("./vue-html-BUeFN0Nh.js"), __vite__mapDeps([114,4,113,3,16,2,8,14]), import.meta.url))
7665
- },
7666
- {
7667
- "id": "vue-vine",
7668
- "name": "Vue Vine",
7669
- "import": (() => __vitePreload(() => import("./vue-vine-DhKioGfT.js"), __vite__mapDeps([115,3,4,81,113,16,2,8,14,12,6,116]), import.meta.url))
7670
- },
7671
- {
7672
- "id": "vyper",
7673
- "name": "Vyper",
7674
- "aliases": ["vy"],
7675
- "import": (() => __vitePreload(() => import("./vyper-DtFKY8Z6.js"), [], import.meta.url))
7676
- },
7677
- {
7678
- "id": "wasm",
7679
- "name": "WebAssembly",
7680
- "import": (() => __vitePreload(() => import("./wasm-D7Bi-P4y.js"), [], import.meta.url))
7681
- },
7682
- {
7683
- "id": "wenyan",
7684
- "name": "Wenyan",
7685
- "aliases": ["文言"],
7686
- "import": (() => __vitePreload(() => import("./wenyan-Dihi-Pn5.js"), [], import.meta.url))
7687
- },
7688
- {
7689
- "id": "wgsl",
7690
- "name": "WGSL",
7691
- "import": (() => __vitePreload(() => import("./wgsl-BwN9nWiV.js"), [], import.meta.url))
7692
- },
7693
- {
7694
- "id": "wikitext",
7695
- "name": "Wikitext",
7696
- "aliases": ["mediawiki", "wiki"],
7697
- "import": (() => __vitePreload(() => import("./wikitext-DTN-j874.js"), [], import.meta.url))
7698
- },
7699
- {
7700
- "id": "wit",
7701
- "name": "WebAssembly Interface Types",
7702
- "import": (() => __vitePreload(() => import("./wit-dIADKh1M.js"), [], import.meta.url))
7703
- },
7704
- {
7705
- "id": "wolfram",
7706
- "name": "Wolfram",
7707
- "aliases": ["wl"],
7708
- "import": (() => __vitePreload(() => import("./wolfram-pIOwLI_a.js"), [], import.meta.url))
7709
- },
7710
- {
7711
- "id": "xml",
7712
- "name": "XML",
7713
- "import": (() => __vitePreload(() => import("./xml-Bs5cbwVm.js"), __vite__mapDeps([117,9,10]), import.meta.url))
7714
- },
7715
- {
7716
- "id": "xsl",
7717
- "name": "XSL",
7718
- "import": (() => __vitePreload(() => import("./xsl-DZ0uPmJC.js"), __vite__mapDeps([118,9,10]), import.meta.url))
7719
- },
7720
- {
7721
- "id": "yaml",
7722
- "name": "YAML",
7723
- "aliases": ["yml"],
7724
- "import": (() => __vitePreload(() => import("./yaml-5uKUGHTB.js"), __vite__mapDeps([119,42]), import.meta.url))
7725
- },
7726
- {
7727
- "id": "zenscript",
7728
- "name": "ZenScript",
7729
- "import": (() => __vitePreload(() => import("./zenscript-3dAVZcgX.js"), [], import.meta.url))
7730
- },
7731
- {
7732
- "id": "zig",
7733
- "name": "Zig",
7734
- "import": (() => __vitePreload(() => import("./zig-CSpEmMh0.js"), [], import.meta.url))
7735
- }
7736
- ];
7737
- var bundledLanguagesBase = Object.fromEntries(bundledLanguagesInfo.map((i) => [i.id, i.import]));
7738
- var bundledLanguagesAlias = Object.fromEntries(bundledLanguagesInfo.flatMap((i) => i.aliases?.map((a) => [a, i.import]) || []));
7739
- var bundledLanguages = {
7740
- ...bundledLanguagesBase,
7741
- ...bundledLanguagesAlias
7742
- };
7743
- var bundledThemes = Object.fromEntries([
7744
- {
7745
- "id": "andromeeda",
7746
- "displayName": "Andromeeda",
7747
- "type": "dark",
7748
- "import": (() => __vitePreload(() => import("./andromeeda-DhAMoUMM.js"), [], import.meta.url))
7749
- },
7750
- {
7751
- "id": "aurora-x",
7752
- "displayName": "Aurora X",
7753
- "type": "dark",
7754
- "import": (() => __vitePreload(() => import("./aurora-x-B_q06yn6.js"), [], import.meta.url))
7755
- },
7756
- {
7757
- "id": "ayu-dark",
7758
- "displayName": "Ayu Dark",
7759
- "type": "dark",
7760
- "import": (() => __vitePreload(() => import("./ayu-dark-8C83wjO6.js"), [], import.meta.url))
7761
- },
7762
- {
7763
- "id": "catppuccin-frappe",
7764
- "displayName": "Catppuccin Frappé",
7765
- "type": "dark",
7766
- "import": (() => __vitePreload(() => import("./catppuccin-frappe-C38arzqL.js"), [], import.meta.url))
7767
- },
7768
- {
7769
- "id": "catppuccin-latte",
7770
- "displayName": "Catppuccin Latte",
7771
- "type": "light",
7772
- "import": (() => __vitePreload(() => import("./catppuccin-latte-Hkpsj_z2.js"), [], import.meta.url))
7773
- },
7774
- {
7775
- "id": "catppuccin-macchiato",
7776
- "displayName": "Catppuccin Macchiato",
7777
- "type": "dark",
7778
- "import": (() => __vitePreload(() => import("./catppuccin-macchiato-BxpRHWFe.js"), [], import.meta.url))
7779
- },
7780
- {
7781
- "id": "catppuccin-mocha",
7782
- "displayName": "Catppuccin Mocha",
7783
- "type": "dark",
7784
- "import": (() => __vitePreload(() => import("./catppuccin-mocha-CdQJdYJ3.js"), [], import.meta.url))
7785
- },
7786
- {
7787
- "id": "dark-plus",
7788
- "displayName": "Dark Plus",
7789
- "type": "dark",
7790
- "import": (() => __vitePreload(() => import("./dark-plus-CzflfJzq.js"), [], import.meta.url))
7791
- },
7792
- {
7793
- "id": "dracula",
7794
- "displayName": "Dracula Theme",
7795
- "type": "dark",
7796
- "import": (() => __vitePreload(() => import("./dracula-DzaHHRbM.js"), [], import.meta.url))
7797
- },
7798
- {
7799
- "id": "dracula-soft",
7800
- "displayName": "Dracula Theme Soft",
7801
- "type": "dark",
7802
- "import": (() => __vitePreload(() => import("./dracula-soft-Co_YGjEG.js"), [], import.meta.url))
7803
- },
7804
- {
7805
- "id": "everforest-dark",
7806
- "displayName": "Everforest Dark",
7807
- "type": "dark",
7808
- "import": (() => __vitePreload(() => import("./everforest-dark-2suNS-_7.js"), [], import.meta.url))
7809
- },
7810
- {
7811
- "id": "everforest-light",
7812
- "displayName": "Everforest Light",
7813
- "type": "light",
7814
- "import": (() => __vitePreload(() => import("./everforest-light-gJqeTgj8.js"), [], import.meta.url))
7815
- },
7816
- {
7817
- "id": "github-dark",
7818
- "displayName": "GitHub Dark",
7819
- "type": "dark",
7820
- "import": (() => __vitePreload(() => import("./github-dark-tFHhqpP4.js"), [], import.meta.url))
7821
- },
7822
- {
7823
- "id": "github-dark-default",
7824
- "displayName": "GitHub Dark Default",
7825
- "type": "dark",
7826
- "import": (() => __vitePreload(() => import("./github-dark-default-BQ1K8Okr.js"), [], import.meta.url))
7827
- },
7828
- {
7829
- "id": "github-dark-dimmed",
7830
- "displayName": "GitHub Dark Dimmed",
7831
- "type": "dark",
7832
- "import": (() => __vitePreload(() => import("./github-dark-dimmed-D83kFqss.js"), [], import.meta.url))
7833
- },
7834
- {
7835
- "id": "github-dark-high-contrast",
7836
- "displayName": "GitHub Dark High Contrast",
7837
- "type": "dark",
7838
- "import": (() => __vitePreload(() => import("./github-dark-high-contrast-gdEo7VGr.js"), [], import.meta.url))
7839
- },
7840
- {
7841
- "id": "github-light",
7842
- "displayName": "GitHub Light",
7843
- "type": "light",
7844
- "import": (() => __vitePreload(() => import("./github-light-CbsGnmMB.js"), [], import.meta.url))
7845
- },
7846
- {
7847
- "id": "github-light-default",
7848
- "displayName": "GitHub Light Default",
7849
- "type": "light",
7850
- "import": (() => __vitePreload(() => import("./github-light-default-V6uNq15f.js"), [], import.meta.url))
7851
- },
7852
- {
7853
- "id": "github-light-high-contrast",
7854
- "displayName": "GitHub Light High Contrast",
7855
- "type": "light",
7856
- "import": (() => __vitePreload(() => import("./github-light-high-contrast-BjF32j4e.js"), [], import.meta.url))
7857
- },
7858
- {
7859
- "id": "gruvbox-dark-hard",
7860
- "displayName": "Gruvbox Dark Hard",
7861
- "type": "dark",
7862
- "import": (() => __vitePreload(() => import("./gruvbox-dark-hard-BaRSnqxx.js"), [], import.meta.url))
7863
- },
7864
- {
7865
- "id": "gruvbox-dark-medium",
7866
- "displayName": "Gruvbox Dark Medium",
7867
- "type": "dark",
7868
- "import": (() => __vitePreload(() => import("./gruvbox-dark-medium-DSgMmAnQ.js"), [], import.meta.url))
7869
- },
7870
- {
7871
- "id": "gruvbox-dark-soft",
7872
- "displayName": "Gruvbox Dark Soft",
7873
- "type": "dark",
7874
- "import": (() => __vitePreload(() => import("./gruvbox-dark-soft-BFVsuJRE.js"), [], import.meta.url))
7875
- },
7876
- {
7877
- "id": "gruvbox-light-hard",
7878
- "displayName": "Gruvbox Light Hard",
7879
- "type": "light",
7880
- "import": (() => __vitePreload(() => import("./gruvbox-light-hard-FGp0tNyr.js"), [], import.meta.url))
7881
- },
7882
- {
7883
- "id": "gruvbox-light-medium",
7884
- "displayName": "Gruvbox Light Medium",
7885
- "type": "light",
7886
- "import": (() => __vitePreload(() => import("./gruvbox-light-medium-CNmGxpVe.js"), [], import.meta.url))
7887
- },
7888
- {
7889
- "id": "gruvbox-light-soft",
7890
- "displayName": "Gruvbox Light Soft",
7891
- "type": "light",
7892
- "import": (() => __vitePreload(() => import("./gruvbox-light-soft-D2B7iaDa.js"), [], import.meta.url))
7893
- },
7894
- {
7895
- "id": "houston",
7896
- "displayName": "Houston",
7897
- "type": "dark",
7898
- "import": (() => __vitePreload(() => import("./houston-C7Am8I0L.js"), [], import.meta.url))
7899
- },
7900
- {
7901
- "id": "kanagawa-dragon",
7902
- "displayName": "Kanagawa Dragon",
7903
- "type": "dark",
7904
- "import": (() => __vitePreload(() => import("./kanagawa-dragon-7aQBLzZk.js"), [], import.meta.url))
7905
- },
7906
- {
7907
- "id": "kanagawa-lotus",
7908
- "displayName": "Kanagawa Lotus",
7909
- "type": "light",
7910
- "import": (() => __vitePreload(() => import("./kanagawa-lotus-DNChzptB.js"), [], import.meta.url))
7911
- },
7912
- {
7913
- "id": "kanagawa-wave",
7914
- "displayName": "Kanagawa Wave",
7915
- "type": "dark",
7916
- "import": (() => __vitePreload(() => import("./kanagawa-wave-Bo0znHvn.js"), [], import.meta.url))
7917
- },
7918
- {
7919
- "id": "laserwave",
7920
- "displayName": "LaserWave",
7921
- "type": "dark",
7922
- "import": (() => __vitePreload(() => import("./laserwave-Bqjyvrrg.js"), [], import.meta.url))
7923
- },
7924
- {
7925
- "id": "light-plus",
7926
- "displayName": "Light Plus",
7927
- "type": "light",
7928
- "import": (() => __vitePreload(() => import("./light-plus-D8bT7m1s.js"), [], import.meta.url))
7929
- },
7930
- {
7931
- "id": "material-theme",
7932
- "displayName": "Material Theme",
7933
- "type": "dark",
7934
- "import": (() => __vitePreload(() => import("./material-theme-CK-9iASZ.js"), [], import.meta.url))
7935
- },
7936
- {
7937
- "id": "material-theme-darker",
7938
- "displayName": "Material Theme Darker",
7939
- "type": "dark",
7940
- "import": (() => __vitePreload(() => import("./material-theme-darker-BTaaZK0B.js"), [], import.meta.url))
7941
- },
7942
- {
7943
- "id": "material-theme-lighter",
7944
- "displayName": "Material Theme Lighter",
7945
- "type": "light",
7946
- "import": (() => __vitePreload(() => import("./material-theme-lighter-Bi45hnIS.js"), [], import.meta.url))
7947
- },
7948
- {
7949
- "id": "material-theme-ocean",
7950
- "displayName": "Material Theme Ocean",
7951
- "type": "dark",
7952
- "import": (() => __vitePreload(() => import("./material-theme-ocean-CCcXVhHj.js"), [], import.meta.url))
7953
- },
7954
- {
7955
- "id": "material-theme-palenight",
7956
- "displayName": "Material Theme Palenight",
7957
- "type": "dark",
7958
- "import": (() => __vitePreload(() => import("./material-theme-palenight-ChOnM73H.js"), [], import.meta.url))
7959
- },
7960
- {
7961
- "id": "min-dark",
7962
- "displayName": "Min Dark",
7963
- "type": "dark",
7964
- "import": (() => __vitePreload(() => import("./min-dark-YKGmmQoo.js"), [], import.meta.url))
7965
- },
7966
- {
7967
- "id": "min-light",
7968
- "displayName": "Min Light",
7969
- "type": "light",
7970
- "import": (() => __vitePreload(() => import("./min-light-DW2ETKSB.js"), [], import.meta.url))
7971
- },
7972
- {
7973
- "id": "monokai",
7974
- "displayName": "Monokai",
7975
- "type": "dark",
7976
- "import": (() => __vitePreload(() => import("./monokai-Jo52gV2c.js"), [], import.meta.url))
7977
- },
7978
- {
7979
- "id": "night-owl",
7980
- "displayName": "Night Owl",
7981
- "type": "dark",
7982
- "import": (() => __vitePreload(() => import("./night-owl-CbXinktQ.js"), [], import.meta.url))
7983
- },
7984
- {
7985
- "id": "nord",
7986
- "displayName": "Nord",
7987
- "type": "dark",
7988
- "import": (() => __vitePreload(() => import("./nord-BTPLMhIK.js"), [], import.meta.url))
7989
- },
7990
- {
7991
- "id": "one-dark-pro",
7992
- "displayName": "One Dark Pro",
7993
- "type": "dark",
7994
- "import": (() => __vitePreload(() => import("./one-dark-pro-D1A7hyO6.js"), [], import.meta.url))
7995
- },
7996
- {
7997
- "id": "one-light",
7998
- "displayName": "One Light",
7999
- "type": "light",
8000
- "import": (() => __vitePreload(() => import("./one-light-Bx9B3Uy2.js"), [], import.meta.url))
8001
- },
8002
- {
8003
- "id": "plastic",
8004
- "displayName": "Plastic",
8005
- "type": "dark",
8006
- "import": (() => __vitePreload(() => import("./plastic-9YA00Fba.js"), [], import.meta.url))
8007
- },
8008
- {
8009
- "id": "poimandres",
8010
- "displayName": "Poimandres",
8011
- "type": "dark",
8012
- "import": (() => __vitePreload(() => import("./poimandres-DpVea04t.js"), [], import.meta.url))
8013
- },
8014
- {
8015
- "id": "red",
8016
- "displayName": "Red",
8017
- "type": "dark",
8018
- "import": (() => __vitePreload(() => import("./red-CQS1WyPa.js"), [], import.meta.url))
8019
- },
8020
- {
8021
- "id": "rose-pine",
8022
- "displayName": "Rosé Pine",
8023
- "type": "dark",
8024
- "import": (() => __vitePreload(() => import("./rose-pine-Db2WNJEU.js"), [], import.meta.url))
8025
- },
8026
- {
8027
- "id": "rose-pine-dawn",
8028
- "displayName": "Rosé Pine Dawn",
8029
- "type": "light",
8030
- "import": (() => __vitePreload(() => import("./rose-pine-dawn-DC5eCBMs.js"), [], import.meta.url))
8031
- },
8032
- {
8033
- "id": "rose-pine-moon",
8034
- "displayName": "Rosé Pine Moon",
8035
- "type": "dark",
8036
- "import": (() => __vitePreload(() => import("./rose-pine-moon-ByQGHrqH.js"), [], import.meta.url))
8037
- },
8038
- {
8039
- "id": "slack-dark",
8040
- "displayName": "Slack Dark",
8041
- "type": "dark",
8042
- "import": (() => __vitePreload(() => import("./slack-dark-B08HtKwQ.js"), [], import.meta.url))
8043
- },
8044
- {
8045
- "id": "slack-ochin",
8046
- "displayName": "Slack Ochin",
8047
- "type": "light",
8048
- "import": (() => __vitePreload(() => import("./slack-ochin-BC18yudJ.js"), [], import.meta.url))
8049
- },
8050
- {
8051
- "id": "snazzy-light",
8052
- "displayName": "Snazzy Light",
8053
- "type": "light",
8054
- "import": (() => __vitePreload(() => import("./snazzy-light-C1U1twt-.js"), [], import.meta.url))
8055
- },
8056
- {
8057
- "id": "solarized-dark",
8058
- "displayName": "Solarized Dark",
8059
- "type": "dark",
8060
- "import": (() => __vitePreload(() => import("./solarized-dark-Btg7jTS4.js"), [], import.meta.url))
8061
- },
8062
- {
8063
- "id": "solarized-light",
8064
- "displayName": "Solarized Light",
8065
- "type": "light",
8066
- "import": (() => __vitePreload(() => import("./solarized-light-I8YWdva8.js"), [], import.meta.url))
8067
- },
8068
- {
8069
- "id": "synthwave-84",
8070
- "displayName": "Synthwave '84",
8071
- "type": "dark",
8072
- "import": (() => __vitePreload(() => import("./synthwave-84-D5FDqfx_.js"), [], import.meta.url))
8073
- },
8074
- {
8075
- "id": "tokyo-night",
8076
- "displayName": "Tokyo Night",
8077
- "type": "dark",
8078
- "import": (() => __vitePreload(() => import("./tokyo-night-CFAgnMn1.js"), [], import.meta.url))
8079
- },
8080
- {
8081
- "id": "vesper",
8082
- "displayName": "Vesper",
8083
- "type": "dark",
8084
- "import": (() => __vitePreload(() => import("./vesper-DZtY4370.js"), [], import.meta.url))
8085
- },
8086
- {
8087
- "id": "vitesse-black",
8088
- "displayName": "Vitesse Black",
8089
- "type": "dark",
8090
- "import": (() => __vitePreload(() => import("./vitesse-black-D3j7JXye.js"), [], import.meta.url))
8091
- },
8092
- {
8093
- "id": "vitesse-dark",
8094
- "displayName": "Vitesse Dark",
8095
- "type": "dark",
8096
- "import": (() => __vitePreload(() => import("./vitesse-dark-BD1ft8sR.js"), [], import.meta.url))
8097
- },
8098
- {
8099
- "id": "vitesse-light",
8100
- "displayName": "Vitesse Light",
8101
- "type": "light",
8102
- "import": (() => __vitePreload(() => import("./vitesse-light-BudZzHnR.js"), [], import.meta.url))
8103
- }
8104
- ].map((i) => [i.id, i.import]));
8105
- var ShikiError = class extends Error {
8106
- constructor(message) {
8107
- super(message);
8108
- this.name = "ShikiError";
8109
- }
8110
- };
8111
- function getHeapMax() {
8112
- return 2147483648;
8113
- }
8114
- function _emscripten_get_now() {
8115
- return typeof performance !== "undefined" ? performance.now() : Date.now();
8116
- }
8117
- var alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple;
8118
- async function main(init) {
8119
- let wasmMemory;
8120
- let buffer;
8121
- const binding = {};
8122
- function updateGlobalBufferAndViews(buf) {
8123
- buffer = buf;
8124
- binding.HEAPU8 = new Uint8Array(buf);
8125
- binding.HEAPU32 = new Uint32Array(buf);
8126
- }
8127
- function _emscripten_memcpy_big(dest, src, num) {
8128
- binding.HEAPU8.copyWithin(dest, src, src + num);
8129
- }
8130
- function emscripten_realloc_buffer(size) {
8131
- try {
8132
- wasmMemory.grow(size - buffer.byteLength + 65535 >>> 16);
8133
- updateGlobalBufferAndViews(wasmMemory.buffer);
8134
- return 1;
8135
- } catch {}
8136
- }
8137
- function _emscripten_resize_heap(requestedSize) {
8138
- const oldSize = binding.HEAPU8.length;
8139
- requestedSize = requestedSize >>> 0;
8140
- const maxHeapSize = getHeapMax();
8141
- if (requestedSize > maxHeapSize) return false;
8142
- for (let cutDown = 1; cutDown <= 4; cutDown *= 2) {
8143
- let overGrownHeapSize = oldSize * (1 + .2 / cutDown);
8144
- overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);
8145
- if (emscripten_realloc_buffer(Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536)))) return true;
8146
- }
8147
- return false;
8148
- }
8149
- const UTF8Decoder = typeof TextDecoder != "undefined" ? new TextDecoder("utf8") : void 0;
8150
- function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead = 1024) {
8151
- const endIdx = idx + maxBytesToRead;
8152
- let endPtr = idx;
8153
- while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;
8154
- if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));
8155
- let str = "";
8156
- while (idx < endPtr) {
8157
- let u0 = heapOrArray[idx++];
8158
- if (!(u0 & 128)) {
8159
- str += String.fromCharCode(u0);
8160
- continue;
8161
- }
8162
- const u1 = heapOrArray[idx++] & 63;
8163
- if ((u0 & 224) === 192) {
8164
- str += String.fromCharCode((u0 & 31) << 6 | u1);
8165
- continue;
8166
- }
8167
- const u2 = heapOrArray[idx++] & 63;
8168
- if ((u0 & 240) === 224) u0 = (u0 & 15) << 12 | u1 << 6 | u2;
8169
- else u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63;
8170
- if (u0 < 65536) str += String.fromCharCode(u0);
8171
- else {
8172
- const ch = u0 - 65536;
8173
- str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
8174
- }
8175
- }
8176
- return str;
8177
- }
8178
- function UTF8ToString(ptr, maxBytesToRead) {
8179
- return ptr ? UTF8ArrayToString(binding.HEAPU8, ptr, maxBytesToRead) : "";
8180
- }
8181
- const asmLibraryArg = {
8182
- emscripten_get_now: _emscripten_get_now,
8183
- emscripten_memcpy_big: _emscripten_memcpy_big,
8184
- emscripten_resize_heap: _emscripten_resize_heap,
8185
- fd_write: () => 0
8186
- };
8187
- async function createWasm() {
8188
- const exports$1 = await init({
8189
- env: asmLibraryArg,
8190
- wasi_snapshot_preview1: asmLibraryArg
8191
- });
8192
- wasmMemory = exports$1.memory;
8193
- updateGlobalBufferAndViews(wasmMemory.buffer);
8194
- Object.assign(binding, exports$1);
8195
- binding.UTF8ToString = UTF8ToString;
8196
- }
8197
- await createWasm();
8198
- return binding;
8199
- }
8200
- var __defProp = Object.defineProperty;
8201
- var __defNormalProp = (obj, key$1, value) => key$1 in obj ? __defProp(obj, key$1, {
8202
- enumerable: true,
8203
- configurable: true,
8204
- writable: true,
8205
- value
8206
- }) : obj[key$1] = value;
8207
- var __publicField = (obj, key$1, value) => __defNormalProp(obj, typeof key$1 !== "symbol" ? key$1 + "" : key$1, value);
8208
- var onigBinding = null;
8209
- function throwLastOnigError(onigBinding2) {
8210
- throw new ShikiError(onigBinding2.UTF8ToString(onigBinding2.getLastOnigError()));
8211
- }
8212
- var UtfString = class UtfString {
8213
- constructor(str) {
8214
- __publicField(this, "utf16Length");
8215
- __publicField(this, "utf8Length");
8216
- __publicField(this, "utf16Value");
8217
- __publicField(this, "utf8Value");
8218
- __publicField(this, "utf16OffsetToUtf8");
8219
- __publicField(this, "utf8OffsetToUtf16");
8220
- const utf16Length = str.length;
8221
- const utf8Length = UtfString._utf8ByteLength(str);
8222
- const computeIndicesMapping = utf8Length !== utf16Length;
8223
- const utf16OffsetToUtf8 = computeIndicesMapping ? new Uint32Array(utf16Length + 1) : null;
8224
- if (computeIndicesMapping) utf16OffsetToUtf8[utf16Length] = utf8Length;
8225
- const utf8OffsetToUtf16 = computeIndicesMapping ? new Uint32Array(utf8Length + 1) : null;
8226
- if (computeIndicesMapping) utf8OffsetToUtf16[utf8Length] = utf16Length;
8227
- const utf8Value = new Uint8Array(utf8Length);
8228
- let i8 = 0;
8229
- for (let i16 = 0; i16 < utf16Length; i16++) {
8230
- const charCode = str.charCodeAt(i16);
8231
- let codePoint = charCode;
8232
- let wasSurrogatePair = false;
8233
- if (charCode >= 55296 && charCode <= 56319) {
8234
- if (i16 + 1 < utf16Length) {
8235
- const nextCharCode = str.charCodeAt(i16 + 1);
8236
- if (nextCharCode >= 56320 && nextCharCode <= 57343) {
8237
- codePoint = (charCode - 55296 << 10) + 65536 | nextCharCode - 56320;
8238
- wasSurrogatePair = true;
8239
- }
8240
- }
8241
- }
8242
- if (computeIndicesMapping) {
8243
- utf16OffsetToUtf8[i16] = i8;
8244
- if (wasSurrogatePair) utf16OffsetToUtf8[i16 + 1] = i8;
8245
- if (codePoint <= 127) utf8OffsetToUtf16[i8 + 0] = i16;
8246
- else if (codePoint <= 2047) {
8247
- utf8OffsetToUtf16[i8 + 0] = i16;
8248
- utf8OffsetToUtf16[i8 + 1] = i16;
8249
- } else if (codePoint <= 65535) {
8250
- utf8OffsetToUtf16[i8 + 0] = i16;
8251
- utf8OffsetToUtf16[i8 + 1] = i16;
8252
- utf8OffsetToUtf16[i8 + 2] = i16;
8253
- } else {
8254
- utf8OffsetToUtf16[i8 + 0] = i16;
8255
- utf8OffsetToUtf16[i8 + 1] = i16;
8256
- utf8OffsetToUtf16[i8 + 2] = i16;
8257
- utf8OffsetToUtf16[i8 + 3] = i16;
8258
- }
8259
- }
8260
- if (codePoint <= 127) utf8Value[i8++] = codePoint;
8261
- else if (codePoint <= 2047) {
8262
- utf8Value[i8++] = 192 | (codePoint & 1984) >>> 6;
8263
- utf8Value[i8++] = 128 | (codePoint & 63) >>> 0;
8264
- } else if (codePoint <= 65535) {
8265
- utf8Value[i8++] = 224 | (codePoint & 61440) >>> 12;
8266
- utf8Value[i8++] = 128 | (codePoint & 4032) >>> 6;
8267
- utf8Value[i8++] = 128 | (codePoint & 63) >>> 0;
8268
- } else {
8269
- utf8Value[i8++] = 240 | (codePoint & 1835008) >>> 18;
8270
- utf8Value[i8++] = 128 | (codePoint & 258048) >>> 12;
8271
- utf8Value[i8++] = 128 | (codePoint & 4032) >>> 6;
8272
- utf8Value[i8++] = 128 | (codePoint & 63) >>> 0;
8273
- }
8274
- if (wasSurrogatePair) i16++;
8275
- }
8276
- this.utf16Length = utf16Length;
8277
- this.utf8Length = utf8Length;
8278
- this.utf16Value = str;
8279
- this.utf8Value = utf8Value;
8280
- this.utf16OffsetToUtf8 = utf16OffsetToUtf8;
8281
- this.utf8OffsetToUtf16 = utf8OffsetToUtf16;
8282
- }
8283
- static _utf8ByteLength(str) {
8284
- let result = 0;
8285
- for (let i = 0, len = str.length; i < len; i++) {
8286
- const charCode = str.charCodeAt(i);
8287
- let codepoint = charCode;
8288
- let wasSurrogatePair = false;
8289
- if (charCode >= 55296 && charCode <= 56319) {
8290
- if (i + 1 < len) {
8291
- const nextCharCode = str.charCodeAt(i + 1);
8292
- if (nextCharCode >= 56320 && nextCharCode <= 57343) {
8293
- codepoint = (charCode - 55296 << 10) + 65536 | nextCharCode - 56320;
8294
- wasSurrogatePair = true;
8295
- }
8296
- }
8297
- }
8298
- if (codepoint <= 127) result += 1;
8299
- else if (codepoint <= 2047) result += 2;
8300
- else if (codepoint <= 65535) result += 3;
8301
- else result += 4;
8302
- if (wasSurrogatePair) i++;
8303
- }
8304
- return result;
8305
- }
8306
- createString(onigBinding2) {
8307
- const result = onigBinding2.omalloc(this.utf8Length);
8308
- onigBinding2.HEAPU8.set(this.utf8Value, result);
8309
- return result;
8310
- }
8311
- };
8312
- var _OnigString = class _OnigString$1 {
8313
- constructor(str) {
8314
- __publicField(this, "id", ++_OnigString$1.LAST_ID);
8315
- __publicField(this, "_onigBinding");
8316
- __publicField(this, "content");
8317
- __publicField(this, "utf16Length");
8318
- __publicField(this, "utf8Length");
8319
- __publicField(this, "utf16OffsetToUtf8");
8320
- __publicField(this, "utf8OffsetToUtf16");
8321
- __publicField(this, "ptr");
8322
- if (!onigBinding) throw new ShikiError("Must invoke loadWasm first.");
8323
- this._onigBinding = onigBinding;
8324
- this.content = str;
8325
- const utfString = new UtfString(str);
8326
- this.utf16Length = utfString.utf16Length;
8327
- this.utf8Length = utfString.utf8Length;
8328
- this.utf16OffsetToUtf8 = utfString.utf16OffsetToUtf8;
8329
- this.utf8OffsetToUtf16 = utfString.utf8OffsetToUtf16;
8330
- if (this.utf8Length < 1e4 && !_OnigString$1._sharedPtrInUse) {
8331
- if (!_OnigString$1._sharedPtr) _OnigString$1._sharedPtr = onigBinding.omalloc(1e4);
8332
- _OnigString$1._sharedPtrInUse = true;
8333
- onigBinding.HEAPU8.set(utfString.utf8Value, _OnigString$1._sharedPtr);
8334
- this.ptr = _OnigString$1._sharedPtr;
8335
- } else this.ptr = utfString.createString(onigBinding);
8336
- }
8337
- convertUtf8OffsetToUtf16(utf8Offset) {
8338
- if (this.utf8OffsetToUtf16) {
8339
- if (utf8Offset < 0) return 0;
8340
- if (utf8Offset > this.utf8Length) return this.utf16Length;
8341
- return this.utf8OffsetToUtf16[utf8Offset];
8342
- }
8343
- return utf8Offset;
8344
- }
8345
- convertUtf16OffsetToUtf8(utf16Offset) {
8346
- if (this.utf16OffsetToUtf8) {
8347
- if (utf16Offset < 0) return 0;
8348
- if (utf16Offset > this.utf16Length) return this.utf8Length;
8349
- return this.utf16OffsetToUtf8[utf16Offset];
8350
- }
8351
- return utf16Offset;
8352
- }
8353
- dispose() {
8354
- if (this.ptr === _OnigString$1._sharedPtr) _OnigString$1._sharedPtrInUse = false;
8355
- else this._onigBinding.ofree(this.ptr);
8356
- }
8357
- };
8358
- __publicField(_OnigString, "LAST_ID", 0);
8359
- __publicField(_OnigString, "_sharedPtr", 0);
8360
- __publicField(_OnigString, "_sharedPtrInUse", false);
8361
- var OnigString = _OnigString;
8362
- var OnigScanner = class {
8363
- constructor(patterns) {
8364
- __publicField(this, "_onigBinding");
8365
- __publicField(this, "_ptr");
8366
- if (!onigBinding) throw new ShikiError("Must invoke loadWasm first.");
8367
- const strPtrsArr = [];
8368
- const strLenArr = [];
8369
- for (let i = 0, len = patterns.length; i < len; i++) {
8370
- const utfString = new UtfString(patterns[i]);
8371
- strPtrsArr[i] = utfString.createString(onigBinding);
8372
- strLenArr[i] = utfString.utf8Length;
8373
- }
8374
- const strPtrsPtr = onigBinding.omalloc(4 * patterns.length);
8375
- onigBinding.HEAPU32.set(strPtrsArr, strPtrsPtr / 4);
8376
- const strLenPtr = onigBinding.omalloc(4 * patterns.length);
8377
- onigBinding.HEAPU32.set(strLenArr, strLenPtr / 4);
8378
- const scannerPtr = onigBinding.createOnigScanner(strPtrsPtr, strLenPtr, patterns.length);
8379
- for (let i = 0, len = patterns.length; i < len; i++) onigBinding.ofree(strPtrsArr[i]);
8380
- onigBinding.ofree(strLenPtr);
8381
- onigBinding.ofree(strPtrsPtr);
8382
- if (scannerPtr === 0) throwLastOnigError(onigBinding);
8383
- this._onigBinding = onigBinding;
8384
- this._ptr = scannerPtr;
8385
- }
8386
- dispose() {
8387
- this._onigBinding.freeOnigScanner(this._ptr);
8388
- }
8389
- findNextMatchSync(string, startPosition, arg) {
8390
- let options = 0;
8391
- if (typeof arg === "number") options = arg;
8392
- if (typeof string === "string") {
8393
- string = new OnigString(string);
8394
- const result = this._findNextMatchSync(string, startPosition, false, options);
8395
- string.dispose();
8396
- return result;
8397
- }
8398
- return this._findNextMatchSync(string, startPosition, false, options);
8399
- }
8400
- _findNextMatchSync(string, startPosition, debugCall, options) {
8401
- const onigBinding2 = this._onigBinding;
8402
- const resultPtr = onigBinding2.findNextOnigScannerMatch(this._ptr, string.id, string.ptr, string.utf8Length, string.convertUtf16OffsetToUtf8(startPosition), options);
8403
- if (resultPtr === 0) return null;
8404
- const HEAPU32 = onigBinding2.HEAPU32;
8405
- let offset = resultPtr / 4;
8406
- const index = HEAPU32[offset++];
8407
- const count = HEAPU32[offset++];
8408
- const captureIndices = [];
8409
- for (let i = 0; i < count; i++) {
8410
- const beg = string.convertUtf8OffsetToUtf16(HEAPU32[offset++]);
8411
- const end = string.convertUtf8OffsetToUtf16(HEAPU32[offset++]);
8412
- captureIndices[i] = {
8413
- start: beg,
8414
- end,
8415
- length: end - beg
8416
- };
8417
- }
8418
- return {
8419
- index,
8420
- captureIndices
8421
- };
8422
- }
8423
- };
8424
- function isInstantiatorOptionsObject(dataOrOptions) {
8425
- return typeof dataOrOptions.instantiator === "function";
8426
- }
8427
- function isInstantiatorModule(dataOrOptions) {
8428
- return typeof dataOrOptions.default === "function";
8429
- }
8430
- function isDataOptionsObject(dataOrOptions) {
8431
- return typeof dataOrOptions.data !== "undefined";
8432
- }
8433
- function isResponse(dataOrOptions) {
8434
- return typeof Response !== "undefined" && dataOrOptions instanceof Response;
8435
- }
8436
- function isArrayBuffer(data) {
8437
- return typeof ArrayBuffer !== "undefined" && (data instanceof ArrayBuffer || ArrayBuffer.isView(data)) || typeof Buffer !== "undefined" && Buffer.isBuffer?.(data) || typeof SharedArrayBuffer !== "undefined" && data instanceof SharedArrayBuffer || typeof Uint32Array !== "undefined" && data instanceof Uint32Array;
8438
- }
8439
- var initPromise;
8440
- function loadWasm(options) {
8441
- if (initPromise) return initPromise;
8442
- async function _load() {
8443
- onigBinding = await main(async (info) => {
8444
- let instance = options;
8445
- instance = await instance;
8446
- if (typeof instance === "function") instance = await instance(info);
8447
- if (typeof instance === "function") instance = await instance(info);
8448
- if (isInstantiatorOptionsObject(instance)) instance = await instance.instantiator(info);
8449
- else if (isInstantiatorModule(instance)) instance = await instance.default(info);
8450
- else {
8451
- if (isDataOptionsObject(instance)) instance = instance.data;
8452
- if (isResponse(instance)) if (typeof WebAssembly.instantiateStreaming === "function") instance = await _makeResponseStreamingLoader(instance)(info);
8453
- else instance = await _makeResponseNonStreamingLoader(instance)(info);
8454
- else if (isArrayBuffer(instance)) instance = await _makeArrayBufferLoader(instance)(info);
8455
- else if (instance instanceof WebAssembly.Module) instance = await _makeArrayBufferLoader(instance)(info);
8456
- else if ("default" in instance && instance.default instanceof WebAssembly.Module) instance = await _makeArrayBufferLoader(instance.default)(info);
8457
- }
8458
- if ("instance" in instance) instance = instance.instance;
8459
- if ("exports" in instance) instance = instance.exports;
8460
- return instance;
8461
- });
8462
- }
8463
- initPromise = _load();
8464
- return initPromise;
8465
- }
8466
- function _makeArrayBufferLoader(data) {
8467
- return (importObject) => WebAssembly.instantiate(data, importObject);
8468
- }
8469
- function _makeResponseStreamingLoader(data) {
8470
- return (importObject) => WebAssembly.instantiateStreaming(data, importObject);
8471
- }
8472
- function _makeResponseNonStreamingLoader(data) {
8473
- return async (importObject) => {
8474
- const arrayBuffer = await data.arrayBuffer();
8475
- return WebAssembly.instantiate(arrayBuffer, importObject);
8476
- };
8477
- }
8478
- async function createOnigurumaEngine(options) {
8479
- if (options) await loadWasm(options);
8480
- return {
8481
- createScanner(patterns) {
8482
- return new OnigScanner(patterns.map((p$1) => typeof p$1 === "string" ? p$1 : p$1.source));
8483
- },
8484
- createString(s) {
8485
- return new OnigString(s);
8486
- }
8487
- };
8488
- }
8489
- var { codeToHtml, codeToHast, codeToTokens, codeToTokensBase, codeToTokensWithThemes, getSingletonHighlighter, getLastGrammarState } = /* @__PURE__ */ createSingletonShorthands(/* @__PURE__ */ createBundledHighlighter({
8490
- langs: bundledLanguages,
8491
- themes: bundledThemes,
8492
- engine: () => createOnigurumaEngine(__vitePreload(() => import("./wasm-BbgEtX7p.js"), [], import.meta.url))
8493
- }), { guessEmbeddedLanguages });
8494
- var _hoisted_1$9 = ["innerHTML"];
8495
- var _hoisted_2$8 = ["textContent"];
8496
- var CodeBlock_default = /* @__PURE__ */ defineComponent({
8497
- name: "CodeBlock",
8498
- __name: "CodeBlock",
8499
- props: {
8500
- code: {},
8501
- lang: {},
8502
- lines: {
8503
- type: Boolean,
8504
- default: true
8505
- },
8506
- inline: { type: Boolean },
8507
- grammarContextCode: {},
8508
- transformRendered: {}
8509
- },
8510
- emits: ["loaded"],
8511
- setup(__props, { emit: __emit }) {
8512
- const props = __props;
8513
- const emit = __emit;
8514
- const rendered = shallowRef({
8515
- code: "",
8516
- supported: false
8517
- });
8518
- watchEffect(async (onInvalidate) => {
8519
- let cancelled = false;
8520
- onInvalidate(() => {
8521
- cancelled = true;
8522
- });
8523
- if (!props.lang || props.lang === "text") {
8524
- rendered.value = {
8525
- code: props.code,
8526
- supported: false
8527
- };
8528
- return;
8529
- }
8530
- try {
8531
- const html$4 = await codeToHtml(props.code, {
8532
- lang: props.lang,
8533
- themes: {
8534
- dark: "vitesse-dark",
8535
- light: "vitesse-light"
8536
- }
8537
- });
8538
- if (cancelled) return;
8539
- rendered.value = {
8540
- code: props.transformRendered ? props.transformRendered(html$4) : html$4,
8541
- supported: true
8542
- };
8543
- nextTick(() => emit("loaded"));
8544
- } catch (e) {
8545
- if (!cancelled) rendered.value = {
8546
- code: props.code,
8547
- supported: false
8548
- };
8549
- }
8550
- });
8551
- const classes = computed(() => ["n-code-block shiki", props.lines && !props.inline ? "n-code-block-lines" : ""]);
8552
- return (_ctx, _cache) => {
8553
- return __props.lang && unref(rendered).supported ? (openBlock(), createElementBlock("pre", {
8554
- key: 0,
8555
- class: normalizeClass(unref(classes))
8556
- }, [createBaseVNode("code", { innerHTML: unref(rendered).code }, null, 8, _hoisted_1$9)], 2)) : (openBlock(), createElementBlock("pre", {
8557
- key: 1,
8558
- class: normalizeClass(unref(classes))
8559
- }, [createBaseVNode("code", null, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.code.split("\n"), (line, _idx) => {
8560
- return openBlock(), createElementBlock(Fragment, { key: _idx }, [createBaseVNode("span", {
8561
- class: "line",
8562
- textContent: toDisplayString(line)
8563
- }, null, 8, _hoisted_2$8), _cache[0] || (_cache[0] = createBaseVNode("br", null, null, -1))], 64);
8564
- }), 128))])], 2));
8565
- };
8566
- }
8567
- });
8568
- var _hoisted_1$8 = { class: "n-badge" };
8569
- var Badge_default = /* @__PURE__ */ defineComponent({
8570
- name: "Badge",
8571
- __name: "Badge",
8572
- setup(__props) {
8573
- return (_ctx, _cache) => {
8574
- return openBlock(), createElementBlock("span", _hoisted_1$8, [renderSlot(_ctx.$slots, "default")]);
8575
- };
8576
- }
8577
- });
8578
- const devtoolsStorageKey = { response: "__pubinfo_devtools_raw_response__" };
8579
- var _hoisted_1$7 = { class: "n-loading n-panel-grids-center" };
8580
- var _hoisted_2$7 = { class: "flex flex-col animate-pulse items-center text-lg" };
8581
- var Loading_default = /* @__PURE__ */ defineComponent({
8582
- name: "Loading",
8583
- __name: "Loading",
8584
- setup(__props) {
8585
- return (_ctx, _cache) => {
8586
- return openBlock(), createElementBlock("div", _hoisted_1$7, [createBaseVNode("div", _hoisted_2$7, [_cache[1] || (_cache[1] = createBaseVNode("div", { class: "i-carbon-circle-dash animate-spin text-4xl op50" }, null, -1)), renderSlot(_ctx.$slots, "default", {}, () => [_cache[0] || (_cache[0] = createTextVNode(" Loading... ", -1))])])]);
8587
- };
8588
- }
8589
- });
8590
- const ServerRouteTabIcons = {
8591
- snippet: "i-ph-file-code",
8592
- headers: "i-ph-file-html",
8593
- cookies: "i-ph-cookie",
8594
- params: "i-ph-cursor-text",
8595
- query: "i-ph-question",
8596
- body: "i-ph-file-text"
8597
- };
8598
- function createDefaultState() {
8599
- return {
8600
- query: [],
8601
- body: [],
8602
- headers: []
8603
- };
8604
- }
8605
- function toRecord(list) {
8606
- if (!list || !list.length) return;
8607
- const formatted = Object.fromEntries(list.filter(({ active, key: key$1, value }) => active && key$1 && value !== void 0).map(({ key: key$1, value }) => [key$1, value]));
8608
- return Object.keys(formatted).length ? formatted : void 0;
8609
- }
8610
- const useInputDefaults = createSharedComposable(() => {
8611
- const inputDefaults = useLocalStorage("pubinfo-devtools:input-defaults", createDefaultState(), { deep: true });
8612
- function getDefaults(tab) {
8613
- return inputDefaults.value[tab];
8614
- }
8615
- function setDefaults(tab, value) {
8616
- inputDefaults.value[tab] = value;
8617
- }
8618
- function resetToEmpty() {
8619
- inputDefaults.value = createDefaultState();
8620
- }
8621
- function mergeParsedWithDefaults(parsed, tab) {
8622
- const defaults = toRecord(inputDefaults.value[tab]);
8623
- if (!defaults && !parsed) return;
8624
- return {
8625
- ...defaults || {},
8626
- ...parsed || {}
8627
- };
8628
- }
8629
- return {
8630
- inputDefaults,
8631
- getDefaults,
8632
- setDefaults,
8633
- mergeParsedWithDefaults,
8634
- resetToEmpty
5926
+ var createdBundledHighlighter = createBundledHighlighter;
5927
+ function createCssVariablesTheme(options = {}) {
5928
+ const { name = "css-variables", variablePrefix = "--shiki-", fontStyle = true } = options;
5929
+ const variable = (name2) => {
5930
+ if (options.variableDefaults?.[name2]) return `var(${variablePrefix}${name2}, ${options.variableDefaults[name2]})`;
5931
+ return `var(${variablePrefix}${name2})`;
8635
5932
  };
8636
- });
8637
- function createDefaultParamInputs() {
8638
- return {
8639
- query: [{
8640
- active: true,
8641
- key: "",
8642
- value: "",
8643
- type: "string"
8644
- }],
8645
- body: [{
8646
- active: true,
8647
- key: "",
8648
- value: "",
8649
- type: "string"
8650
- }],
8651
- headers: [{
8652
- active: true,
8653
- key: "Content-Type",
8654
- value: "application/json",
8655
- type: "string"
8656
- }]
8657
- };
8658
- }
8659
- function getInputTypeFromSchema(schemaType) {
8660
- switch (schemaType) {
8661
- case "integer":
8662
- case "number": return "number";
8663
- case "boolean": return "boolean";
8664
- case "string":
8665
- default: return "string";
8666
- }
8667
- }
8668
- function parseInputs(inputs = []) {
8669
- const formatted = Object.fromEntries(inputs.filter(({ active, key: key$1, value }) => active && key$1 && value !== void 0).map(({ key: key$1, value }) => [key$1, value]));
8670
- return Object.entries(formatted).length ? formatted : void 0;
8671
- }
8672
- function useServerRouteParams(route, options = {}) {
8673
- const paramInputs = ref(createDefaultParamInputs());
8674
- const activeTab = ref();
8675
- const { mergeParsedWithDefaults } = useInputDefaults();
8676
- const currentTabInputs = computed({
8677
- get: () => {
8678
- const tab = activeTab.value;
8679
- if (!tab || !(tab in paramInputs.value)) return [];
8680
- return paramInputs.value[tab] || [];
5933
+ const theme = {
5934
+ name,
5935
+ type: "dark",
5936
+ colors: {
5937
+ "editor.foreground": variable("foreground"),
5938
+ "editor.background": variable("background"),
5939
+ "terminal.ansiBlack": variable("ansi-black"),
5940
+ "terminal.ansiRed": variable("ansi-red"),
5941
+ "terminal.ansiGreen": variable("ansi-green"),
5942
+ "terminal.ansiYellow": variable("ansi-yellow"),
5943
+ "terminal.ansiBlue": variable("ansi-blue"),
5944
+ "terminal.ansiMagenta": variable("ansi-magenta"),
5945
+ "terminal.ansiCyan": variable("ansi-cyan"),
5946
+ "terminal.ansiWhite": variable("ansi-white"),
5947
+ "terminal.ansiBrightBlack": variable("ansi-bright-black"),
5948
+ "terminal.ansiBrightRed": variable("ansi-bright-red"),
5949
+ "terminal.ansiBrightGreen": variable("ansi-bright-green"),
5950
+ "terminal.ansiBrightYellow": variable("ansi-bright-yellow"),
5951
+ "terminal.ansiBrightBlue": variable("ansi-bright-blue"),
5952
+ "terminal.ansiBrightMagenta": variable("ansi-bright-magenta"),
5953
+ "terminal.ansiBrightCyan": variable("ansi-bright-cyan"),
5954
+ "terminal.ansiBrightWhite": variable("ansi-bright-white")
8681
5955
  },
8682
- set: (value) => {
8683
- const tab = activeTab.value;
8684
- if (tab && tab in paramInputs.value) paramInputs.value[tab] = value;
8685
- }
8686
- });
8687
- const parsedQuery = computed(() => mergeParsedWithDefaults(parseInputs(paramInputs.value.query), "query"));
8688
- const parsedHeader = computed(() => mergeParsedWithDefaults(parseInputs(paramInputs.value.headers), "headers"));
8689
- const parsedBody = computed(() => {
8690
- if (options.hasBody && !options.hasBody.value) return;
8691
- return mergeParsedWithDefaults(parseInputs(paramInputs.value.body), "body");
8692
- });
8693
- const finalPath = computed(() => {
8694
- const routePath = route.value.route;
8695
- const query = parsedQuery.value;
8696
- if (!query) return routePath;
8697
- const search = new URLSearchParams(query).toString();
8698
- return search ? `${routePath}?${search}` : routePath;
8699
- });
8700
- function ensureActiveTab() {
8701
- if (!activeTab.value) activeTab.value = route.value.paramLocation === "body" ? "body" : "query";
8702
- }
8703
- function initializeParamsFromSchema() {
8704
- ensureActiveTab();
8705
- const properties = route.value.paramSchema?.properties;
8706
- if (properties) {
8707
- const targetCategory$1 = (route.value.paramLocation || "query") === "body" ? "body" : "query";
8708
- const existingInputsMap = new Map(paramInputs.value[targetCategory$1].map((input) => [input.key, input]));
8709
- const newInputs = [];
8710
- Object.keys(properties).forEach((key$1) => {
8711
- const prop = properties[key$1];
8712
- const existing = existingInputsMap.get(key$1);
8713
- if (existing) newInputs.push({
8714
- ...existing,
8715
- type: getInputTypeFromSchema(prop.type),
8716
- fromSchema: true
8717
- });
8718
- else newInputs.push({
8719
- active: true,
8720
- key: key$1,
8721
- value: "",
8722
- type: getInputTypeFromSchema(prop.type),
8723
- fromSchema: true
8724
- });
8725
- });
8726
- const userInputs = paramInputs.value[targetCategory$1].filter((input) => !input.fromSchema);
8727
- paramInputs.value[targetCategory$1] = [...newInputs, ...userInputs];
8728
- return;
8729
- }
8730
- const targetCategory = (route.value.paramLocation || "query") === "body" ? "body" : "query";
8731
- if (paramInputs.value[targetCategory].length === 0) paramInputs.value[targetCategory] = [{
8732
- active: true,
8733
- key: "",
8734
- value: "",
8735
- type: "string"
8736
- }];
8737
- }
8738
- function resetParamInputs() {
8739
- paramInputs.value = createDefaultParamInputs();
8740
- }
8741
- function syncParamsForRoute() {
8742
- resetParamInputs();
8743
- activeTab.value = route.value.paramLocation === "body" ? "body" : "query";
8744
- initializeParamsFromSchema();
8745
- }
8746
- watch(route, () => {
8747
- syncParamsForRoute();
8748
- }, { immediate: true });
8749
- return {
8750
- paramInputs,
8751
- activeTab,
8752
- currentTabInputs,
8753
- parsedQuery,
8754
- parsedHeader,
8755
- parsedBody,
8756
- finalPath,
8757
- initializeParamsFromSchema,
8758
- resetParamInputs
8759
- };
8760
- }
8761
- var methodNameMap = {
8762
- GET: "Get",
8763
- POST: "Post",
8764
- PUT: "Put",
8765
- PATCH: "Patch",
8766
- DELETE: "Delete",
8767
- HEAD: "Head"
8768
- };
8769
- function normalizeResolvedModulePath(path) {
8770
- if (!path) return;
8771
- if (path.startsWith("/")) return path;
8772
- return `/${path}`;
8773
- }
8774
- var MESSAGE_REQUEST_TYPE = "pubinfo:devtools-request";
8775
- var MESSAGE_RESPONSE_TYPE = "pubinfo:devtools-response";
8776
- var pendingHostRequests = /* @__PURE__ */ new Map();
8777
- var messageBridgeInitialised = false;
8778
- function buildModuleSpecifierCandidates(route) {
8779
- const candidates = [];
8780
- const resolvedPath = normalizeResolvedModulePath(route.requestModuleResolvedPath);
8781
- if (resolvedPath) candidates.push(resolvedPath);
8782
- if (route.requestModulePath) candidates.push(route.requestModulePath);
8783
- return candidates.filter(Boolean).filter((value, index, self) => self.indexOf(value) === index);
8784
- }
8785
- function handleHostResponse(event) {
8786
- const data = event.data;
8787
- if (!data || data.type !== MESSAGE_RESPONSE_TYPE || !data.id) return;
8788
- const pending = pendingHostRequests.get(data.id);
8789
- if (!pending) return;
8790
- pendingHostRequests.delete(data.id);
8791
- window.clearTimeout(pending.timer);
8792
- pending.resolve({
8793
- success: Boolean(data.success),
8794
- result: data.result,
8795
- error: data.error
8796
- });
8797
- }
8798
- function ensureMessageBridge() {
8799
- if (typeof window === "undefined" || messageBridgeInitialised) return;
8800
- window.addEventListener("message", handleHostResponse);
8801
- messageBridgeInitialised = true;
8802
- }
8803
- function resolveHostTargets() {
8804
- if (typeof window === "undefined") return [];
8805
- const targets = /* @__PURE__ */ new Set();
8806
- const { parent, opener, top } = window;
8807
- if (parent && parent !== window) targets.add(parent);
8808
- if (opener && opener !== window) targets.add(opener);
8809
- if (top && top !== window) targets.add(top);
8810
- return Array.from(targets);
8811
- }
8812
- async function sendRequestThroughHost(payload) {
8813
- if (typeof window === "undefined") throw new TypeError("Devtools 仅在浏览器环境可用,请在浏览器中使用调试面板。");
8814
- ensureMessageBridge();
8815
- const targets = resolveHostTargets();
8816
- if (!targets.length) throw new TypeError("未找到可通信的宿主应用窗口,请确认 Devtools 以 iframe 方式嵌入到应用中。");
8817
- const id = `pubinfo-request-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
8818
- return new Promise((resolve, reject) => {
8819
- const timer = window.setTimeout(() => {
8820
- pendingHostRequests.delete(id);
8821
- reject(/* @__PURE__ */ new TypeError("等待应用响应超时,请确认应用仍在运行。"));
8822
- }, 15e3);
8823
- pendingHostRequests.set(id, {
8824
- resolve: (message) => {
8825
- window.clearTimeout(timer);
8826
- resolve(message);
5956
+ tokenColors: [
5957
+ {
5958
+ scope: [
5959
+ "keyword.operator.accessor",
5960
+ "meta.group.braces.round.function.arguments",
5961
+ "meta.template.expression",
5962
+ "markup.fenced_code meta.embedded.block"
5963
+ ],
5964
+ settings: { foreground: variable("foreground") }
8827
5965
  },
8828
- reject: (error) => {
8829
- window.clearTimeout(timer);
8830
- pendingHostRequests.delete(id);
8831
- reject(error);
5966
+ {
5967
+ scope: "emphasis",
5968
+ settings: { fontStyle: "italic" }
8832
5969
  },
8833
- timer
8834
- });
8835
- try {
8836
- const message = {
8837
- type: MESSAGE_REQUEST_TYPE,
8838
- id,
8839
- payload
8840
- };
8841
- const origin = window.location?.origin ?? "*";
8842
- targets.forEach((target) => {
8843
- try {
8844
- target.postMessage(message, origin);
8845
- } catch {
8846
- target.postMessage(message, "*");
5970
+ {
5971
+ scope: [
5972
+ "strong",
5973
+ "markup.heading.markdown",
5974
+ "markup.bold.markdown"
5975
+ ],
5976
+ settings: { fontStyle: "bold" }
5977
+ },
5978
+ {
5979
+ scope: ["markup.italic.markdown"],
5980
+ settings: { fontStyle: "italic" }
5981
+ },
5982
+ {
5983
+ scope: "meta.link.inline.markdown",
5984
+ settings: {
5985
+ fontStyle: "underline",
5986
+ foreground: variable("token-link")
8847
5987
  }
8848
- });
8849
- } catch (error) {
8850
- window.clearTimeout(timer);
8851
- pendingHostRequests.delete(id);
8852
- reject(error instanceof Error ? error : new Error(String(error)));
8853
- }
8854
- });
8855
- }
8856
- function toPlainObject(payload) {
8857
- if (payload === void 0 || payload === null) return payload;
8858
- try {
8859
- return JSON.parse(JSON.stringify(payload));
8860
- } catch {
8861
- return payload;
8862
- }
8863
- }
8864
- function isHttpLike(payload) {
8865
- return payload && typeof payload === "object" && ("status" in payload || "headers" in payload);
8866
- }
8867
- function useServerRouteRequest({ route, routeMethod, parsedQuery, parsedBody, parsedHeader, cookie, storageKey = devtoolsStorageKey.response }) {
8868
- const fetching = ref(false);
8869
- const hasSentRequest = ref(false);
8870
- const storedResponse = storageKey ? useLocalStorage(storageKey, {}) : ref({});
8871
- const storedSnapshot = computed(() => {
8872
- const candidate = storedResponse.value;
8873
- if (candidate && typeof candidate === "object" && Object.keys(candidate).length > 0) return candidate;
8874
- });
8875
- const response = ref(storedSnapshot.value ? toPlainObject(storedSnapshot.value) : void 0);
8876
- const lastSentAt = ref(null);
8877
- function resetRequestState(clearPersisted = true) {
8878
- fetching.value = false;
8879
- hasSentRequest.value = false;
8880
- response.value = void 0;
8881
- lastSentAt.value = null;
8882
- if (storageKey && clearPersisted) storedResponse.value = {};
8883
- }
8884
- let initialized = false;
8885
- watch(route, () => {
8886
- if (!initialized) {
8887
- initialized = true;
8888
- return;
8889
- }
8890
- resetRequestState();
8891
- }, { immediate: true });
8892
- watch(response, (value) => {
8893
- if (!storageKey) return;
8894
- if (isHttpLike(value)) {
8895
- storedResponse.value = toPlainObject(value);
8896
- return;
8897
- }
8898
- if (!storedSnapshot.value && value !== void 0) storedResponse.value = toPlainObject(value);
8899
- });
8900
- function buildRequestConfig() {
8901
- const headers = parsedHeader.value ? { ...parsedHeader.value } : {};
8902
- headers.__devtools__ = headers.__devtools__ ?? "true";
8903
- const cookieState = cookie.value;
8904
- if (cookieState.key && cookieState.value) {
8905
- const cookieString = `${cookieState.key}=${cookieState.value}`;
8906
- headers.Cookie = headers.Cookie ? `${headers.Cookie}; ${cookieString}` : cookieString;
8907
- }
8908
- const query = parsedQuery.value ? { ...parsedQuery.value } : void 0;
8909
- const config = {
8910
- headers,
8911
- meta: { __devtools__: true }
8912
- };
8913
- if (query && Object.keys(query).length > 0) config.params = query;
8914
- return config;
8915
- }
8916
- async function sendRequestViaApp() {
8917
- const method = routeMethod.value.toUpperCase();
8918
- if (!methodNameMap[method]) throw new Error(`不支持的请求方法:${method}`);
8919
- const config = buildRequestConfig();
8920
- const payload = parsedBody.value ? { ...parsedBody.value } : void 0;
8921
- const args = [route.value.route];
8922
- if ([
8923
- "POST",
8924
- "PUT",
8925
- "PATCH",
8926
- "DELETE"
8927
- ].includes(method)) {
8928
- args.push(payload);
8929
- args.push(config);
8930
- } else args.push(config);
8931
- const moduleCandidates = buildModuleSpecifierCandidates(route.value);
8932
- if (!moduleCandidates.length) throw new Error("未能解析请求模块路径,请确认 API 扫描结果包含 requestModulePath。");
8933
- const hostResponse = await sendRequestThroughHost({
8934
- moduleCandidates,
8935
- exportName: route.value.requestClient,
8936
- method,
8937
- args
8938
- });
8939
- if (!hostResponse.success) {
8940
- const error = new Error(hostResponse.error?.message ?? "应用执行请求失败");
8941
- if (hostResponse.error?.stack) error.stack = hostResponse.error.stack;
8942
- throw error;
8943
- }
8944
- return hostResponse.result;
8945
- }
8946
- async function sendRequest() {
8947
- const startTime = Date.now();
8948
- if (fetching.value) return;
8949
- hasSentRequest.value = true;
8950
- fetching.value = true;
8951
- response.value = void 0;
8952
- try {
8953
- response.value = toPlainObject(await sendRequestViaApp());
8954
- lastSentAt.value = Date.now();
8955
- } catch (error) {
8956
- const axiosResponse = error && typeof error === "object" && "response" in error ? error.response : void 0;
8957
- if (axiosResponse) {
8958
- response.value = toPlainObject(axiosResponse);
8959
- lastSentAt.value = Date.now();
8960
- } else if (error && typeof error === "object" && !(error instanceof Error)) {
8961
- response.value = toPlainObject(error);
8962
- lastSentAt.value = Date.now();
8963
- } else {
8964
- response.value = toPlainObject({
8965
- error: true,
8966
- message: error instanceof Error ? error.message : String(error)
8967
- });
8968
- lastSentAt.value = Date.now();
8969
- }
8970
- } finally {
8971
- fetching.value = false;
8972
- const duration = Date.now() - startTime;
8973
- if (response.value && typeof response.value === "object") response.value = {
8974
- ...response.value,
8975
- duration
8976
- };
8977
- else if (response.value !== void 0) response.value = {
8978
- data: response.value,
8979
- duration
8980
- };
8981
- else response.value = { duration };
8982
- }
8983
- }
8984
- const httpResponse = computed(() => {
8985
- if (isHttpLike(response.value)) return response.value;
8986
- const snapshot = storedSnapshot.value;
8987
- return snapshot && isHttpLike(snapshot) ? snapshot : void 0;
8988
- });
8989
- const businessPayload = computed(() => {
8990
- if (httpResponse.value && "data" in httpResponse.value) return httpResponse.value.data;
8991
- if (isHttpLike(response.value) && "data" in response.value) return response.value.data;
8992
- if (response.value !== void 0) {
8993
- if (response.value && typeof response.value === "object" && "data" in response.value) return response.value.data;
8994
- return response.value;
8995
- }
8996
- const snapshot = storedSnapshot.value;
8997
- if (snapshot && typeof snapshot === "object" && "data" in snapshot) return snapshot.data;
8998
- return snapshot;
8999
- });
9000
- const responseStatus = computed(() => httpResponse.value?.status);
9001
- const responseSuccess = computed(() => {
9002
- const data = businessPayload.value;
9003
- if (data && typeof data.success === "boolean") return data.success;
9004
- const status = responseStatus.value;
9005
- return typeof status === "number" ? status < 400 : void 0;
9006
- });
9007
- const responseMessage = computed(() => {
9008
- const payload = businessPayload.value;
9009
- if (payload && typeof payload === "object") {
9010
- const target = payload;
9011
- return target.hint ?? target.message ?? target.msg ?? (target.data && typeof target.data === "object" && target.data.hint) ?? (target.data && typeof target.data === "object" && target.data.message) ?? (target.data && typeof target.data === "object" && target.data.msg) ?? target.statusText ?? httpResponse.value?.statusText ?? "";
9012
- }
9013
- if (typeof payload === "string") return payload;
9014
- return httpResponse.value?.statusText ?? "";
9015
- });
9016
- const responsePreview = computed(() => {
9017
- const target = httpResponse.value ?? response.value ?? storedSnapshot.value;
9018
- if (!target) return "";
9019
- return JSON.stringify(target, null, 2);
9020
- });
9021
- const responseLang = computed(() => {
9022
- const contentType = (httpResponse.value?.headers ?? storedSnapshot.value?.headers ?? response.value?.headers ?? {})?.["content-type"] || "";
9023
- if (contentType.includes("application/json")) return "json";
9024
- if (contentType.includes("text/html")) return "html";
9025
- if (contentType.includes("text/css")) return "css";
9026
- if (contentType.includes("text/javascript")) return "javascript";
9027
- if (contentType.includes("image") || contentType.includes("video")) return "media";
9028
- if (contentType.includes("text/xml") || contentType.includes("application/xml")) return "xml";
9029
- if (contentType.includes("application/pdf")) return "pdf";
9030
- try {
9031
- const raw$1 = httpResponse.value ?? response.value ?? storedSnapshot.value;
9032
- const payload = raw$1 && typeof raw$1 === "object" && "data" in raw$1 && ("status" in raw$1 || "headers" in raw$1) ? raw$1.data : raw$1;
9033
- if (payload && typeof payload === "object") return "json";
9034
- } catch {}
9035
- return "text";
9036
- });
9037
- return {
9038
- fetching,
9039
- hasSentRequest,
9040
- response,
9041
- lastSentAt,
9042
- sendRequest,
9043
- responseStatus,
9044
- responseSuccess,
9045
- responseMessage,
9046
- responsePreview,
9047
- responseLang,
9048
- responseContent: computed(() => {
9049
- if (!response.value && !httpResponse.value && !storedSnapshot.value) return "";
9050
- const data = businessPayload.value;
9051
- if (responseLang.value === "json") try {
9052
- return JSON.stringify(data ?? "", null, 2);
9053
- } catch {
9054
- return String(data);
9055
- }
9056
- if ((responseLang.value === "media" || responseLang.value === "pdf") && typeof Blob !== "undefined") try {
9057
- const headersSource = httpResponse.value?.headers ?? storedSnapshot.value?.headers ?? response.value?.headers ?? {};
9058
- const blob = data instanceof Blob ? data : new Blob([data], { type: headersSource?.["content-type"] });
9059
- return URL.createObjectURL(blob);
9060
- } catch {
9061
- return "";
9062
- }
9063
- try {
9064
- if (data == null) return "";
9065
- if (typeof data === "string") return data;
9066
- if (typeof ArrayBuffer !== "undefined" && data instanceof ArrayBuffer) try {
9067
- return new TextDecoder().decode(new Uint8Array(data));
9068
- } catch {}
9069
- if (typeof Uint8Array !== "undefined" && data instanceof Uint8Array) try {
9070
- return new TextDecoder().decode(data);
9071
- } catch {}
9072
- return JSON.stringify(data, null, 2);
9073
- } catch {
9074
- return String(data);
9075
- }
9076
- }),
9077
- resetRequestState,
9078
- storedResponse
9079
- };
9080
- }
9081
- function useServerRouteSnippets({ route, routeMethod, parsedQuery, parsedBody, parsedHeader }) {
9082
- return computed(() => {
9083
- const snippets = [];
9084
- const routeInfo = route.value;
9085
- if (routeInfo.name && routeInfo.filepath) {
9086
- const args = [];
9087
- const method = routeMethod.value.toUpperCase();
9088
- const query = parsedQuery.value;
9089
- const body$2 = parsedBody.value;
9090
- const headers = parsedHeader.value;
9091
- const hasQuery = query && Object.keys(query).length > 0;
9092
- const hasBody = body$2 && Object.keys(body$2).length > 0;
9093
- const hasCustomHeaders = headers && Object.entries(headers).some(([key$1, value]) => !(key$1 === "Content-Type" && value === "application/json"));
9094
- if (method === "GET" && hasQuery) args.push(JSON.stringify(query, null, 2));
9095
- if ([
9096
- "POST",
9097
- "PUT",
9098
- "PATCH",
9099
- "DELETE"
9100
- ].includes(method)) {
9101
- if (hasQuery && !hasBody) args.push(JSON.stringify(query, null, 2));
9102
- else if (hasBody) args.push(JSON.stringify(body$2, null, 2));
9103
- }
9104
- if (hasCustomHeaders && headers) {
9105
- const customHeaders = Object.fromEntries(Object.entries(headers).filter(([key$1, value]) => !(key$1 === "Content-Type" && value === "application/json")));
9106
- const headersStr = JSON.stringify({ headers: customHeaders }, null, 2).split("\n").map((line, i) => i === 0 ? line : ` ${line}`).join("\n");
9107
- args.push(headersStr);
9108
- }
9109
- const argsStr = args.length > 0 ? `\n ${args.join(",\n ").split("\n").join("\n ")},\n` : "";
9110
- snippets.push({
9111
- name: routeInfo.name,
9112
- lang: "typescript",
9113
- code: `import { ${routeInfo.name} } from '${routeInfo.filepath}';
9114
-
9115
- const { data } = await ${routeInfo.name}(${argsStr});`,
9116
- filepath: routeInfo.filepath
9117
- });
9118
- }
9119
- return snippets;
9120
- });
9121
- }
9122
- var requestMethodClass = {
9123
- get: "n-green",
9124
- post: "n-blue",
9125
- put: "n-orange",
9126
- delete: "n-red",
9127
- patch: "n-purple",
9128
- head: "n-teal",
9129
- default: "n-gray"
9130
- };
9131
- function getRequestMethodClass(method) {
9132
- return requestMethodClass[method.toLowerCase()] || requestMethodClass.default;
9133
- }
9134
- var _hoisted_1$6 = { class: "flex flex-col" };
9135
- var _hoisted_2$6 = { class: "flex-1 overflow-auto relative" };
9136
- var _hoisted_3$4 = { class: "absolute top-0 right-0 z-10" };
9137
- var _hoisted_4$2 = ["innerHTML"];
9138
- var CodeSnippets_default = /* @__PURE__ */ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
9139
- __name: "CodeSnippets",
9140
- props: { codeSnippets: {} },
9141
- setup(__props) {
9142
- const props = __props;
9143
- const activeSnippet = ref(0);
9144
- const highlightedCode = ref("");
9145
- const copying = ref(false);
9146
- const currentSnippet = computed(() => props.codeSnippets[activeSnippet.value]);
9147
- const processedCode = computed(() => {
9148
- if (!currentSnippet.value) return "";
9149
- let code = currentSnippet.value.code;
9150
- if (currentSnippet.value.filepath) {
9151
- let importPath = currentSnippet.value.filepath;
9152
- importPath = importPath.replace(/\.ts$/, "");
9153
- if (importPath.includes("/src/")) importPath = importPath.replace(/.*\/src\//, "@/");
9154
- else if (importPath.startsWith("src/")) importPath = importPath.replace(/^src\//, "@/");
9155
- code = code.replaceAll(currentSnippet.value.filepath, importPath);
9156
- }
9157
- return code;
9158
- });
9159
- async function highlightCode() {
9160
- if (!currentSnippet.value) return;
9161
- try {
9162
- highlightedCode.value = await codeToHtml(processedCode.value, {
9163
- lang: currentSnippet.value.lang,
9164
- themes: {
9165
- dark: "vitesse-black",
9166
- light: "vitesse-light"
9167
- }
9168
- });
9169
- } catch (error) {
9170
- console.error("Failed to highlight code:", error);
9171
- highlightedCode.value = `<pre><code>${processedCode.value}</code></pre>`;
9172
- }
9173
- }
9174
- async function copyCode() {
9175
- if (!currentSnippet.value) return;
9176
- try {
9177
- await navigator.clipboard.writeText(processedCode.value);
9178
- copying.value = true;
9179
- setTimeout(() => {
9180
- copying.value = false;
9181
- }, 2e3);
9182
- } catch (error) {
9183
- console.error("Failed to copy code:", error);
9184
- }
9185
- }
9186
- watch([currentSnippet], highlightCode, { immediate: true });
9187
- return (_ctx, _cache) => {
9188
- const _directive_tooltip = resolveDirective("tooltip");
9189
- return openBlock(), createElementBlock("div", _hoisted_1$6, [createBaseVNode("div", _hoisted_2$6, [createBaseVNode("div", _hoisted_3$4, [withDirectives((openBlock(), createBlock(unref(Button_default), {
9190
- class: normalizeClass([copying.value ? "n-green" : "n-primary", "px-3 py-1.5"]),
9191
- onClick: copyCode
9192
- }, {
9193
- default: withCtx(() => [createVNode(Icon_default, { icon: copying.value ? "i-ph-check" : "i-ph-copy" }, null, 8, ["icon"])]),
9194
- _: 1
9195
- }, 8, ["class"])), [[_directive_tooltip, copying.value ? "已复制!" : "复制代码"]])]), createBaseVNode("div", {
9196
- class: "code-container",
9197
- innerHTML: highlightedCode.value
9198
- }, null, 8, _hoisted_4$2)])]);
9199
- };
9200
- }
9201
- }), [["__scopeId", "data-v-95e68c85"]]);
9202
- var _hoisted_1$5 = ["checked", "disabled"];
9203
- var _hoisted_2$5 = ["disabled"];
9204
- var _hoisted_3$3 = { class: "n-checkbox-box n-transition n-checked:n-checkbox-box-checked peer-active:n-active-base peer-focus-visible:n-focus-base" };
9205
- var Checkbox_default = /* @__PURE__ */ defineComponent({
9206
- __name: "Checkbox",
9207
- props: {
9208
- modelValue: {
9209
- type: [Boolean, null],
9210
- default: false
9211
- },
9212
- disabled: {
9213
- type: Boolean,
9214
- default: false
9215
- }
9216
- },
9217
- setup(__props, { emit: __emit }) {
9218
- const checked = useVModel(__props, "modelValue", __emit, { passive: true });
9219
- return (_ctx, _cache) => {
9220
- return openBlock(), createElementBlock("label", {
9221
- class: "n-checkbox select-none items-center hover:n-checkbox-hover n-disabled:n-disabled",
9222
- checked: unref(checked) || null,
9223
- disabled: __props.disabled || null
9224
- }, [
9225
- withDirectives(createBaseVNode("input", {
9226
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(checked) ? checked.value = $event : null),
9227
- type: "checkbox",
9228
- class: "peer absolute op0",
9229
- disabled: __props.disabled,
9230
- onKeypress: _cache[1] || (_cache[1] = withKeys(($event) => checked.value = !unref(checked), ["enter"]))
9231
- }, null, 40, _hoisted_2$5), [[vModelCheckbox, unref(checked)]]),
9232
- createBaseVNode("span", _hoisted_3$3, [createVNode(Icon_default, { class: "n-checkbox-icon scale-0 transform op0 n-transition n-checked:scale-100 n-checked:op100" })]),
9233
- createBaseVNode("span", { class: normalizeClass([unref(checked) ? "" : "op50", "n-transition"]) }, [renderSlot(_ctx.$slots, "default")], 2)
9234
- ], 8, _hoisted_1$5);
9235
- };
9236
- }
9237
- });
9238
- var _hoisted_1$4 = ["disabled"];
9239
- var _hoisted_2$4 = {
9240
- key: 0,
9241
- value: "",
9242
- disabled: "",
9243
- hidden: ""
9244
- };
9245
- var Select_default = /* @__PURE__ */ defineComponent({
9246
- __name: "Select",
9247
- props: {
9248
- modelValue: { default: void 0 },
9249
- placeholder: { default: "" },
9250
- icon: { default: "" },
9251
- disabled: {
9252
- type: Boolean,
9253
- default: false
9254
- }
9255
- },
9256
- setup(__props, { emit: __emit }) {
9257
- const input = useVModel(__props, "modelValue", __emit, { passive: true });
9258
- return (_ctx, _cache) => {
9259
- const _component_NIcon = resolveComponent("NIcon");
9260
- return openBlock(), createElementBlock("div", { class: normalizeClass(["n-select flex flex items-center border rounded n-bg-base px-2 py-1 focus-within:border-context focus-within:n-focus-base", __props.disabled ? "border-gray:10" : "n-border-base"]) }, [renderSlot(_ctx.$slots, "icon", {}, () => [__props.icon ? (openBlock(), createBlock(_component_NIcon, {
9261
- key: 0,
9262
- icon: __props.icon,
9263
- class: "mr-0.4em text-1.1em op50"
9264
- }, null, 8, ["icon"])) : createCommentVNode("", true)]), withDirectives(createBaseVNode("select", {
9265
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(input) ? input.value = $event : null),
9266
- disabled: __props.disabled,
9267
- class: normalizeClass(["w-full flex-auto n-bg-base !outline-none", __props.disabled ? "appearance-none" : "cursor-pointer"])
9268
- }, [__props.placeholder ? (openBlock(), createElementBlock("option", _hoisted_2$4, toDisplayString(__props.placeholder), 1)) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$4), [[vModelSelect, unref(input)]])], 2);
9269
- };
9270
- }
9271
- });
9272
- var _hoisted_1$3 = { class: "flex flex-col gap-4 p-4" };
9273
- var _hoisted_2$3 = {
9274
- key: 1,
9275
- class: "ml-2 flex"
9276
- };
9277
- var _hoisted_3$2 = ["value"];
9278
- var _hoisted_4$1 = {
9279
- key: 1,
9280
- class: "w-10 flex items-center justify-center op-30",
9281
- title: "接口定义的参数不可删除"
9282
- };
9283
- var _hoisted_5$1 = {
9284
- key: 0,
9285
- flex: "",
9286
- "gap-4": ""
9287
- };
9288
- var ServerRouteInput_default = /* @__PURE__ */ defineComponent({
9289
- __name: "ServerRouteInput",
9290
- props: {
9291
- modelValue: {},
9292
- keys: { default: () => [] },
9293
- default: { default: () => ({}) },
9294
- disabled: {
9295
- type: Boolean,
9296
- default: false
9297
- }
9298
- },
9299
- setup(__props, { emit: __emit }) {
9300
- const props = __props;
9301
- const params = useVModel(props, "modelValue", __emit, { passive: true });
9302
- const filteredKeys = computed(() => {
9303
- return [
9304
- ...props.keys,
9305
- "active",
9306
- "key",
9307
- "value",
9308
- "type"
9309
- ];
9310
- });
9311
- const keysObject = computed(() => {
9312
- const obj = {};
9313
- for (const key$1 of filteredKeys.value) obj[key$1] = props.default[key$1] || "";
9314
- return obj;
9315
- });
9316
- const inputTypes = [
9317
- "string",
9318
- "number",
9319
- "boolean",
9320
- "file",
9321
- "date",
9322
- "time",
9323
- "datetime-local"
9324
- ];
9325
- function onFileInputChange(index, event) {
9326
- const target = event.target;
9327
- if (target.files && target.files[0]) {
9328
- const file = target.files[0];
9329
- const reader = new FileReader();
9330
- reader.readAsDataURL(file);
9331
- reader.onload = () => {
9332
- params.value[index].value = reader.result;
9333
- };
9334
- }
9335
- }
9336
- function clearUserAdded() {
9337
- const list = params.value;
9338
- for (let i = list.length - 1; i >= 0; i--) if (!list[i]?.fromSchema) list.splice(i, 1);
9339
- }
9340
- const hasDeletable = computed(() => params.value?.some((i) => !i?.fromSchema));
9341
- watch(() => params, (items) => {
9342
- items.value.forEach((item) => {
9343
- if (item.value === void 0 || item.value === null) return;
9344
- if (item.type === "number") {
9345
- if (typeof item.value !== "number") {
9346
- const parsed = Number.parseFloat(item.value);
9347
- item.value = Number.isNaN(parsed) ? void 0 : parsed;
9348
- }
9349
- } else if (item.type === "boolean") {
9350
- if (typeof item.value !== "boolean") item.value = void 0;
9351
- } else if (item.type === "file") {
9352
- if (typeof item.value !== "string") item.value = void 0;
9353
- } else if (item.type === "date") {
9354
- if (typeof item.value === "string" && !item.value.match(/^\d{4}-\d{2}-\d{2}$/)) item.value = void 0;
9355
- } else if (item.type === "time") {
9356
- if (typeof item.value === "string" && !item.value.match(/^\d{2}:\d{2}$/)) item.value = void 0;
9357
- } else if (item.type === "datetime-local") {
9358
- if (typeof item.value === "string" && !item.value.match(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}$/)) item.value = void 0;
9359
- } else if (item.type === "string") item.value = String(item.value);
9360
- });
9361
- }, {
9362
- deep: true,
9363
- immediate: true,
9364
- flush: "sync"
9365
- });
9366
- return (_ctx, _cache) => {
9367
- return openBlock(), createElementBlock("div", _hoisted_1$3, [
9368
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref(params), (item, index) => {
9369
- return openBlock(), createElementBlock("div", {
9370
- key: index,
9371
- class: "flex gap-2 justify-around"
9372
- }, [
9373
- renderSlot(_ctx.$slots, "input", { item }),
9374
- (openBlock(true), createElementBlock(Fragment, null, renderList(filteredKeys.value, (key$1) => {
9375
- return openBlock(), createElementBlock(Fragment, { key: key$1 }, [item.type !== null && key$1 === "active" ? (openBlock(), createBlock(Checkbox_default, {
9376
- key: 0,
9377
- modelValue: item[key$1],
9378
- "onUpdate:modelValue": ($event) => item[key$1] = $event,
9379
- class: "n-sm n-primary",
9380
- disabled: __props.disabled
9381
- }, null, 8, [
9382
- "modelValue",
9383
- "onUpdate:modelValue",
9384
- "disabled"
9385
- ])) : createCommentVNode("", true), item.type !== null && key$1 === "key" ? (openBlock(), createBlock(TextInput_default, {
9386
- key: 1,
9387
- modelValue: item[key$1],
9388
- "onUpdate:modelValue": ($event) => item[key$1] = $event,
9389
- placeholder: key$1,
9390
- class: normalizeClass(["flex-1 font-mono n-sm n-primary", __props.disabled || item.fromSchema ? "op50" : ""]),
9391
- disabled: __props.disabled || item.fromSchema
9392
- }, null, 8, [
9393
- "modelValue",
9394
- "onUpdate:modelValue",
9395
- "placeholder",
9396
- "disabled",
9397
- "class"
9398
- ])) : key$1 === "value" ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [item.type === "file" ? (openBlock(), createBlock(TextInput_default, {
9399
- key: item.value === void 0 ? `file-empty-${index}` : `file-has-${index}`,
9400
- type: "file",
9401
- disabled: __props.disabled,
9402
- class: normalizeClass(__props.disabled ? "op75" : ""),
9403
- onChange: ($event) => onFileInputChange(index, $event)
9404
- }, null, 8, [
9405
- "disabled",
9406
- "class",
9407
- "onChange"
9408
- ])) : item.type === "boolean" ? (openBlock(), createElementBlock("div", _hoisted_2$3, [createVNode(Checkbox_default, {
9409
- modelValue: item.value,
9410
- "onUpdate:modelValue": ($event) => item.value = $event,
9411
- placeholder: "Value",
9412
- class: "n-green n-lg",
9413
- disabled: __props.disabled
9414
- }, null, 8, [
9415
- "modelValue",
9416
- "onUpdate:modelValue",
9417
- "disabled"
9418
- ])])) : (openBlock(), createBlock(TextInput_default, {
9419
- key: 2,
9420
- modelValue: item.value,
9421
- "onUpdate:modelValue": ($event) => item.value = $event,
9422
- type: item.type,
9423
- placeholder: "Value",
9424
- class: normalizeClass(["flex-1 font-mono n-sm n-primary", __props.disabled ? "op75" : ""]),
9425
- disabled: __props.disabled
9426
- }, null, 8, [
9427
- "modelValue",
9428
- "onUpdate:modelValue",
9429
- "type",
9430
- "disabled",
9431
- "class"
9432
- ]))], 64)) : key$1 === "type" ? (openBlock(), createBlock(Select_default, {
9433
- key: 3,
9434
- modelValue: item.type,
9435
- "onUpdate:modelValue": ($event) => item.type = $event,
9436
- n: "sm green",
9437
- class: normalizeClass(__props.disabled ? "op75" : ""),
9438
- disabled: __props.disabled
9439
- }, {
9440
- default: withCtx(() => [(openBlock(), createElementBlock(Fragment, null, renderList(inputTypes, (typeItem) => {
9441
- return createBaseVNode("option", {
9442
- key: typeItem,
9443
- value: typeItem
9444
- }, toDisplayString(typeItem), 9, _hoisted_3$2);
9445
- }), 64))]),
9446
- _: 1
9447
- }, 8, [
9448
- "modelValue",
9449
- "onUpdate:modelValue",
9450
- "class",
9451
- "disabled"
9452
- ])) : createCommentVNode("", true)], 64);
9453
- }), 128)),
9454
- renderSlot(_ctx.$slots, "input-actions", {
9455
- item,
9456
- index
9457
- }, () => [!item.fromSchema ? (openBlock(), createBlock(unref(Button_default), {
9458
- key: 0,
9459
- class: normalizeClass(["n-red w-10 flex justify-center items-center", __props.disabled ? "op0!" : ""]),
9460
- disabled: __props.disabled,
9461
- onClick: ($event) => unref(params).splice(index, 1)
9462
- }, {
9463
- default: withCtx(() => [createVNode(Icon_default, { icon: "i-ph-trash" })]),
9464
- _: 1
9465
- }, 8, [
9466
- "disabled",
9467
- "class",
9468
- "onClick"
9469
- ])) : (openBlock(), createElementBlock("div", _hoisted_4$1, [createVNode(Icon_default, { icon: "i-ph-lock-simple" })]))])
9470
- ]);
9471
- }), 128)),
9472
- !__props.disabled ? (openBlock(), createElementBlock("div", _hoisted_5$1, [renderSlot(_ctx.$slots, "actions", { params: unref(params) }, () => [
9473
- createVNode(unref(Button_default), {
9474
- icon: "i-ph-plus",
9475
- n: "sm primary",
9476
- my1: "",
9477
- "px-3": "",
9478
- onClick: _cache[0] || (_cache[0] = ($event) => unref(params).push({ ...keysObject.value }))
9479
- }, {
9480
- default: withCtx(() => [..._cache[2] || (_cache[2] = [createTextVNode(" 添加 ", -1)])]),
9481
- _: 1
9482
- }),
9483
- _cache[4] || (_cache[4] = createBaseVNode("div", { "flex-auto": "" }, null, -1)),
9484
- hasDeletable.value ? (openBlock(), createBlock(unref(Button_default), {
9485
- key: 0,
9486
- icon: "i-ph-trash",
9487
- n: "sm red",
9488
- my1: "",
9489
- "px-3": "",
9490
- onClick: _cache[1] || (_cache[1] = ($event) => clearUserAdded())
9491
- }, {
9492
- default: withCtx(() => [..._cache[3] || (_cache[3] = [createTextVNode(" 删除全部 ", -1)])]),
9493
- _: 1
9494
- })) : createCommentVNode("", true)
9495
- ])])) : createCommentVNode("", true),
9496
- renderSlot(_ctx.$slots, "default")
9497
- ]);
9498
- };
9499
- }
9500
- });
9501
- var _hoisted_1$2 = { class: "size-full flex flex-col" };
9502
- var _hoisted_2$2 = { class: "n-bg-base flex-none p4 flex flex-col gap-2" };
9503
- var _hoisted_3$1 = { class: "flex gap-2 items-center" };
9504
- var _hoisted_4 = { class: "relative w-full" };
9505
- var _hoisted_5 = { class: "flex gap-2 flex-wrap w-full items-center px-4 pb-2 text-center text-sm border-b n-border-base" };
9506
- var _hoisted_6 = { class: "hidden md:block" };
9507
- var _hoisted_7 = { class: "flex gap-2 items-center op50 mb--1" };
9508
- var _hoisted_8 = {
9509
- key: 0,
9510
- class: "border-b n-border-base px-4 py-4 flex flex-col gap-4 font-mono"
9511
- };
9512
- var _hoisted_9 = {
9513
- key: 1,
9514
- class: "border-b n-border-base px-4 py-4 flex flex-col gap-4 font-mono"
9515
- };
9516
- var _hoisted_10 = { class: "flex gap-2 items-center" };
9517
- var _hoisted_11 = {
9518
- key: 2,
9519
- class: "border-b n-border-base relative"
9520
- };
9521
- var _hoisted_12 = { class: "border-b n-border-base flex gap-2 items-center px-4 py-2" };
9522
- var _hoisted_13 = { class: "text-xs op50" };
9523
- var _hoisted_14 = {
9524
- key: 6,
9525
- class: "px-4 pb-4 text-sm op50"
9526
- };
9527
- var ServerRouteDetail_default = /* @__PURE__ */ defineComponent({
9528
- __name: "ServerRouteDetail",
9529
- props: { route: {} },
9530
- emits: ["openDefaultInput"],
9531
- setup(__props, { emit: __emit }) {
9532
- const props = __props;
9533
- const cookie = reactive({
9534
- key: "",
9535
- value: ""
9536
- });
9537
- const routeMethod = computed(() => props.route.method || "GET");
9538
- const bodyPayloadMethods = [
9539
- "PATCH",
9540
- "POST",
9541
- "PUT",
9542
- "DELETE"
9543
- ];
9544
- const hasBody = computed(() => bodyPayloadMethods.includes(routeMethod.value.toUpperCase()));
9545
- const [DefineDefaultInputs, UseDefaultInputs] = createReusableTemplate();
9546
- const routeRef = toRef(props, "route");
9547
- const { paramInputs, activeTab, currentTabInputs, parsedQuery, parsedHeader, parsedBody } = useServerRouteParams(routeRef, { hasBody });
9548
- const { inputDefaults } = useInputDefaults();
9549
- const inputDefaultsRecord = computed(() => inputDefaults.value);
9550
- const activeDefaults = computed(() => {
9551
- const tab = activeTab.value;
9552
- return [
9553
- "query",
9554
- "body",
9555
- "headers"
9556
- ].includes(tab) ? inputDefaultsRecord.value[tab] : [];
9557
- });
9558
- const hasDefaults = computed(() => (activeDefaults.value?.length || 0) > 0);
9559
- const currentParams = currentTabInputs;
9560
- function clearParamValues() {
9561
- [
9562
- "query",
9563
- "body",
9564
- "headers"
9565
- ].forEach((k) => {
9566
- paramInputs.value[k] = paramInputs.value[k].map((input) => ({
9567
- ...input,
9568
- value: void 0
9569
- }));
9570
- });
9571
- }
9572
- const tabs = computed(() => {
9573
- const items = [];
9574
- items.push({
9575
- name: "Query",
9576
- slug: "query",
9577
- length: paramInputs.value.query.length
9578
- });
9579
- if (hasBody.value) items.push({
9580
- name: "Body",
9581
- slug: "body",
9582
- length: paramInputs.value.body.length
9583
- });
9584
- items.push({
9585
- name: "Headers",
9586
- slug: "headers",
9587
- length: paramInputs.value.headers.length
9588
- });
9589
- items.push({
9590
- name: "Cookies",
9591
- slug: "cookies",
9592
- length: cookie.value.length
9593
- });
9594
- items.push({
9595
- name: "Snippets",
9596
- slug: "snippet"
9597
- });
9598
- return items;
9599
- });
9600
- const codeSnippets = useServerRouteSnippets({
9601
- route: routeRef,
9602
- routeMethod,
9603
- parsedQuery,
9604
- parsedBody,
9605
- parsedHeader
9606
- });
9607
- const { fetching, hasSentRequest, response, sendRequest, responseStatus, responseSuccess, responseLang, responseContent, storedResponse: persistedResponse } = useServerRouteRequest({
9608
- route: routeRef,
9609
- routeMethod,
9610
- parsedQuery,
9611
- parsedBody,
9612
- parsedHeader,
9613
- cookie: computed(() => cookie),
9614
- storageKey: devtoolsStorageKey.response
9615
- });
9616
- const storedResponse = computed(() => persistedResponse.value ?? {});
9617
- return (_ctx, _cache) => {
9618
- const _component_PanelGrids = PanelGrids_default;
9619
- const _component_Badge = Badge_default;
9620
- const _component_CodeBlock = CodeBlock_default;
9621
- const _directive_tooltip = resolveDirective("tooltip");
9622
- return openBlock(), createElementBlock("div", _hoisted_1$2, [
9623
- createBaseVNode("div", _hoisted_2$2, [createBaseVNode("div", _hoisted_3$1, [
9624
- props.route.method ? (openBlock(), createBlock(unref(Button_default), {
9625
- key: 0,
9626
- class: normalizeClass(["n-badge-base n-sm pointer-events-none font-mono op-80", unref(getRequestMethodClass)(unref(routeMethod))]),
9627
- tabindex: "-1"
9628
- }, {
9629
- default: withCtx(() => [createTextVNode(toDisplayString(unref(routeMethod).toUpperCase()), 1)]),
9630
- _: 1
9631
- }, 8, ["class"])) : createCommentVNode("", true),
9632
- createBaseVNode("div", _hoisted_4, [createVNode(TextInput_default, {
9633
- class: "readonly flex-auto font-mono px-5 py-2 n-sm",
9634
- disabled: "",
9635
- "model-value": props.route.route
9636
- }, null, 8, ["model-value"])]),
9637
- createVNode(unref(Button_default), {
9638
- class: "h-full n-primary n-solid bg-context",
9639
- disabled: unref(fetching),
9640
- onClick: unref(sendRequest)
9641
- }, {
9642
- default: withCtx(() => [!unref(fetching) ? (openBlock(), createBlock(Icon_default, {
9643
- key: 0,
9644
- icon: "i-ph-telegram-logo",
9645
- class: "text-light"
9646
- })) : (openBlock(), createBlock(Icon_default, {
9647
- key: 1,
9648
- icon: "i-eos-icons:loading",
9649
- class: "text-light animate-spin"
9650
- }))]),
9651
- _: 1
9652
- }, 8, ["disabled", "onClick"])
9653
- ])]),
9654
- createBaseVNode("div", _hoisted_5, [
9655
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref(tabs), (tab) => {
9656
- return withDirectives((openBlock(), createBlock(unref(Button_default), {
9657
- key: tab.slug,
9658
- class: normalizeClass([unref(activeTab) === tab.slug ? "text-primary border-px border-solid border-context n-primary" : "border-transparent shadow-none", "px-4 py-2"]),
9659
- onClick: ($event) => activeTab.value = tab.slug
9660
- }, {
9661
- default: withCtx(() => [createVNode(Icon_default, { icon: unref(ServerRouteTabIcons)[tab.slug] }, null, 8, ["icon"]), createBaseVNode("div", _hoisted_6, toDisplayString(tab.name) + " " + toDisplayString(tab?.length ? `(${tab.length})` : ""), 1)]),
9662
- _: 2
9663
- }, 1032, ["class", "onClick"])), [[_directive_tooltip, tab.name]]);
9664
- }), 128)),
9665
- _cache[4] || (_cache[4] = createBaseVNode("div", { class: "flex-auto" }, null, -1)),
9666
- withDirectives(createVNode(unref(Button_default), {
9667
- n: "orange",
9668
- class: "p-3",
9669
- icon: "i-ph-paint-brush-duotone",
9670
- onClick: clearParamValues
9671
- }, null, 512), [[_directive_tooltip, "清除输入的请求参数"]])
9672
- ]),
9673
- createVNode(unref(DefineDefaultInputs), null, {
9674
- default: withCtx(() => [createBaseVNode("div", null, [createVNode(ServerRouteInput_default, {
9675
- modelValue: unref(currentParams),
9676
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(currentParams) ? currentParams.value = $event : null),
9677
- default: {
9678
- active: true,
9679
- type: "string"
9680
- },
9681
- class: "max-h-xs of-auto"
9682
- }, null, 8, ["modelValue"]), unref(hasDefaults) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createBaseVNode("div", _hoisted_7, [
9683
- _cache[5] || (_cache[5] = createBaseVNode("div", { class: "w-5 x-divider" }, null, -1)),
9684
- _cache[6] || (_cache[6] = createBaseVNode("div", { class: "flex-none" }, " 默认值 ", -1)),
9685
- createVNode(unref(Button_default), {
9686
- icon: "i-ph-pencil-simple-line",
9687
- border: false,
9688
- onClick: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("openDefaultInput"))
9689
- }),
9690
- _cache[7] || (_cache[7] = createBaseVNode("div", { class: "x-divider" }, null, -1))
9691
- ]), createVNode(ServerRouteInput_default, {
9692
- "model-value": unref(activeDefaults),
9693
- disabled: ""
9694
- }, null, 8, ["model-value"])], 64)) : createCommentVNode("", true)])]),
9695
- _: 1
9696
- }),
9697
- unref(activeTab) === "snippet" ? (openBlock(), createElementBlock("div", _hoisted_8, [unref(codeSnippets).length ? (openBlock(), createBlock(CodeSnippets_default, {
9698
- key: 0,
9699
- "code-snippets": unref(codeSnippets)
9700
- }, null, 8, ["code-snippets"])) : createCommentVNode("", true)])) : unref(activeTab) === "cookies" ? (openBlock(), createElementBlock("div", _hoisted_9, [createBaseVNode("div", _hoisted_10, [
9701
- createVNode(TextInput_default, {
9702
- modelValue: unref(cookie).key,
9703
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => unref(cookie).key = $event),
9704
- placeholder: "Key",
9705
- class: "flex-1 n-primary n-sm"
9706
- }, null, 8, ["modelValue"]),
9707
- createVNode(TextInput_default, {
9708
- modelValue: unref(cookie).value,
9709
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => unref(cookie).value = $event),
9710
- placeholder: "Value",
9711
- class: "flex-1 n-primary n-sm"
9712
- }, null, 8, ["modelValue"]),
9713
- withDirectives((openBlock(), createBlock(unref(Button_default), {
9714
- title: "Add",
9715
- class: "n-primary"
9716
- }, {
9717
- default: withCtx(() => [createVNode(Icon_default, { icon: "i-ph-floppy-disk" })]),
9718
- _: 1
9719
- })), [[_directive_tooltip, "保存"]])
9720
- ])])) : (openBlock(), createElementBlock("div", _hoisted_11, [createVNode(unref(UseDefaultInputs))])),
9721
- !unref(hasSentRequest) ? (openBlock(), createBlock(_component_PanelGrids, { key: 3 }, {
9722
- default: withCtx(() => [createVNode(unref(Button_default), {
9723
- n: "primary",
9724
- disabled: unref(fetching),
9725
- onClick: unref(sendRequest)
9726
- }, {
9727
- default: withCtx(() => [!unref(fetching) ? (openBlock(), createBlock(Icon_default, {
9728
- key: 0,
9729
- icon: "i-carbon:send"
9730
- })) : (openBlock(), createBlock(Icon_default, {
9731
- key: 1,
9732
- icon: "i-eos-icons:loading",
9733
- class: "animate-spin"
9734
- })), _cache[8] || (_cache[8] = createTextVNode(" 发送请求 ", -1))]),
9735
- _: 1
9736
- }, 8, ["disabled", "onClick"])]),
9737
- _: 1
9738
- })) : unref(fetching) ? (openBlock(), createBlock(Loading_default, {
9739
- key: 4,
9740
- class: "z-10 flex-auto backdrop-blur"
9741
- }, {
9742
- default: withCtx(() => [..._cache[9] || (_cache[9] = [createBaseVNode("span", { class: "text-sm" }, "发送中...", -1)])]),
9743
- _: 1
9744
- })) : unref(response) ? (openBlock(), createElementBlock(Fragment, { key: 5 }, [createBaseVNode("div", _hoisted_12, [
9745
- createBaseVNode("div", null, "Response " + toDisplayString(unref(responseSuccess)), 1),
9746
- unref(responseSuccess) === false ? (openBlock(), createBlock(_component_Badge, {
9747
- key: 0,
9748
- class: "n-red"
9749
- }, {
9750
- default: withCtx(() => [..._cache[10] || (_cache[10] = [createTextVNode(" Error ", -1)])]),
9751
- _: 1
9752
- })) : createCommentVNode("", true),
9753
- createVNode(_component_Badge, { n: unref(responseSuccess) ? "green" : "orange" }, {
9754
- default: withCtx(() => [createTextVNode(toDisplayString(unref(responseStatus) ?? unref(storedResponse).status ?? "—"), 1)]),
9755
- _: 1
9756
- }, 8, ["n"]),
9757
- createBaseVNode("code", _hoisted_13, toDisplayString(unref(response)?.headers?.["content-type"] ?? unref(storedResponse).headers?.["content-type"] ?? ""), 1),
9758
- _cache[11] || (_cache[11] = createBaseVNode("div", { class: "flex-auto" }, null, -1)),
9759
- _cache[12] || (_cache[12] = createBaseVNode("div", { class: "op50" }, " Request finished in ", -1)),
9760
- createVNode(_component_Badge, { class: "n-green" }, {
9761
- default: withCtx(() => [createTextVNode(toDisplayString(unref(response).duration) + " ms ", 1)]),
9762
- _: 1
9763
- })
9764
- ]), createVNode(_component_CodeBlock, {
9765
- class: "flex-auto overflow-auto py-2",
9766
- code: unref(responseContent),
9767
- lang: unref(responseLang)
9768
- }, null, 8, ["code", "lang"])], 64)) : (openBlock(), createElementBlock("div", _hoisted_14, " 暂无响应输出 "))
9769
- ]);
9770
- };
9771
- }
9772
- });
9773
- var _hoisted_1$1 = { class: "min-w-0" };
9774
- var _hoisted_2$1 = { class: "truncate" };
9775
- var ServerRouteListItem_default = /* @__PURE__ */ defineComponent({
9776
- __name: "ServerRouteListItem",
9777
- props: {
9778
- item: {},
9779
- index: { default: 0 },
9780
- selected: { default: null }
9781
- },
9782
- emits: ["select"],
9783
- setup(__props, { emit: __emit }) {
9784
- const props = __props;
9785
- const emit = __emit;
9786
- const open = ref(true);
9787
- const isSelected = computed(() => {
9788
- if (!props.selected || props.item.type !== "route") return false;
9789
- return props.selected.filepath === props.item.filepath && props.selected.route === props.item.route && props.selected.method === props.item.method;
9790
- });
9791
- function handleClick() {
9792
- if (props.item.type === "collection") open.value = !open.value;
9793
- else emit("select", props.item);
9794
- }
9795
- return (_ctx, _cache) => {
9796
- const _component_ServerRouteListItem = resolveComponent("ServerRouteListItem", true);
9797
- const _directive_tooltip = resolveDirective("tooltip");
9798
- return openBlock(), createElementBlock("div", null, [
9799
- createBaseVNode("button", {
9800
- class: normalizeClass(["flex gap-2 w-full items-start px-2 py-1 hover:bg-action transition-colors", { "bg-active": unref(isSelected) }]),
9801
- style: normalizeStyle({ paddingLeft: `calc(0.5rem + ${__props.index * 1.5}em)` }),
9802
- onClick: handleClick
9803
- }, [createBaseVNode("div", { class: normalizeClass([{ "w-12": !__props.item.routes }, "flex-none text-left"]) }, [__props.item.type === "collection" ? (openBlock(), createBlock(Icon_default, {
9804
- key: 0,
9805
- icon: "i-carbon:chevron-right",
9806
- "transform-rotate": unref(open) ? 90 : 0,
9807
- class: "mb0.5 transition"
9808
- }, null, 8, ["transform-rotate"])) : (openBlock(), createBlock(Badge_default, {
9809
- key: 1,
9810
- class: normalizeClass(unref(getRequestMethodClass)(__props.item.method || "*"))
9811
- }, {
9812
- default: withCtx(() => [createTextVNode(toDisplayString((__props.item.method || "*").toUpperCase()), 1)]),
9813
- _: 1
9814
- }, 8, ["class"]))], 2), createBaseVNode("div", _hoisted_1$1, [createBaseVNode("div", { class: normalizeClass([{ "flex items-start": __props.item.routes }, "text-sm font-mono"]) }, [__props.item.type === "collection" ? (openBlock(), createBlock(Icon_default, {
9815
- key: 0,
9816
- title: `${__props.item.routes?.length || 0} routes`,
9817
- icon: unref(open) ? "i-catppuccin-folder-api-open" : "i-catppuccin-folder-api",
9818
- class: "mr1"
9819
- }, null, 8, ["title", "icon"])) : createCommentVNode("", true), withDirectives((openBlock(), createElementBlock("span", _hoisted_2$1, [createTextVNode(toDisplayString(__props.item.route), 1)])), [[_directive_tooltip, __props.item.description]])], 2)])], 6),
9820
- _cache[1] || (_cache[1] = createBaseVNode("div", { class: "x-divider" }, null, -1)),
9821
- unref(open) ? renderSlot(_ctx.$slots, "default", { key: 0 }, () => [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.item.routes, (subItem, subIndex) => {
9822
- return openBlock(), createBlock(_component_ServerRouteListItem, {
9823
- key: `${subItem.filepath}-${subIndex}`,
9824
- item: subItem,
9825
- index: __props.index + 1,
9826
- selected: __props.selected,
9827
- onSelect: _cache[0] || (_cache[0] = ($event) => emit("select", $event))
9828
- }, null, 8, [
9829
- "item",
9830
- "index",
9831
- "selected"
9832
- ]);
9833
- }), 128))]) : createCommentVNode("", true)
9834
- ]);
9835
- };
9836
- }
9837
- });
9838
- function groupRoutesByFile(apiResult) {
9839
- const routes = [];
9840
- const fileMap = /* @__PURE__ */ new Map();
9841
- apiResult.modules.forEach((module) => {
9842
- module.functions.forEach((func) => {
9843
- const fileKey = func.file;
9844
- let fileCollection = fileMap.get(fileKey);
9845
- if (!fileCollection) {
9846
- fileCollection = {
9847
- route: (fileKey.split("/").pop() || fileKey).replace(/\.(ts|js)$/, ""),
9848
- method: "",
9849
- description: fileKey.replace(/^.*\/src\/api\//, ""),
9850
- type: "collection",
9851
- filepath: fileKey,
9852
- routes: []
9853
- };
9854
- fileMap.set(fileKey, fileCollection);
9855
- routes.push(fileCollection);
5988
+ },
5989
+ {
5990
+ scope: [
5991
+ "string",
5992
+ "markup.fenced_code",
5993
+ "markup.inline"
5994
+ ],
5995
+ settings: { foreground: variable("token-string") }
5996
+ },
5997
+ {
5998
+ scope: ["comment", "string.quoted.docstring.multi"],
5999
+ settings: { foreground: variable("token-comment") }
6000
+ },
6001
+ {
6002
+ scope: [
6003
+ "constant.numeric",
6004
+ "constant.language",
6005
+ "constant.other.placeholder",
6006
+ "constant.character.format.placeholder",
6007
+ "variable.language.this",
6008
+ "variable.other.object",
6009
+ "variable.other.class",
6010
+ "variable.other.constant",
6011
+ "meta.property-name",
6012
+ "meta.property-value",
6013
+ "support"
6014
+ ],
6015
+ settings: { foreground: variable("token-constant") }
6016
+ },
6017
+ {
6018
+ scope: [
6019
+ "keyword",
6020
+ "storage.modifier",
6021
+ "storage.type",
6022
+ "storage.control.clojure",
6023
+ "entity.name.function.clojure",
6024
+ "entity.name.tag.yaml",
6025
+ "support.function.node",
6026
+ "support.type.property-name.json",
6027
+ "punctuation.separator.key-value",
6028
+ "punctuation.definition.template-expression"
6029
+ ],
6030
+ settings: { foreground: variable("token-keyword") }
6031
+ },
6032
+ {
6033
+ scope: "variable.parameter.function",
6034
+ settings: { foreground: variable("token-parameter") }
6035
+ },
6036
+ {
6037
+ scope: [
6038
+ "support.function",
6039
+ "entity.name.type",
6040
+ "entity.other.inherited-class",
6041
+ "meta.function-call",
6042
+ "meta.instance.constructor",
6043
+ "entity.other.attribute-name",
6044
+ "entity.name.function",
6045
+ "constant.keyword.clojure"
6046
+ ],
6047
+ settings: { foreground: variable("token-function") }
6048
+ },
6049
+ {
6050
+ scope: [
6051
+ "entity.name.tag",
6052
+ "string.quoted",
6053
+ "string.regexp",
6054
+ "string.interpolated",
6055
+ "string.template",
6056
+ "string.unquoted.plain.out.yaml",
6057
+ "keyword.other.template"
6058
+ ],
6059
+ settings: { foreground: variable("token-string-expression") }
6060
+ },
6061
+ {
6062
+ scope: [
6063
+ "punctuation.definition.arguments",
6064
+ "punctuation.definition.dict",
6065
+ "punctuation.separator",
6066
+ "meta.function-call.arguments"
6067
+ ],
6068
+ settings: { foreground: variable("token-punctuation") }
6069
+ },
6070
+ {
6071
+ scope: ["markup.underline.link", "punctuation.definition.metadata.markdown"],
6072
+ settings: { foreground: variable("token-link") }
6073
+ },
6074
+ {
6075
+ scope: ["beginning.punctuation.definition.list.markdown"],
6076
+ settings: { foreground: variable("token-string") }
6077
+ },
6078
+ {
6079
+ scope: [
6080
+ "punctuation.definition.string.begin.markdown",
6081
+ "punctuation.definition.string.end.markdown",
6082
+ "string.other.link.title.markdown",
6083
+ "string.other.link.description.markdown"
6084
+ ],
6085
+ settings: { foreground: variable("token-keyword") }
6086
+ },
6087
+ {
6088
+ scope: [
6089
+ "markup.inserted",
6090
+ "meta.diff.header.to-file",
6091
+ "punctuation.definition.inserted"
6092
+ ],
6093
+ settings: { foreground: variable("token-inserted") }
6094
+ },
6095
+ {
6096
+ scope: [
6097
+ "markup.deleted",
6098
+ "meta.diff.header.from-file",
6099
+ "punctuation.definition.deleted"
6100
+ ],
6101
+ settings: { foreground: variable("token-deleted") }
6102
+ },
6103
+ {
6104
+ scope: ["markup.changed", "punctuation.definition.changed"],
6105
+ settings: { foreground: variable("token-changed") }
9856
6106
  }
9857
- fileCollection.routes.push({
9858
- route: func.url,
9859
- method: func.method,
9860
- description: func.description,
9861
- name: func.name,
9862
- filepath: func.file,
9863
- type: "route",
9864
- paramType: func.paramType,
9865
- paramLocation: func.paramLocation,
9866
- returnType: func.returnType,
9867
- paramSchema: func.paramSchema,
9868
- returnSchema: func.returnSchema,
9869
- requestClient: func.requestClient,
9870
- requestModulePath: func.requestModulePath,
9871
- requestModuleResolvedPath: func.requestModuleResolvedPath
9872
- });
9873
- });
9874
- });
9875
- return routes;
9876
- }
9877
- function flattenApiToRoutes(apiResult) {
9878
- const routes = [];
9879
- apiResult.modules.forEach((module) => {
9880
- module.functions.forEach((func) => {
9881
- routes.push({
9882
- route: func.url,
9883
- method: func.method,
9884
- description: func.description,
9885
- name: func.name,
9886
- filepath: func.file,
9887
- type: "route",
9888
- paramType: func.paramType,
9889
- paramLocation: func.paramLocation,
9890
- returnType: func.returnType,
9891
- paramSchema: func.paramSchema,
9892
- returnSchema: func.returnSchema,
9893
- requestClient: func.requestClient,
9894
- requestModulePath: func.requestModulePath,
9895
- requestModuleResolvedPath: func.requestModuleResolvedPath
9896
- });
9897
- });
9898
- });
9899
- return routes;
9900
- }
9901
- function calculateApiStats(apiResult) {
9902
- const stats = {
9903
- totalModules: apiResult.modules.length,
9904
- totalApis: 0,
9905
- totalTypes: 0,
9906
- byMethod: {}
6107
+ ]
9907
6108
  };
9908
- apiResult.modules.forEach((module) => {
9909
- stats.totalApis += module.functions.length;
9910
- stats.totalTypes += module.types.length;
9911
- module.functions.forEach((func) => {
9912
- const method = func.method.toUpperCase();
9913
- stats.byMethod[method] = (stats.byMethod[method] || 0) + 1;
9914
- });
9915
- });
9916
- return stats;
9917
- }
9918
- function filterRoutes(routes, searchText) {
9919
- if (!searchText) return routes;
9920
- const search = searchText.toLowerCase();
9921
- return routes.map((route) => {
9922
- if (route.type === "collection" && route.routes) {
9923
- const filteredSubRoutes = filterRoutes(route.routes, searchText);
9924
- if (filteredSubRoutes.length > 0) return {
9925
- ...route,
9926
- routes: filteredSubRoutes
9927
- };
9928
- return null;
9929
- }
9930
- return route.route.toLowerCase().includes(search) || route.method?.toLowerCase().includes(search) || route.description?.toLowerCase().includes(search) || route.name?.toLowerCase().includes(search) ? route : null;
9931
- }).filter((route) => route !== null);
9932
- }
9933
- function sortRoutesByMethod(routes) {
9934
- const methodOrder = [
9935
- "GET",
9936
- "POST",
9937
- "PUT",
9938
- "PATCH",
9939
- "DELETE",
9940
- "OPTIONS",
9941
- "HEAD"
9942
- ];
9943
- return routes.sort((a, b) => {
9944
- if (a.type === "collection" && b.type !== "collection") return -1;
9945
- if (a.type !== "collection" && b.type === "collection") return 1;
9946
- if (a.type === "collection" && b.type === "collection") return a.route.localeCompare(b.route);
9947
- const aIndex = methodOrder.indexOf(a.method?.toUpperCase() || "");
9948
- const bIndex = methodOrder.indexOf(b.method?.toUpperCase() || "");
9949
- if (aIndex !== bIndex) return aIndex - bIndex;
9950
- return a.route.localeCompare(b.route);
6109
+ if (!fontStyle) theme.tokenColors = theme.tokenColors?.map((tokenColor) => {
6110
+ if (tokenColor.settings?.fontStyle) delete tokenColor.settings.fontStyle;
6111
+ return tokenColor;
9951
6112
  });
6113
+ return theme;
9952
6114
  }
9953
- var _hoisted_1 = { class: "flex gap-1 text-sm" };
9954
- var _hoisted_2 = {
9955
- key: 0,
9956
- class: "op50"
9957
- };
9958
- var _hoisted_3 = { class: "op50" };
9959
- var server_router_default = /* @__PURE__ */ defineComponent({
9960
- name: "ServerRouterPage",
9961
- __name: "server-router",
9962
- setup(__props) {
9963
- const search = ref("");
9964
- const isGrouped = ref(true);
9965
- const inputDefaultsDrawer = ref(false);
9966
- const selectedRoute = ref(null);
9967
- const { inputDefaults, resetToEmpty } = useInputDefaults();
9968
- const inputDefaultsRecord = computed(() => inputDefaults.value);
9969
- const defaultTabs = [
9970
- "query",
9971
- "body",
9972
- "headers"
9973
- ];
9974
- function toTitle(s) {
9975
- return s ? s.charAt(0).toUpperCase() + s.slice(1) : s;
9976
- }
9977
- apiListFetch.execute();
9978
- function handleRouteClick(item) {
9979
- if (item.type === "route") selectedRoute.value = item;
9980
- }
9981
- const routeList = computed(() => {
9982
- const data = apiListFetch.data.value;
9983
- if (!data || !data.modules) return [];
9984
- return sortRoutesByMethod(isGrouped.value ? groupRoutesByFile(data) : flattenApiToRoutes(data));
9985
- });
9986
- const filteredRoutes = computed(() => {
9987
- return filterRoutes(routeList.value, search.value);
9988
- });
9989
- const stats = computed(() => {
9990
- const data = apiListFetch.data.value;
9991
- if (!data) return {
9992
- totalModules: 0,
9993
- totalApis: 0,
9994
- totalTypes: 0,
9995
- byMethod: {}
9996
- };
9997
- return calculateApiStats(data);
9998
- });
9999
- const matchedCount = computed(() => {
10000
- if (!search.value) return stats.value.totalApis;
10001
- let count = 0;
10002
- const countRoutes = (routes) => {
10003
- routes.forEach((route) => {
10004
- if (route.type === "route") count++;
10005
- if (route.routes) countRoutes(route.routes);
10006
- });
10007
- };
10008
- countRoutes(filteredRoutes.value);
10009
- return count;
10010
- });
10011
- return (_ctx, _cache) => {
10012
- const _component_SectionBlock = SectionBlock_default;
10013
- const _directive_tooltip = resolveDirective("tooltip");
10014
- return openBlock(), createElementBlock(Fragment, null, [createVNode(SplitPane_default, {
10015
- "storage-key": "server-router",
10016
- "left-size": 26,
10017
- "min-size": 26
10018
- }, {
10019
- left: withCtx(() => [createVNode(Navbar_default, {
10020
- search: unref(search),
10021
- "onUpdate:search": _cache[2] || (_cache[2] = ($event) => isRef(search) ? search.value = $event : null),
10022
- class: "pb-2"
10023
- }, {
10024
- actions: withCtx(() => [withDirectives(createVNode(unref(Button_default), {
10025
- icon: unref(isGrouped) ? "i-ph-tree-view" : "i-ph-list-bullets",
10026
- border: false,
10027
- onClick: _cache[0] || (_cache[0] = ($event) => isGrouped.value = !unref(isGrouped))
10028
- }, null, 8, ["icon"]), [[_directive_tooltip, unref(isGrouped) ? "树形视图" : "列表视图"]]), withDirectives(createVNode(unref(Button_default), {
10029
- icon: "i-ph-circles-three-plus",
10030
- border: false,
10031
- onClick: _cache[1] || (_cache[1] = ($event) => inputDefaultsDrawer.value = !unref(inputDefaultsDrawer))
10032
- }, null, 512), [[_directive_tooltip, `默认值`]])]),
10033
- default: withCtx(() => [createBaseVNode("div", _hoisted_1, [unref(search) ? (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(unref(matchedCount)) + " 个匹配 · ", 1)) : createCommentVNode("", true), createBaseVNode("span", _hoisted_3, toDisplayString(unref(stats).totalApis) + " 个 api 接口", 1)])]),
10034
- _: 1
10035
- }, 8, ["search"]), (openBlock(true), createElementBlock(Fragment, null, renderList(unref(filteredRoutes), (item, index) => {
10036
- return openBlock(), createBlock(ServerRouteListItem_default, {
10037
- key: `${item.filepath}-${index}`,
10038
- item,
10039
- selected: unref(selectedRoute),
10040
- onSelect: handleRouteClick
10041
- }, null, 8, ["item", "selected"]);
10042
- }), 128))]),
10043
- right: withCtx(() => [(openBlock(), createBlock(KeepAlive, { max: 10 }, [unref(selectedRoute) ? (openBlock(), createBlock(ServerRouteDetail_default, {
10044
- key: 0,
10045
- route: unref(selectedRoute),
10046
- onOpenDefaultInput: _cache[3] || (_cache[3] = ($event) => inputDefaultsDrawer.value = true)
10047
- }, null, 8, ["route"])) : createCommentVNode("", true)], 1024)), !unref(selectedRoute) ? (openBlock(), createBlock(PanelGrids_default, { key: 0 }, {
10048
- default: withCtx(() => [createVNode(Card_default, { class: "px6 py2" }, {
10049
- default: withCtx(() => [..._cache[6] || (_cache[6] = [createBaseVNode("span", { class: "op75 cursor-default" }, "选择一个 api 开始调试", -1)])]),
10050
- _: 1
10051
- })]),
10052
- _: 1
10053
- })) : createCommentVNode("", true)]),
10054
- _: 1
10055
- }), createVNode(Drawer_default, {
10056
- modelValue: unref(inputDefaultsDrawer),
10057
- "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => isRef(inputDefaultsDrawer) ? inputDefaultsDrawer.value = $event : null),
10058
- "auto-close": "",
10059
- class: "max-w-xl min-w-xl",
10060
- onClose: _cache[5] || (_cache[5] = ($event) => inputDefaultsDrawer.value = false)
10061
- }, {
10062
- default: withCtx(() => [createBaseVNode("div", null, [_cache[7] || (_cache[7] = createBaseVNode("div", { class: "p-4 border-b n-border-base" }, [
10063
- createBaseVNode("span", { class: "text-lg" }, "设置默认值"),
10064
- createBaseVNode("br"),
10065
- createBaseVNode("span", { class: "dark:text-white text-black op50" }, "已合并为 DevTools 中每个请求的默认设置。")
10066
- ], -1)), (openBlock(), createElementBlock(Fragment, null, renderList(defaultTabs, (tab) => {
10067
- return createVNode(_component_SectionBlock, {
10068
- key: tab,
10069
- text: `${toTitle(tab)} ${unref(inputDefaultsRecord)[tab]?.length ? `(${unref(inputDefaultsRecord)[tab].length})` : ""}`,
10070
- padding: false,
10071
- icon: unref(ServerRouteTabIcons)[tab]
10072
- }, {
10073
- default: withCtx(() => [createVNode(ServerRouteInput_default, {
10074
- modelValue: unref(inputDefaultsRecord)[tab],
10075
- "onUpdate:modelValue": ($event) => unref(inputDefaultsRecord)[tab] = $event,
10076
- py0: "",
10077
- default: {
10078
- active: true,
10079
- type: "string"
10080
- }
10081
- }, null, 8, ["modelValue", "onUpdate:modelValue"])]),
10082
- _: 2
10083
- }, 1032, ["text", "icon"]);
10084
- }), 64))])]),
10085
- _: 1
10086
- }, 8, ["modelValue"])], 64);
10087
- };
10088
- }
10089
- });
10090
- export { server_router_default as default };
6115
+ export { ShikiError, addClassToHast, applyColorReplacements, codeToHast, codeToHtml, codeToTokens, codeToTokensBase, codeToTokensWithThemes, createBundledHighlighter, createCssVariablesTheme, createHighlighterCore, createHighlighterCoreSync, createPositionConverter, createShikiInternal, createShikiInternalSync, createSingletonShorthands, createdBundledHighlighter, enableDeprecationWarnings, flatTokenVariants, getSingletonHighlighterCore, getTokenStyleObject, guessEmbeddedLanguages, hastToHtml, isNoneTheme, isPlainLang, isSpecialLang, isSpecialTheme, makeSingletonHighlighter, makeSingletonHighlighterCore, normalizeGetter, normalizeTheme, resolveColorReplacements, splitLines, splitToken, splitTokens, stringifyTokenStyle, toArray, tokenizeAnsiWithTheme, tokenizeWithTheme, tokensToHast, transformerDecorations, warnDeprecated };