@hienlh/ppm 0.20.7 → 0.20.9

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 (532) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/assets/skills/ppm/SKILL.md +1 -1
  3. package/assets/skills/ppm/references/cli-reference.md +4 -4
  4. package/assets/skills/ppm/references/http-api.md +1 -1
  5. package/dist/web/assets/accounts-settings-section-ByM99C7p.js +1 -0
  6. package/dist/web/assets/{ai-resource-editor-C6s6A57b.js → ai-resource-editor-BsB9wa0z.js} +1 -1
  7. package/dist/web/assets/{ai-settings-section-BQTsEJzp.js → ai-settings-section-BT-QVUBa.js} +1 -1
  8. package/dist/web/assets/ai-settings-section-BUPOINaw.js +1 -0
  9. package/dist/web/assets/{angular-html-K0aKyuHe.js → angular-html-CTx8qAkv.js} +1 -1
  10. package/dist/web/assets/{angular-ts-CLY0DVNM.js → angular-ts-BhBGUAnu.js} +1 -1
  11. package/dist/web/assets/api-client-C6VTn7cG.js +1 -0
  12. package/dist/web/assets/{api-client-CEYCBt_0.js → api-client-DKvkxuDr.js} +1 -1
  13. package/dist/web/assets/{api-settings-ClKLkiR9.js → api-settings-CqiVKFUX.js} +1 -1
  14. package/dist/web/assets/{api-themes-B_Za9tdP.js → api-themes-DtLXqXpC.js} +1 -1
  15. package/dist/web/assets/{apl-Cl1oeOZc.js → apl-Dec3pSzF.js} +1 -1
  16. package/dist/web/assets/{appearance-settings-section-B7CwHA7Y.js → appearance-settings-section-DJEoECoJ.js} +1 -1
  17. package/dist/web/assets/architecture-PBZL5I3N-D55g5j-p.js +1 -0
  18. package/dist/web/assets/arrow-left-DpXaakMC.js +1 -0
  19. package/dist/web/assets/arrow-right-BqNSIscF.js +1 -0
  20. package/dist/web/assets/{astro-S8gLldib.js → astro-Cb_3-S86.js} +1 -1
  21. package/dist/web/assets/{audio-preview-C2PCzvr5.js → audio-preview-CF4tTFv_.js} +1 -1
  22. package/dist/web/assets/{blade-DZ96Anzi.js → blade-1QMj5JxI.js} +1 -1
  23. package/dist/web/assets/{bot-D6sx11y0.js → bot-D3-n2i31.js} +1 -1
  24. package/dist/web/assets/{brain-KDa9jFRq.js → brain-CuAQMSBE.js} +1 -1
  25. package/dist/web/assets/{bsl-BrlZLefQ.js → bsl-D0bT3Wjp.js} +1 -1
  26. package/dist/web/assets/{button-DX32ffge.js → button-DhnNoqpV.js} +1 -1
  27. package/dist/web/assets/{cairo-B0UdH8CG.js → cairo-DTuGb2w7.js} +1 -1
  28. package/dist/web/assets/{calendar-clock-C1asT-gk.js → calendar-clock-CDP7AVjA.js} +1 -1
  29. package/dist/web/assets/{chat-tab-BJokwok-.js → chat-tab-fD2vWwj2.js} +8 -8
  30. package/dist/web/assets/check-BQKbhtoA.js +1 -0
  31. package/dist/web/assets/{chevron-down-Dp0rpHb8.js → chevron-down-B9puixxZ.js} +1 -1
  32. package/dist/web/assets/chevron-right-DK_HbYZC.js +1 -0
  33. package/dist/web/assets/{chevron-up-8PbsNiJp.js → chevron-up-BPAINgoK.js} +1 -1
  34. package/dist/web/assets/circle-BpGTLAas.js +1 -0
  35. package/dist/web/assets/circle-question-mark-DUaySkoB.js +1 -0
  36. package/dist/web/assets/clock-Dqq0H9yH.js +1 -0
  37. package/dist/web/assets/{cobol-DCeQgIC6.js → cobol-DSx_Nb7T.js} +1 -1
  38. package/dist/web/assets/code-CX6640Tv.js +1 -0
  39. package/dist/web/assets/code-editor-CyFLXCsD.js +7 -0
  40. package/dist/web/assets/codex-daily-guard-Cg19EWxk.js +1 -0
  41. package/dist/web/assets/{coffee-D3V0ISG7.js → coffee-DBcQ7DKB.js} +1 -1
  42. package/dist/web/assets/{conflict-editor-hGsVMmtG.js → conflict-editor-DSjo2FRy.js} +1 -1
  43. package/dist/web/assets/{context-menu-CJL8L98s.js → context-menu-DchAkdnL.js} +1 -1
  44. package/dist/web/assets/{copy-BewHj66E.js → copy-Bt_1tjoJ.js} +1 -1
  45. package/dist/web/assets/{cpp-UPgqRL5h.js → cpp-Bj1azGr-.js} +1 -1
  46. package/dist/web/assets/{createLucideIcon-D8pyde1A.js → createLucideIcon-D6fVXe3s.js} +1 -1
  47. package/dist/web/assets/{crystal-B7BOJUR4.js → crystal-CCgkDI0i.js} +1 -1
  48. package/dist/web/assets/{csv-preview-DiSiq6UJ.js → csv-preview-BIE3Wpww.js} +1 -1
  49. package/dist/web/assets/data-grid-overlay-editor-C2NAQ-88.js +1 -0
  50. package/dist/web/assets/data-grid-types-tNj9zuRV.js +1 -0
  51. package/dist/web/assets/{database-Y3ESDK4-.js → database-9_p74TtY.js} +1 -1
  52. package/dist/web/assets/database-viewer-CMvIORcM.js +1 -0
  53. package/dist/web/assets/{diff-viewer-Usuuf35X.js → diff-viewer-BQQ6fUr6.js} +1 -1
  54. package/dist/web/assets/dist-BDpuZ376.js +11 -0
  55. package/dist/web/assets/{dist-BuUB-Gou.js → dist-BiqPfYiP.js} +1 -1
  56. package/dist/web/assets/{docx-preview-Dg8lD3f3.js → docx-preview-DcCh59Oe.js} +1 -1
  57. package/dist/web/assets/{download-DG3_9xXy.js → download-CEPFebri.js} +1 -1
  58. package/dist/web/assets/{edge-Dw-s4XKj.js → edge-ClBfeO7z.js} +1 -1
  59. package/dist/web/assets/{edit-diff-preview-F7YlT9fY.js → edit-diff-preview-CRjufuw_.js} +1 -1
  60. package/dist/web/assets/{elixir-Dntyzyed.js → elixir-ir__-3kt.js} +1 -1
  61. package/dist/web/assets/{elm-C83eppJ0.js → elm-CUv-xMuU.js} +1 -1
  62. package/dist/web/assets/{erb-Bjv2Lozz.js → erb-DcRwHyUq.js} +1 -1
  63. package/dist/web/assets/{erlang-5PAcE8_t.js → erlang-DW-GAdmv.js} +1 -1
  64. package/dist/web/assets/esm-DBm5LSCw.js +2 -0
  65. package/dist/web/assets/{explorer-body-BL9hg1yr.js → explorer-body-DRo2JHP9.js} +2 -2
  66. package/dist/web/assets/explorer-window-content-7mnRpSqn.js +1 -0
  67. package/dist/web/assets/{extension-manager-section-CE0aB9ed.js → extension-manager-section-CEfr7-Kv.js} +1 -1
  68. package/dist/web/assets/{extension-webview-CGhuot2v.js → extension-webview-D7HqqdTv.js} +1 -1
  69. package/dist/web/assets/{eye-gWwaF4Lg.js → eye-BQaWPI4P.js} +1 -1
  70. package/dist/web/assets/{eye-off-GjXVuAOn.js → eye-off-BlB3QV90.js} +1 -1
  71. package/dist/web/assets/{file-exclamation-point-JzhTU2TX.js → file-exclamation-point-BDmSZbxs.js} +1 -1
  72. package/dist/web/assets/{files-settings-section-D_sgDKwF.js → files-settings-section-h6a-WpSO.js} +1 -1
  73. package/dist/web/assets/{flask-conical-tp8gyZGh.js → flask-conical-Cj-J6cxs.js} +1 -1
  74. package/dist/web/assets/{folder-symlink-fQRoG_rV.js → folder-symlink-BSYalAHC.js} +1 -1
  75. package/dist/web/assets/{fortran-fixed-form-Di9Yw_ao.js → fortran-fixed-form-DrQbMSkt.js} +1 -1
  76. package/dist/web/assets/{fsharp-IRAdAkHt.js → fsharp-DvDj84Ys.js} +1 -1
  77. package/dist/web/assets/{gdresource-DVdwnvP-.js → gdresource-CPgY7R2s.js} +1 -1
  78. package/dist/web/assets/{general-settings-section-D7DMjoNj.js → general-settings-section-Bt3KNcyM.js} +1 -1
  79. package/dist/web/assets/{git-commit-CD6jLHvg.js → git-commit-NJ9iGbTd.js} +1 -1
  80. package/dist/web/assets/{git-log-panel-prL5-n-F.js → git-log-panel-H-Bg9p7m.js} +1 -1
  81. package/dist/web/assets/{git-rebase-DvxNkg7t.js → git-rebase-DBSy9OKE.js} +1 -1
  82. package/dist/web/assets/gitGraph-HDMCJU4V-At-P8hlA.js +1 -0
  83. package/dist/web/assets/glide-data-grid-D3Xc_WGh.js +141 -0
  84. package/dist/web/assets/{glimmer-js-aM9jbY2M.js → glimmer-js-EGWSSdwJ.js} +1 -1
  85. package/dist/web/assets/{glimmer-ts-Bd4jKeuF.js → glimmer-ts-BpfXRYRV.js} +1 -1
  86. package/dist/web/assets/{glsl-CUUtWNTx.js → glsl-BtWQ4j8X.js} +1 -1
  87. package/dist/web/assets/{graphql-DkY6xCcc.js → graphql-DHR5AO2c.js} +1 -1
  88. package/dist/web/assets/{group-chat-tab-C4oY3IKi.js → group-chat-tab-BkLt7J_s.js} +1 -1
  89. package/dist/web/assets/{hack-DnaR9DJk.js → hack-A3iOItmC.js} +1 -1
  90. package/dist/web/assets/{haml-BDubxAIK.js → haml-DXA8NXfZ.js} +1 -1
  91. package/dist/web/assets/{hand-x0ejq3fS.js → hand-BkDyLfcc.js} +1 -1
  92. package/dist/web/assets/{handlebars-OxsbI1gt.js → handlebars-BdIFK4pP.js} +1 -1
  93. package/dist/web/assets/{html-Cjiwd8dp.js → html-BTA4eRkb.js} +1 -1
  94. package/dist/web/assets/{html-derivative-CfzXt9Cs.js → html-derivative-Cd_vDV4L.js} +1 -1
  95. package/dist/web/assets/{http-DRF6Wp6Y.js → http-CMY5fp9k.js} +1 -1
  96. package/dist/web/assets/{hurl-6SunVID_.js → hurl-DJZLRi6K.js} +1 -1
  97. package/dist/web/assets/{hxml-CR72N708.js → hxml-C2EdtM37.js} +1 -1
  98. package/dist/web/assets/{image-preview-C7dCEQCx.js → image-preview-D_6-FhZP.js} +1 -1
  99. package/dist/web/assets/{index-A3ripVe5.js → index-BV_sFdHY.js} +8 -8
  100. package/dist/web/assets/index-Di9nVG3y.css +2 -0
  101. package/dist/web/assets/info-3K5VOQVL-btSsuixb.js +1 -0
  102. package/dist/web/assets/{jinja-CYjAWnk3.js → jinja-DWU92jHm.js} +1 -1
  103. package/dist/web/assets/{jira-watcher-section-DvKEiqtb.js → jira-watcher-section-BhQzWJ3r.js} +1 -1
  104. package/dist/web/assets/{jison-UERnq4ds.js → jison-Bt3f5-S6.js} +1 -1
  105. package/dist/web/assets/{julia-WAZzVFSs.js → julia-BS-e0jQg.js} +1 -1
  106. package/dist/web/assets/{just-B1YYfl1D.js → just-OU89Ot3I.js} +1 -1
  107. package/dist/web/assets/{key-round-CQpDrDxg.js → key-round-Cv4z7_KG.js} +1 -1
  108. package/dist/web/assets/keybindings-store-alreySno.js +1 -0
  109. package/dist/web/assets/{keyboard-DiOYrs6C.js → keyboard-HG0BUtuN.js} +1 -1
  110. package/dist/web/assets/{keyboard-shortcuts-section-CPsFUned.js → keyboard-shortcuts-section-B_D0FamP.js} +1 -1
  111. package/dist/web/assets/{latex-B6zwM9GI.js → latex-Bt5mTs31.js} +1 -1
  112. package/dist/web/assets/{lib-Bss7BrXJ.js → lib-DUBAP_Gd.js} +1 -1
  113. package/dist/web/assets/{liquid-n4OK-yxz.js → liquid-C03IGCJ6.js} +1 -1
  114. package/dist/web/assets/loader-circle-H81ywCuQ.js +1 -0
  115. package/dist/web/assets/{lua-DJYn-zFg.js → lua-Dl4zPu0P.js} +1 -1
  116. package/dist/web/assets/markdown-renderer-CG_nGh7k.js +3 -0
  117. package/dist/web/assets/markdown-renderer-CgbqvSuc.js +1 -0
  118. package/dist/web/assets/{marko-C27Qtq0P.js → marko-BEnkIoHY.js} +1 -1
  119. package/dist/web/assets/{mdc-CypKG7qW.js → mdc-DGglct19.js} +1 -1
  120. package/dist/web/assets/{media-url-TGgkntUW.js → media-url-LiPp2UsV.js} +1 -1
  121. package/dist/web/assets/{mobile-bottom-sheet-CmySDB6I.js → mobile-bottom-sheet-BizNfPAu.js} +1 -1
  122. package/dist/web/assets/mobile-explorer-sheet-DAZTzi1k.js +1 -0
  123. package/dist/web/assets/{monitor-C835ucWH.js → monitor-CKcYUoAV.js} +1 -1
  124. package/dist/web/assets/{nextflow-DuRHA0PY.js → nextflow-DKFYidyC.js} +1 -1
  125. package/dist/web/assets/{nginx-vxFTb1fh.js → nginx-Bhq0tzlh.js} +1 -1
  126. package/dist/web/assets/{nim-ChQDNOKe.js → nim-CSuBzart.js} +1 -1
  127. package/dist/web/assets/notification-store-HCg5Shw9.js +1 -0
  128. package/dist/web/assets/{notifications-settings-section-CaQVTa3a.js → notifications-settings-section-BAs_p_ai.js} +1 -1
  129. package/dist/web/assets/{number-overlay-editor-HmOZ3ETg.js → number-overlay-editor-CYHlP43e.js} +1 -1
  130. package/dist/web/assets/{overview-panel-CaU5AtCB.js → overview-panel-xn2BYvn6.js} +1 -1
  131. package/dist/web/assets/packet-RMMSAZCW-B20_sIFd.js +1 -0
  132. package/dist/web/assets/{panel-store-BmdcSBNb.js → panel-store-XhAruR6D.js} +1 -1
  133. package/dist/web/assets/{pdf-preview-QeXX_VpL.js → pdf-preview-BJjqU3AX.js} +1 -1
  134. package/dist/web/assets/{perl-BKH-mNmF.js → perl-uDVR7Ceh.js} +1 -1
  135. package/dist/web/assets/{php-W3oWF62o.js → php-Bby8J3zk.js} +1 -1
  136. package/dist/web/assets/pie-UPGHQEXC-nzfJdXCC.js +1 -0
  137. package/dist/web/assets/portal-container-context-Bqn516X4.js +1 -0
  138. package/dist/web/assets/postgres-viewer-CJbHLcGE.js +3 -0
  139. package/dist/web/assets/power-D_wlLkC0.js +1 -0
  140. package/dist/web/assets/{ppmbot-settings-section-B_00Zb-K.js → ppmbot-settings-section-5U0a58oj.js} +1 -1
  141. package/dist/web/assets/{process-table-DweR4FR3.js → process-table-CqGL0Bcj.js} +1 -1
  142. package/dist/web/assets/{project-store-wWZ6bjwq.js → project-store-Dy3A3LJT.js} +1 -1
  143. package/dist/web/assets/{proxy-settings-section-sGhA3t_m.js → proxy-settings-section-B1LDpGSc.js} +1 -1
  144. package/dist/web/assets/{pug-DscH2YvH.js → pug-EapfojTW.js} +1 -1
  145. package/dist/web/assets/{qml-CbBrfy74.js → qml-DiR6J5_C.js} +1 -1
  146. package/dist/web/assets/{query-audit-section-BtqND9WE.js → query-audit-section-DfCvY94_.js} +1 -1
  147. package/dist/web/assets/radar-KQ55EAFF-CS4sHKD5.js +1 -0
  148. package/dist/web/assets/{razor-_oKX4NEv.js → razor-B2QvlGNY.js} +1 -1
  149. package/dist/web/assets/{react-D1Yg256j.js → react-Bcm1Oab0.js} +1 -1
  150. package/dist/web/assets/remote-desktop-mobile-sheet-_LH4uCcA.js +2 -0
  151. package/dist/web/assets/{remote-desktop-mobile-view-xlO-gk_f.js → remote-desktop-mobile-view-C5TUPDh_.js} +1 -1
  152. package/dist/web/assets/{remote-desktop-readiness-gate-BmyUd1vt.js → remote-desktop-readiness-gate-DuT4A893.js} +1 -1
  153. package/dist/web/assets/{remote-desktop-window-content-BaPixhFs.js → remote-desktop-window-content-B4V-1aJn.js} +1 -1
  154. package/dist/web/assets/{rst-C3yqfWYA.js → rst-D2eJ0kH4.js} +1 -1
  155. package/dist/web/assets/{ruby-BaanPyyv.js → ruby-DzpnBpz-.js} +1 -1
  156. package/dist/web/assets/{run-in-terminal-Sb6TFU4f.js → run-in-terminal-DisO5HC-.js} +1 -1
  157. package/dist/web/assets/{sas-DQg1FY8E.js → sas-WDAKsX0U.js} +1 -1
  158. package/dist/web/assets/{save-CipGrG1k.js → save-BehCuMf4.js} +1 -1
  159. package/dist/web/assets/{schedules-settings-section-Ctu9STMV.js → schedules-settings-section-C2SjwWFB.js} +1 -1
  160. package/dist/web/assets/{scss-N-LxVilh.js → scss-Ci6PdscL.js} +1 -1
  161. package/dist/web/assets/{send-Bb0jtcR6.js → send-CtXcGcsk.js} +1 -1
  162. package/dist/web/assets/{send-to-chat-BDws0-k0.js → send-to-chat-DDFdKWNf.js} +1 -1
  163. package/dist/web/assets/{separator-GeVzERIl.js → separator-CyisF27O.js} +1 -1
  164. package/dist/web/assets/settings-body-CdFauCAU.js +2 -0
  165. package/dist/web/assets/{settings-store-Bsu_5zIU.js → settings-store-BkNrLdjk.js} +2 -2
  166. package/dist/web/assets/settings-tab-DGUlmMbc.js +1 -0
  167. package/dist/web/assets/settings-window-content-CIH5sihe.js +1 -0
  168. package/dist/web/assets/{shaderlab-BShqbudx.js → shaderlab-Cv3mWofL.js} +1 -1
  169. package/dist/web/assets/{shellsession-B8_nNEok.js → shellsession-D1KVtQa1.js} +1 -1
  170. package/dist/web/assets/{shield-check-BsG3LV8i.js → shield-check-z9PX8HVZ.js} +1 -1
  171. package/dist/web/assets/{shield-off-7jKWpJBD.js → shield-off-Du0U5dVI.js} +1 -1
  172. package/dist/web/assets/{soy-CW5oqa-M.js → soy-BGLBwFZT.js} +1 -1
  173. package/dist/web/assets/{sparkles-Dh-_J2Rd.js → sparkles-CO9zx1f-.js} +1 -1
  174. package/dist/web/assets/{sparql-BJFHPosZ.js → sparql-TvnQmFDh.js} +1 -1
  175. package/dist/web/assets/{sql-query-editor-DPtExW0C.js → sql-query-editor-DaQqRBNA.js} +1 -1
  176. package/dist/web/assets/sqlite-viewer-Bpz7QnBk.js +1 -0
  177. package/dist/web/assets/{stata-twP3WAnN.js → stata-Gi-BKyEv.js} +1 -1
  178. package/dist/web/assets/{streaming-store-9XVmAMfV.js → streaming-store-DAbnOfLu.js} +1 -1
  179. package/dist/web/assets/{surrealql-CqwoQxwG.js → surrealql-BVXs6tkz.js} +1 -1
  180. package/dist/web/assets/{svelte-CoTGkG7y.js → svelte-BlnFpLWV.js} +1 -1
  181. package/dist/web/assets/{system-monitor-body-Bfx7yImc.js → system-monitor-body-BBJOWFCa.js} +2 -2
  182. package/dist/web/assets/system-monitor-tab-D7RIwhmg.js +1 -0
  183. package/dist/web/assets/system-monitor-window-content-CH0UmMP9.js +1 -0
  184. package/dist/web/assets/{tab-host-window-content-By35Ri11.js → tab-host-window-content-C_yU5MH_.js} +1 -1
  185. package/dist/web/assets/{tab-store-1xYJb0gM.js → tab-store-B7BksLr-.js} +1 -1
  186. package/dist/web/assets/{table-CRJsmfeg.js → table-BK4h8E7u.js} +1 -1
  187. package/dist/web/assets/team-member-sheet-CopMME1E.js +2 -0
  188. package/dist/web/assets/{team-member-window-content-2_P22CXN.js → team-member-window-content-CUDQ6oX7.js} +1 -1
  189. package/dist/web/assets/{templ-BSuNrgD0.js → templ-YJYH5r1A.js} +1 -1
  190. package/dist/web/assets/{terminal-tab-DqAZMwhA.js → terminal-tab-BjI95uG5.js} +1 -1
  191. package/dist/web/assets/{tex-DTdKTZSa.js → tex-IVZLDIeh.js} +1 -1
  192. package/dist/web/assets/{text-wrap-oiekm5SB.js → text-wrap-DLtVgSnU.js} +1 -1
  193. package/dist/web/assets/{tool-cards-CiCZqw1w.js → tool-cards-I71v1w5Z.js} +6 -6
  194. package/dist/web/assets/treemap-KZPCXAKY-BBrhTPZk.js +1 -0
  195. package/dist/web/assets/{ts-tags-jpjff8fb.js → ts-tags-DBd321I-.js} +1 -1
  196. package/dist/web/assets/{twig-Utgjq3Am.js → twig-DQENQjEn.js} +1 -1
  197. package/dist/web/assets/{use-blob-url-BMtoAEL4.js → use-blob-url-CGChX4vi.js} +1 -1
  198. package/dist/web/assets/{use-coarse-long-press-BmI_GVW5.js → use-coarse-long-press-XrJ4Upuv.js} +1 -1
  199. package/dist/web/assets/{use-inline-blame-C1G-_NjC.js → use-inline-blame-CRUwd6FF.js} +1 -1
  200. package/dist/web/assets/{use-is-mobile-D1weanbj.js → use-is-mobile-Dypg-2ZO.js} +1 -1
  201. package/dist/web/assets/use-monaco-theme-qzMbRfCW.js +1 -0
  202. package/dist/web/assets/use-open-team-member-kmNnlzDD.js +1 -0
  203. package/dist/web/assets/{use-remote-desktop-display-choice-DVDOUQg2.js → use-remote-desktop-display-choice-0zDkCmsK.js} +1 -1
  204. package/dist/web/assets/{use-visual-viewport-Bfl3Bxxb.js → use-visual-viewport-Bj3QHRkF.js} +1 -1
  205. package/dist/web/assets/{use-websocket-BkBvJbEt.js → use-websocket-D8OGBwH8.js} +1 -1
  206. package/dist/web/assets/{vendor-markdown-Ls5AcU91.js → vendor-markdown-CuWCHIVb.js} +1 -1
  207. package/dist/web/assets/{vendor-mermaid-CXxglerV.js → vendor-mermaid-BoRFiriK.js} +193 -193
  208. package/dist/web/assets/{vendor-ui-CaeeFO0B.js → vendor-ui-BBdkypKW.js} +1 -1
  209. package/dist/web/assets/{video-preview-DzzFr0gI.js → video-preview-Mlgl7hGr.js} +1 -1
  210. package/dist/web/assets/{vue-CUms54DI.js → vue-Do2JXEwi.js} +1 -1
  211. package/dist/web/assets/{vue-html-D7fbWTZW.js → vue-html-Bse0CwSC.js} +1 -1
  212. package/dist/web/assets/{vue-vine-BontZ1iR.js → vue-vine-C8JSXu5Z.js} +1 -1
  213. package/dist/web/assets/{window-pip-registry-CrCYYTTf.js → window-pip-registry-C2dcY0pE.js} +1 -1
  214. package/dist/web/assets/{window-store-D0HbQ1pM.js → window-store-2z4t5YAt.js} +1 -1
  215. package/dist/web/assets/ws-auth-DI1E6Fe7.js +1 -0
  216. package/dist/web/assets/x-DlnNFF2t.js +1 -0
  217. package/dist/web/assets/{xml-CVHJ-Tda.js → xml-OX6YmzGK.js} +1 -1
  218. package/dist/web/assets/{xsl-BUDXwDuV.js → xsl-RQUQgcgy.js} +1 -1
  219. package/dist/web/index.html +43 -43
  220. package/dist/web/sw.js +1 -1
  221. package/package.json +1 -1
  222. package/packages/vscode-compat/node_modules/.bin/tsc.bunx +0 -0
  223. package/packages/vscode-compat/node_modules/.bin/tsc.exe +0 -0
  224. package/packages/vscode-compat/node_modules/.bin/tsserver.bunx +0 -0
  225. package/packages/vscode-compat/node_modules/.bin/tsserver.exe +0 -0
  226. package/src/providers/codex-app-server/codex-event-mapper.ts +28 -1
  227. package/src/providers/codex-app-server/codex-provider.ts +38 -5
  228. package/src/providers/codex-app-server/codex-usage-parser.ts +3 -1
  229. package/src/server/routes/codex-accounts.ts +9 -5
  230. package/src/services/codex-account-login.ts +33 -5
  231. package/src/services/codex-account-portability.ts +3 -2
  232. package/src/services/codex-account.service.ts +48 -7
  233. package/src/services/codex-login-callback.ts +18 -0
  234. package/src/services/db.service.ts +14 -0
  235. package/src/services/edge-forwarder.ts +191 -191
  236. package/src/services/windows-process-tree.ts +351 -351
  237. package/src/shared/codex-daily-guard.ts +27 -0
  238. package/src/shared/codex-plan-label.ts +17 -0
  239. package/src/web/components/chat/codex-usage-panel.tsx +22 -2
  240. package/src/web/components/settings/accounts/account-card.tsx +43 -2
  241. package/src/web/components/settings/accounts/codex-accounts-section.tsx +43 -2
  242. package/src/web/components/settings/accounts/use-codex-accounts.ts +14 -2
  243. package/src/web/components/shared/markdown-context.ts +6 -0
  244. package/src/web/components/shared/markdown-renderer.tsx +7 -3
  245. package/dist/web/assets/accounts-settings-section-Df1KoGg7.js +0 -1
  246. package/dist/web/assets/ai-settings-section-CMIkIxZU.js +0 -1
  247. package/dist/web/assets/api-client-QfreGirP.js +0 -1
  248. package/dist/web/assets/architecture-PBZL5I3N-CkWx_Sv3.js +0 -1
  249. package/dist/web/assets/arrow-left-CyFcsyzD.js +0 -1
  250. package/dist/web/assets/check-DN75Ucvz.js +0 -1
  251. package/dist/web/assets/chevron-right-De-Wz5Lz.js +0 -1
  252. package/dist/web/assets/circle-BCy0AUCo.js +0 -1
  253. package/dist/web/assets/circle-question-mark-CzR7YRc-.js +0 -1
  254. package/dist/web/assets/click-outside-container-XmmmdSm7.js +0 -1
  255. package/dist/web/assets/clock-C1CQUQPZ.js +0 -1
  256. package/dist/web/assets/code-DJgYrFzm.js +0 -1
  257. package/dist/web/assets/code-editor-BVyFjaoM.js +0 -7
  258. package/dist/web/assets/data-grid-overlay-editor-QyH_oklj.js +0 -1
  259. package/dist/web/assets/database-viewer-BWQMTwjf.js +0 -1
  260. package/dist/web/assets/dist-CQbltjRp.js +0 -11
  261. package/dist/web/assets/esm-Brdy2Atb.js +0 -2
  262. package/dist/web/assets/explorer-window-content-C3BSd4Qf.js +0 -1
  263. package/dist/web/assets/gitGraph-HDMCJU4V-BUlbZgyf.js +0 -1
  264. package/dist/web/assets/glide-data-grid-lbUFJwCD.js +0 -141
  265. package/dist/web/assets/index-B9Wbjl0o.css +0 -2
  266. package/dist/web/assets/info-3K5VOQVL-DXzjBxZf.js +0 -1
  267. package/dist/web/assets/keybindings-store-BOJPwIOB.js +0 -1
  268. package/dist/web/assets/loader-circle-DPMrnLQ2.js +0 -1
  269. package/dist/web/assets/markdown-renderer-C1KVXiXr.js +0 -3
  270. package/dist/web/assets/markdown-renderer-HPQE8ilD.js +0 -1
  271. package/dist/web/assets/mobile-explorer-sheet-DkvtLBgs.js +0 -1
  272. package/dist/web/assets/notification-store-B1pBUO0W.js +0 -1
  273. package/dist/web/assets/packet-RMMSAZCW-DrX3I-bv.js +0 -1
  274. package/dist/web/assets/pie-UPGHQEXC-czhViDrP.js +0 -1
  275. package/dist/web/assets/portal-container-context-DKymYOY-.js +0 -1
  276. package/dist/web/assets/postgres-viewer-DO50GwMs.js +0 -3
  277. package/dist/web/assets/power-CriQkeK5.js +0 -1
  278. package/dist/web/assets/radar-KQ55EAFF-BAHP0n2V.js +0 -1
  279. package/dist/web/assets/remote-desktop-mobile-sheet-DMn2uDXn.js +0 -2
  280. package/dist/web/assets/settings-body-B0ZdO6qx.js +0 -2
  281. package/dist/web/assets/settings-tab-BQvukPz5.js +0 -1
  282. package/dist/web/assets/settings-window-content-DUmULFsq.js +0 -1
  283. package/dist/web/assets/sqlite-viewer-DkzvIzyG.js +0 -1
  284. package/dist/web/assets/system-monitor-tab-Bn7sDAiO.js +0 -1
  285. package/dist/web/assets/system-monitor-window-content-DVwdAvly.js +0 -1
  286. package/dist/web/assets/team-member-sheet-B8vZnJrJ.js +0 -2
  287. package/dist/web/assets/treemap-KZPCXAKY-DL_-JS7u.js +0 -1
  288. package/dist/web/assets/use-accounts-data-DMQAUXSO.js +0 -1
  289. package/dist/web/assets/use-monaco-theme-Ck1i7NEe.js +0 -1
  290. package/dist/web/assets/use-open-team-member-C9EUqPvl.js +0 -1
  291. package/dist/web/assets/ws-auth-D111jj32.js +0 -1
  292. package/dist/web/assets/x-CxoBA0po.js +0 -1
  293. /package/dist/web/assets/{abap-BGbkXtK3.js → abap-BIHt2d9F.js} +0 -0
  294. /package/dist/web/assets/{actionscript-3-CTWUcAG5.js → actionscript-3-rbCNRHFj.js} +0 -0
  295. /package/dist/web/assets/{ada-2xQ2Am_-.js → ada-CN94LQTJ.js} +0 -0
  296. /package/dist/web/assets/{andromeeda-DfXLrHKa.js → andromeeda-BsmcoXuQ.js} +0 -0
  297. /package/dist/web/assets/{apache-CBLZGsyo.js → apache-pRQmqcVZ.js} +0 -0
  298. /package/dist/web/assets/{apex-UYnVUoc7.js → apex-CNEumC1X.js} +0 -0
  299. /package/dist/web/assets/{applescript-9me9Xoqf.js → applescript-DjEVsS-3.js} +0 -0
  300. /package/dist/web/assets/{apply-theme-BVXAUYoN.js → apply-theme-Abd1TNqE.js} +0 -0
  301. /package/dist/web/assets/{ara-CHhiJzie.js → ara-DbhZRlTL.js} +0 -0
  302. /package/dist/web/assets/{asciidoc-CKk0H4sD.js → asciidoc-BsfbAXIK.js} +0 -0
  303. /package/dist/web/assets/{asm-CVc_SeQB.js → asm-Vw5NMXjI.js} +0 -0
  304. /package/dist/web/assets/{aurora-x-BRYBKvUk.js → aurora-x-CoahU6sR.js} +0 -0
  305. /package/dist/web/assets/{awk-BsBtss7k.js → awk-ChKjCxHz.js} +0 -0
  306. /package/dist/web/assets/{ayu-dark-x3ChmRrr.js → ayu-dark-By9RKxTf.js} +0 -0
  307. /package/dist/web/assets/{ayu-light-DUbhGec6.js → ayu-light-CEsgeLON.js} +0 -0
  308. /package/dist/web/assets/{ayu-mirage-Bc9Dyu4v.js → ayu-mirage-CYrtwSLW.js} +0 -0
  309. /package/dist/web/assets/{ballerina-B0CV6yyC.js → ballerina-CCSVz22W.js} +0 -0
  310. /package/dist/web/assets/{bat-BmukVhcd.js → bat-DU4--CMj.js} +0 -0
  311. /package/dist/web/assets/{beancount-DfRKW4qX.js → beancount-DF_tlRlF.js} +0 -0
  312. /package/dist/web/assets/{berry-BXO-GbOz.js → berry-CZTnatvO.js} +0 -0
  313. /package/dist/web/assets/{bibtex-BIMgGN81.js → bibtex-BSpXy8jk.js} +0 -0
  314. /package/dist/web/assets/{bicep-CIaj_N_V.js → bicep-yv1Ydq5Z.js} +0 -0
  315. /package/dist/web/assets/{bird2-Ca5CJ-1r.js → bird2-Db7Z7SMN.js} +0 -0
  316. /package/dist/web/assets/{c-BgN-FzVO.js → c-C3ivhwA4.js} +0 -0
  317. /package/dist/web/assets/{c3-B366g85t.js → c3-N4mKyst9.js} +0 -0
  318. /package/dist/web/assets/{cadence-BDCY3xvX.js → cadence-BYK8tFFk.js} +0 -0
  319. /package/dist/web/assets/{can-open-in-ppm-DyFXJvuW.js → can-open-in-ppm-DU5MH6XF.js} +0 -0
  320. /package/dist/web/assets/{catppuccin-frappe-C2dWlEOM.js → catppuccin-frappe-BK9Tv2XG.js} +0 -0
  321. /package/dist/web/assets/{catppuccin-latte-B6AgUzC2.js → catppuccin-latte-De4mVCp3.js} +0 -0
  322. /package/dist/web/assets/{catppuccin-macchiato-D2r_sUYa.js → catppuccin-macchiato-Bxt_D7cs.js} +0 -0
  323. /package/dist/web/assets/{catppuccin-mocha-CCJOmGcr.js → catppuccin-mocha-Dz2o8gN7.js} +0 -0
  324. /package/dist/web/assets/{clarity-7c_yM38y.js → clarity-BJdh0Pw-.js} +0 -0
  325. /package/dist/web/assets/{clojure-Cx30u1gg.js → clojure-DG-FYGzn.js} +0 -0
  326. /package/dist/web/assets/{cmake-D8nfcw9r.js → cmake-D1imEXan.js} +0 -0
  327. /package/dist/web/assets/{codeowners-z9VeFgy0.js → codeowners-YpylTFB5.js} +0 -0
  328. /package/dist/web/assets/{codeql-DXYEc0p7.js → codeql-ajDEPgqi.js} +0 -0
  329. /package/dist/web/assets/{common-lisp-QB2DYRB7.js → common-lisp-C2sCrd-m.js} +0 -0
  330. /package/dist/web/assets/{coq-DC4-vZSI.js → coq-BqybyDc9.js} +0 -0
  331. /package/dist/web/assets/{csharp-iBJcXIuz.js → csharp-nKCEiujy.js} +0 -0
  332. /package/dist/web/assets/{css-DzLteUnC.js → css-CJSp2CsD.js} +0 -0
  333. /package/dist/web/assets/{csv-plVZ5iV_.js → csv-Nh9vQwQm.js} +0 -0
  334. /package/dist/web/assets/{csv-parser-0OmrzV4G.js → csv-parser-iow1WWML.js} +0 -0
  335. /package/dist/web/assets/{cue-MFyM4FwJ.js → cue-Ch79RPsU.js} +0 -0
  336. /package/dist/web/assets/{cypher-BmV76dTw.js → cypher-CgiOQ6hs.js} +0 -0
  337. /package/dist/web/assets/{d-CukQ97B6.js → d-CmBcySpH.js} +0 -0
  338. /package/dist/web/assets/{dark-plus-BDhlhnd-.js → dark-plus-COLEX2ui.js} +0 -0
  339. /package/dist/web/assets/{dart-BEDiNp89.js → dart-BTAArMcJ.js} +0 -0
  340. /package/dist/web/assets/{dax-CKMJPpmb.js → dax-BbZzRY9i.js} +0 -0
  341. /package/dist/web/assets/{desktop-CjjGerHK.js → desktop-OmQvU3-J.js} +0 -0
  342. /package/dist/web/assets/{diff-CuRWQEJk.js → diff-BEPnb9Fb.js} +0 -0
  343. /package/dist/web/assets/{docker-BzeqNwXY.js → docker-Cg17HgTD.js} +0 -0
  344. /package/dist/web/assets/{dotenv-maAByz4s.js → dotenv-DEMIaY7V.js} +0 -0
  345. /package/dist/web/assets/{dracula-BK-58eQL.js → dracula-BkCFq8SO.js} +0 -0
  346. /package/dist/web/assets/{dracula-soft-BiBFiJ4B.js → dracula-soft-Cjp6-ltF.js} +0 -0
  347. /package/dist/web/assets/{dream-maker-SLz866k9.js → dream-maker-Ce7Y_UKj.js} +0 -0
  348. /package/dist/web/assets/{emacs-lisp-DVVSBvYb.js → emacs-lisp-BjpyfTbN.js} +0 -0
  349. /package/dist/web/assets/{everforest-dark-B3wCaZGh.js → everforest-dark-9r4okw1s.js} +0 -0
  350. /package/dist/web/assets/{everforest-light-BOv6DEcT.js → everforest-light-GCQTZ3Ju.js} +0 -0
  351. /package/dist/web/assets/{fennel-mxeAVgSR.js → fennel-ITjY5Z6u.js} +0 -0
  352. /package/dist/web/assets/{fish-CNPEh-7O.js → fish-DP2uEzyg.js} +0 -0
  353. /package/dist/web/assets/{fluent-DzjF371g.js → fluent-irzaP1f6.js} +0 -0
  354. /package/dist/web/assets/{format-bytes-BxBoqnS1.js → format-bytes-B9Dbme9a.js} +0 -0
  355. /package/dist/web/assets/{fortran-free-form-BwcDAA-k.js → fortran-free-form-BAPoainr.js} +0 -0
  356. /package/dist/web/assets/{gdscript-Dw53oyoq.js → gdscript-DJ098V1z.js} +0 -0
  357. /package/dist/web/assets/{gdshader-Ch4uX8TL.js → gdshader-DS2Jfy-K.js} +0 -0
  358. /package/dist/web/assets/{genie-BmyA3sav.js → genie-CqfOaFFx.js} +0 -0
  359. /package/dist/web/assets/{gherkin-TJfGbfw6.js → gherkin-CoZ2ucDH.js} +0 -0
  360. /package/dist/web/assets/{github-dark-DfjGEBZm.js → github-dark-BNLgnSO9.js} +0 -0
  361. /package/dist/web/assets/{github-dark-default-C05CO5WG.js → github-dark-default-CYlSggwi.js} +0 -0
  362. /package/dist/web/assets/{github-dark-dimmed-tc58hIbY.js → github-dark-dimmed-DumUysDk.js} +0 -0
  363. /package/dist/web/assets/{github-dark-high-contrast-Cbjouhax.js → github-dark-high-contrast-TKrcDJ2I.js} +0 -0
  364. /package/dist/web/assets/{github-light-DyPx5kxT.js → github-light-DVENFHLJ.js} +0 -0
  365. /package/dist/web/assets/{github-light-default-CwQhvvq0.js → github-light-default-DtN8AGcE.js} +0 -0
  366. /package/dist/web/assets/{github-light-high-contrast-BSEfGuGA.js → github-light-high-contrast-NSyF37x4.js} +0 -0
  367. /package/dist/web/assets/{gleam-CO9BliEd.js → gleam-hp4NMSb5.js} +0 -0
  368. /package/dist/web/assets/{gn-3w7c2jXR.js → gn-Dptw2PEu.js} +0 -0
  369. /package/dist/web/assets/{gnuplot-B9V8Da0h.js → gnuplot-9juRzjwv.js} +0 -0
  370. /package/dist/web/assets/{go-DZFS3BH_.js → go-D-QLCda0.js} +0 -0
  371. /package/dist/web/assets/{groovy-BoXoCYbJ.js → groovy-DHKNy6Eh.js} +0 -0
  372. /package/dist/web/assets/{gruvbox-dark-hard-PlwQadvn.js → gruvbox-dark-hard-BFD6aQdB.js} +0 -0
  373. /package/dist/web/assets/{gruvbox-dark-medium-BCuSx7jF.js → gruvbox-dark-medium-D5llYBNp.js} +0 -0
  374. /package/dist/web/assets/{gruvbox-dark-soft-BxNVGg5m.js → gruvbox-dark-soft-DOztQmNR.js} +0 -0
  375. /package/dist/web/assets/{gruvbox-light-hard-Caj_mHvE.js → gruvbox-light-hard-BFGD-8Pd.js} +0 -0
  376. /package/dist/web/assets/{gruvbox-light-medium-BbWauaVM.js → gruvbox-light-medium-DzoyXgT7.js} +0 -0
  377. /package/dist/web/assets/{gruvbox-light-soft-sTtAiBhF.js → gruvbox-light-soft-B1Ix2zLN.js} +0 -0
  378. /package/dist/web/assets/{haskell-DdAcCutT.js → haskell-BnrJ0k7G.js} +0 -0
  379. /package/dist/web/assets/{haxe-CAaBQSbQ.js → haxe-DwShHT_-.js} +0 -0
  380. /package/dist/web/assets/{hcl-D1Y6h8Ni.js → hcl-VOjEibVB.js} +0 -0
  381. /package/dist/web/assets/{hjson-C7gAy4J-.js → hjson-BHEn7pNn.js} +0 -0
  382. /package/dist/web/assets/{hlsl-BLCpvTDs.js → hlsl-CrvxlGii.js} +0 -0
  383. /package/dist/web/assets/{horizon-A4TcfP_V.js → horizon-D3T-P0u6.js} +0 -0
  384. /package/dist/web/assets/{horizon-bright-D4gSyLkJ.js → horizon-bright-vifGsEdk.js} +0 -0
  385. /package/dist/web/assets/{houston-B57jZ5OJ.js → houston-IrOgT7r4.js} +0 -0
  386. /package/dist/web/assets/{hy-C-_Ikdzx.js → hy-5eSgTJ8G.js} +0 -0
  387. /package/dist/web/assets/{image-gallery-DZFo6X0Q.js → image-gallery-COea0nSk.js} +0 -0
  388. /package/dist/web/assets/{imba-BwypdGq0.js → imba-Dp0I4DVl.js} +0 -0
  389. /package/dist/web/assets/{ini-DFC2fVTV.js → ini-CHDKad9O.js} +0 -0
  390. /package/dist/web/assets/{java-K2R-OeI_.js → java-YLv7IDJ1.js} +0 -0
  391. /package/dist/web/assets/{javascript-Dwc_x-Qy.js → javascript-jr4kIdgl.js} +0 -0
  392. /package/dist/web/assets/{json-BWJ0jCOR.js → json-EJWSOZfp.js} +0 -0
  393. /package/dist/web/assets/{json5-CyjYMs2j.js → json5-D6f_uNwJ.js} +0 -0
  394. /package/dist/web/assets/{jsonc-DpY-971T.js → jsonc-DrHCdmos.js} +0 -0
  395. /package/dist/web/assets/{jsonl-MOid1Cv5.js → jsonl-Cwc3cXEL.js} +0 -0
  396. /package/dist/web/assets/{jsonnet-C8r7u8hK.js → jsonnet-BwZfaIFT.js} +0 -0
  397. /package/dist/web/assets/{jssm-aiVzgRKq.js → jssm-BpEmg_MT.js} +0 -0
  398. /package/dist/web/assets/{jsx-BouDi2uL.js → jsx-DBGPwcr4.js} +0 -0
  399. /package/dist/web/assets/{kanagawa-dragon-BDBacW42.js → kanagawa-dragon-DRfVaGIX.js} +0 -0
  400. /package/dist/web/assets/{kanagawa-lotus-Bjc_h4S5.js → kanagawa-lotus-CjOlny0Q.js} +0 -0
  401. /package/dist/web/assets/{kanagawa-wave-h12w2GK-.js → kanagawa-wave-DvdM88a4.js} +0 -0
  402. /package/dist/web/assets/{kdl-By4Gal6E.js → kdl-DSo3PvM0.js} +0 -0
  403. /package/dist/web/assets/{kotlin-BaieUpjq.js → kotlin-BV8TwCGu.js} +0 -0
  404. /package/dist/web/assets/{kusto-bFewy_Sb.js → kusto-DCo1Fdmm.js} +0 -0
  405. /package/dist/web/assets/{laserwave-DpFhqINu.js → laserwave-DPX9FvD9.js} +0 -0
  406. /package/dist/web/assets/{lean-DDn2i30H.js → lean-Cya8dqZu.js} +0 -0
  407. /package/dist/web/assets/{less-DtaLKtJv.js → less-CJUPgkIs.js} +0 -0
  408. /package/dist/web/assets/{libesm-DJd6dkYL.js → libesm-CcPYXCKp.js} +0 -0
  409. /package/dist/web/assets/{light-plus-BiMMZ8in.js → light-plus-BXXrlFJH.js} +0 -0
  410. /package/dist/web/assets/{llvm-BI0xMYjk.js → llvm-CUbQanZr.js} +0 -0
  411. /package/dist/web/assets/{log-BDnXCvPh.js → log-B3fFlSMd.js} +0 -0
  412. /package/dist/web/assets/{logo-DeOTbfcP.js → logo-ucAyw6zf.js} +0 -0
  413. /package/dist/web/assets/{luau-C8pWPPhP.js → luau-C4l6TSTB.js} +0 -0
  414. /package/dist/web/assets/{make-Du6n4Vqb.js → make-CDtGIVc7.js} +0 -0
  415. /package/dist/web/assets/{markdown-CQOwzr1d.js → markdown-CH1zKu2p.js} +0 -0
  416. /package/dist/web/assets/{material-theme-V1uvvG3T.js → material-theme-CEuGVTmh.js} +0 -0
  417. /package/dist/web/assets/{material-theme-darker-YOeOea0A.js → material-theme-darker-CUZ3MoIr.js} +0 -0
  418. /package/dist/web/assets/{material-theme-lighter-gsPcqGZh.js → material-theme-lighter-DxAqJSid.js} +0 -0
  419. /package/dist/web/assets/{material-theme-ocean-DXpcGhUO.js → material-theme-ocean-BSvvHJp6.js} +0 -0
  420. /package/dist/web/assets/{material-theme-palenight-CuXKc4Kv.js → material-theme-palenight-QVOl50_m.js} +0 -0
  421. /package/dist/web/assets/{matlab-DKfAoKWM.js → matlab-CZLQLwUp.js} +0 -0
  422. /package/dist/web/assets/{mdx-B3lHrBfA.js → mdx-DO4NJsOo.js} +0 -0
  423. /package/dist/web/assets/{mermaid-aFxjKRiq.js → mermaid-CIwzg1uO.js} +0 -0
  424. /package/dist/web/assets/{min-dark-z_K9sY1g.js → min-dark-BdIgslXy.js} +0 -0
  425. /package/dist/web/assets/{min-light-CKEPOwP-.js → min-light-DyU-T1r2.js} +0 -0
  426. /package/dist/web/assets/{mipsasm-Czl4687V.js → mipsasm-DRad-Klm.js} +0 -0
  427. /package/dist/web/assets/{mojo-XEmb6dMz.js → mojo-DXp5LDOc.js} +0 -0
  428. /package/dist/web/assets/{monokai-CeewfP-T.js → monokai-BiKX3qby.js} +0 -0
  429. /package/dist/web/assets/{moonbit-BFs6rC9o.js → moonbit-BOUoLF5r.js} +0 -0
  430. /package/dist/web/assets/{move-Dru-OXAq.js → move-Dlk64FWK.js} +0 -0
  431. /package/dist/web/assets/{narrat-C6i2yGbz.js → narrat-B-qd2Lh0.js} +0 -0
  432. /package/dist/web/assets/{nextflow-groovy-CNbSHaJ-.js → nextflow-groovy-iAMYas0F.js} +0 -0
  433. /package/dist/web/assets/{night-owl-XXoqvAPs.js → night-owl-3YNqjftR.js} +0 -0
  434. /package/dist/web/assets/{night-owl-light-Dm8251t1.js → night-owl-light-GIncHb5w.js} +0 -0
  435. /package/dist/web/assets/{nix-DUvtyLsY.js → nix-xjlEb3uw.js} +0 -0
  436. /package/dist/web/assets/{nord-DapQODEA.js → nord-C8tvWx7P.js} +0 -0
  437. /package/dist/web/assets/{nushell-WDWgg9A2.js → nushell-BqBb4pU6.js} +0 -0
  438. /package/dist/web/assets/{objective-c-Dg6Li1Kw.js → objective-c-Bk6s0Cn5.js} +0 -0
  439. /package/dist/web/assets/{objective-cpp-DLTQ4Pyg.js → objective-cpp-DGTVWQ3V.js} +0 -0
  440. /package/dist/web/assets/{ocaml-gH2M-t6b.js → ocaml-D6wPQ4kw.js} +0 -0
  441. /package/dist/web/assets/{odin-BBj0SPaN.js → odin-C9mw2xRN.js} +0 -0
  442. /package/dist/web/assets/{one-dark-pro-C8irccD3.js → one-dark-pro-SMBlneFb.js} +0 -0
  443. /package/dist/web/assets/{one-light-THMntV-R.js → one-light-C9JMU1Cx.js} +0 -0
  444. /package/dist/web/assets/{openscad-BEjRF8ZV.js → openscad-C0I9CtuA.js} +0 -0
  445. /package/dist/web/assets/{pascal-C7Kr1uH_.js → pascal-D0z4DJnY.js} +0 -0
  446. /package/dist/web/assets/{pkl-CBAaOrr-.js → pkl-CITYNGVz.js} +0 -0
  447. /package/dist/web/assets/{plastic-B1qtUEVU.js → plastic-Bf0T6rmg.js} +0 -0
  448. /package/dist/web/assets/{plsql-KzVm4VQQ.js → plsql-Chr907pu.js} +0 -0
  449. /package/dist/web/assets/{po-BDthh1AB.js → po-07U75CYV.js} +0 -0
  450. /package/dist/web/assets/{poimandres-DIsV0oVO.js → poimandres-B0T4qwXY.js} +0 -0
  451. /package/dist/web/assets/{polar-HfZSDZob.js → polar-BvNJMMV5.js} +0 -0
  452. /package/dist/web/assets/{postcss-D2mpQWcD.js → postcss-BSdf-zzo.js} +0 -0
  453. /package/dist/web/assets/{powerquery-BmWOahNZ.js → powerquery-B2Ad_HK8.js} +0 -0
  454. /package/dist/web/assets/{powershell-DuBkKB6U.js → powershell-DO5WY2v2.js} +0 -0
  455. /package/dist/web/assets/{prisma-DMOCr8t3.js → prisma-BfaRPYzs.js} +0 -0
  456. /package/dist/web/assets/{prolog-OntlFpI5.js → prolog-Cz0Nue9e.js} +0 -0
  457. /package/dist/web/assets/{proto-kD5tYlX3.js → proto-FVleUZJO.js} +0 -0
  458. /package/dist/web/assets/{puppet-CO4XS5MF.js → puppet-BEX5o7hE.js} +0 -0
  459. /package/dist/web/assets/{purescript-D_e2LzQx.js → purescript-BZX6Kw4j.js} +0 -0
  460. /package/dist/web/assets/{python-BcK-Cw6k.js → python-CO89UIxE.js} +0 -0
  461. /package/dist/web/assets/{qmldir-B-9b87fC.js → qmldir-DH526DWB.js} +0 -0
  462. /package/dist/web/assets/{qss-hWjUDAxi.js → qss-wp8im4Iz.js} +0 -0
  463. /package/dist/web/assets/{r-D0sNqudq.js → r-F9n--bvq.js} +0 -0
  464. /package/dist/web/assets/{racket-9cjYYXcq.js → racket-BQvbOE5D.js} +0 -0
  465. /package/dist/web/assets/{raku-ntPupo_R.js → raku-B0iWSynj.js} +0 -0
  466. /package/dist/web/assets/{red-D814sEjX.js → red-Cm00r9eI.js} +0 -0
  467. /package/dist/web/assets/{reg-bPzNEQh4.js → reg-CBuhna22.js} +0 -0
  468. /package/dist/web/assets/{regexp-B_zg64Ge.js → regexp-C9j1_6oU.js} +0 -0
  469. /package/dist/web/assets/{rel-CoB0Qjm-.js → rel-BYzlBhbq.js} +0 -0
  470. /package/dist/web/assets/{resolve-theme-CMp5xxCW.js → resolve-theme-Dm8ehbOv.js} +0 -0
  471. /package/dist/web/assets/{riscv-DcVTEi_B.js → riscv-CQQP0Ro9.js} +0 -0
  472. /package/dist/web/assets/{ron-CcAQMYzM.js → ron-j1ON9YzM.js} +0 -0
  473. /package/dist/web/assets/{rose-pine-jtG38kvA.js → rose-pine-Cbri3jon.js} +0 -0
  474. /package/dist/web/assets/{rose-pine-dawn-DkSLvjDV.js → rose-pine-dawn-BMuvKrGo.js} +0 -0
  475. /package/dist/web/assets/{rose-pine-moon-DJx8AxMs.js → rose-pine-moon-4biZzaYD.js} +0 -0
  476. /package/dist/web/assets/{rosmsg-BnfYFiWk.js → rosmsg-CXx22rtz.js} +0 -0
  477. /package/dist/web/assets/{rust-DxgQnpfl.js → rust-D28cFIhL.js} +0 -0
  478. /package/dist/web/assets/{sass-DTgjjspH.js → sass-DtNw4V28.js} +0 -0
  479. /package/dist/web/assets/{scala-xEozebyS.js → scala-hv69_YQC.js} +0 -0
  480. /package/dist/web/assets/{scheme-sfgxdr_D.js → scheme-Dtp9B_ng.js} +0 -0
  481. /package/dist/web/assets/{sdbl-BpdzD-Uv.js → sdbl-DEwEngAE.js} +0 -0
  482. /package/dist/web/assets/{shellscript-B2o7zCrN.js → shellscript-CCOF9tox.js} +0 -0
  483. /package/dist/web/assets/{slack-dark-DxfgNfgJ.js → slack-dark-DT0E0ABt.js} +0 -0
  484. /package/dist/web/assets/{slack-ochin-BMSGMkt8.js → slack-ochin-DHHiQnxo.js} +0 -0
  485. /package/dist/web/assets/{smalltalk-DCb8haRt.js → smalltalk-BF_I35xJ.js} +0 -0
  486. /package/dist/web/assets/{snazzy-light-Y06j56Vj.js → snazzy-light-Cv7tIZo9.js} +0 -0
  487. /package/dist/web/assets/{solarized-dark-z1W-RVhp.js → solarized-dark-wZ5YPCys.js} +0 -0
  488. /package/dist/web/assets/{solarized-light-BRAGTpW5.js → solarized-light-DGDOr1AS.js} +0 -0
  489. /package/dist/web/assets/{solidity-CDTZVMHy.js → solidity-BJknuPqJ.js} +0 -0
  490. /package/dist/web/assets/{splunk-CFjv6-V_.js → splunk-B1ClO_KU.js} +0 -0
  491. /package/dist/web/assets/{sql-Ce-1ETwT.js → sql-CXZ66NtF.js} +0 -0
  492. /package/dist/web/assets/{ssh-config-Bcs3SD-x.js → ssh-config-kgM67Sf6.js} +0 -0
  493. /package/dist/web/assets/{stylus-Co5Var6O.js → stylus-RcVaInR-.js} +0 -0
  494. /package/dist/web/assets/{swift-Irt_r7Fy.js → swift-Cm0fh2lX.js} +0 -0
  495. /package/dist/web/assets/{synthwave-84-BOgCDIL-.js → synthwave-84-CwLiazxr.js} +0 -0
  496. /package/dist/web/assets/{system-verilog-DSwfS0ci.js → system-verilog-CzYaDVLH.js} +0 -0
  497. /package/dist/web/assets/{systemd-C-HqVFLV.js → systemd-DbSagfLw.js} +0 -0
  498. /package/dist/web/assets/{talonscript-B7lshRGY.js → talonscript-BCFnWejL.js} +0 -0
  499. /package/dist/web/assets/{tasl-BZXSTCA-.js → tasl-BUdqtEe1.js} +0 -0
  500. /package/dist/web/assets/{tcl-B_vaMM01.js → tcl-CR_lTV9N.js} +0 -0
  501. /package/dist/web/assets/{terraform-B7kDBVtX.js → terraform-Bqsha-xe.js} +0 -0
  502. /package/dist/web/assets/{tokyo-night-CW1uC1bG.js → tokyo-night-Cnuo6JB6.js} +0 -0
  503. /package/dist/web/assets/{toml-Af6Dxufp.js → toml-CLFdhT22.js} +0 -0
  504. /package/dist/web/assets/{tsv-BSFZ-g3s.js → tsv-Dw3tLrZN.js} +0 -0
  505. /package/dist/web/assets/{tsx-CN8kIwG_.js → tsx-B8k1sFqw.js} +0 -0
  506. /package/dist/web/assets/{turtle-BSUyR8DV.js → turtle-BMKMfTrj.js} +0 -0
  507. /package/dist/web/assets/{typescript-2AZeIhCA.js → typescript-D38LfGSl.js} +0 -0
  508. /package/dist/web/assets/{typespec-DRZ0XiHC.js → typespec-EbgGJHV_.js} +0 -0
  509. /package/dist/web/assets/{typst-p1gfDr4O.js → typst-CQXV2SzX.js} +0 -0
  510. /package/dist/web/assets/{utils-IrnQujwR.js → utils-CwNUra6_.js} +0 -0
  511. /package/dist/web/assets/{v-B705HYgD.js → v-Ci1jObJJ.js} +0 -0
  512. /package/dist/web/assets/{vala-CyU0S4KW.js → vala-C_NdfqrY.js} +0 -0
  513. /package/dist/web/assets/{vb-DCWUzR_1.js → vb-K_r_h_s8.js} +0 -0
  514. /package/dist/web/assets/{vendor-xterm-MrmaYoD2.js → vendor-xterm-BtjgHRUe.js} +0 -0
  515. /package/dist/web/assets/{verilog-CrRE3TC7.js → verilog-DQPYLsZI.js} +0 -0
  516. /package/dist/web/assets/{vesper-BH5N5eRr.js → vesper-BrmzEV8s.js} +0 -0
  517. /package/dist/web/assets/{vhdl-CT1Mz-fu.js → vhdl-CjxQGaH2.js} +0 -0
  518. /package/dist/web/assets/{viml-B0LtAesb.js → viml-CTKJNQH1.js} +0 -0
  519. /package/dist/web/assets/{vitesse-black-DqQvxGCJ.js → vitesse-black-i-H_3p1i.js} +0 -0
  520. /package/dist/web/assets/{vitesse-dark-C6MRSe2N.js → vitesse-dark-DZC_Yy3_.js} +0 -0
  521. /package/dist/web/assets/{vitesse-light-B-8DQ5R9.js → vitesse-light-rf4kpmk8.js} +0 -0
  522. /package/dist/web/assets/{vyper-D7YgYuMk.js → vyper-BLnOw4Nf.js} +0 -0
  523. /package/dist/web/assets/{wasm-BgEp8ivq.js → wasm-CWeHvGNG.js} +0 -0
  524. /package/dist/web/assets/{wasm-Dj9JHuDf.js → wasm-DbLMmiW0.js} +0 -0
  525. /package/dist/web/assets/{wenyan-CLcU30u4.js → wenyan-CLwdRuzd.js} +0 -0
  526. /package/dist/web/assets/{wgsl-DEtNo0DR.js → wgsl-CBTDMVJR.js} +0 -0
  527. /package/dist/web/assets/{wikitext-CXiDN9zY.js → wikitext-CQHrF84e.js} +0 -0
  528. /package/dist/web/assets/{wit-0hROlx_P.js → wit-8xdbdipU.js} +0 -0
  529. /package/dist/web/assets/{wolfram-nhKFI8Qz.js → wolfram-tFwx32a_.js} +0 -0
  530. /package/dist/web/assets/{yaml-CNoUgoPD.js → yaml-BP8N91fU.js} +0 -0
  531. /package/dist/web/assets/{zenscript-BgGAyJ15.js → zenscript-B10Pj7JT.js} +0 -0
  532. /package/dist/web/assets/{zig-Be_I-6Rs.js → zig-BZKcTtrK.js} +0 -0
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{S as t}from"./vendor-markdown-Ls5AcU91.js";var n=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),r=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),i=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),a=e=>{let t=i(e);return t.charAt(0).toUpperCase()+t.slice(1)},o={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},s=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},c=e(t()),l=(0,c.forwardRef)(({color:e=`currentColor`,size:t=24,strokeWidth:r=2,absoluteStrokeWidth:i,className:a=``,children:l,iconNode:u,...d},f)=>(0,c.createElement)(`svg`,{ref:f,...o,width:t,height:t,stroke:e,strokeWidth:i?Number(r)*24/Number(t):r,className:n(`lucide`,a),...!l&&!s(d)&&{"aria-hidden":`true`},...d},[...u.map(([e,t])=>(0,c.createElement)(e,t)),...Array.isArray(l)?l:[l]])),u=(e,t)=>{let i=(0,c.forwardRef)(({className:i,...o},s)=>(0,c.createElement)(l,{ref:s,iconNode:t,className:n(`lucide-${r(a(e))}`,`lucide-${e}`,i),...o}));return i.displayName=a(e),i};export{u as t};
1
+ import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{C as t}from"./vendor-markdown-CuWCHIVb.js";var n=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),r=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),i=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),a=e=>{let t=i(e);return t.charAt(0).toUpperCase()+t.slice(1)},o={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},s=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},c=e(t()),l=(0,c.forwardRef)(({color:e=`currentColor`,size:t=24,strokeWidth:r=2,absoluteStrokeWidth:i,className:a=``,children:l,iconNode:u,...d},f)=>(0,c.createElement)(`svg`,{ref:f,...o,width:t,height:t,stroke:e,strokeWidth:i?Number(r)*24/Number(t):r,className:n(`lucide`,a),...!l&&!s(d)&&{"aria-hidden":`true`},...d},[...u.map(([e,t])=>(0,c.createElement)(e,t)),...Array.isArray(l)?l:[l]])),u=(e,t)=>{let i=(0,c.forwardRef)(({className:i,...o},s)=>(0,c.createElement)(l,{ref:s,iconNode:t,className:n(`lucide-${r(a(e))}`,`lucide-${e}`,i),...o}));return i.displayName=a(e),i};export{u as t};
@@ -1 +1 @@
1
- import{t as e}from"./javascript-Dwc_x-Qy.js";import{t}from"./css-DzLteUnC.js";import{t as n}from"./html-Cjiwd8dp.js";import{t as r}from"./sql-Ce-1ETwT.js";import{t as i}from"./c-BgN-FzVO.js";import{t as a}from"./shellscript-B2o7zCrN.js";var o=Object.freeze(JSON.parse(`{"displayName":"Crystal","fileTypes":["cr"],"firstLineMatch":"^#!/.*\\\\bcrystal","foldingStartMarker":"(?:^(\\\\s*+(annotation|module|class|struct|union|enum|def(?!.*\\\\bend\\\\s*$)|unless|if|case|begin|for|while|until|^=begin|(\\"(\\\\\\\\.|[^\\"])*+\\"|'(\\\\\\\\.|[^'])*+'|[^\\"#'])*(\\\\s(do|begin|case)|(?<!\\\\$)[-%\\\\&*+/<=>^|~]\\\\s*+(if|unless)))\\\\b(?![^;]*+;.*?\\\\bend\\\\b)|(\\"(\\\\\\\\.|[^\\"])*+\\"|'(\\\\\\\\.|[^'])*+'|[^\\"#'])*(\\\\{(?![^}]*+})|\\\\[(?![^]]*+]))).*|#.*?\\\\(fold\\\\)\\\\s*+)$","foldingStopMarker":"((^|;)\\\\s*+end\\\\s*+(#.*)?$|(^|;)\\\\s*+end\\\\..*$|^\\\\s*+[]}],?\\\\s*+(#.*)?$|#.*?\\\\(end\\\\)\\\\s*+$|^=end)","name":"crystal","patterns":[{"captures":{"1":{"name":"keyword.control.class.crystal"},"2":{"name":"keyword.control.class.crystal"},"3":{"name":"entity.name.type.class.crystal"},"5":{"name":"punctuation.separator.crystal"},"6":{"name":"support.class.other.type-param.crystal"},"7":{"name":"entity.other.inherited-class.crystal"},"8":{"name":"punctuation.separator.crystal"},"9":{"name":"punctuation.separator.crystal"},"10":{"name":"support.class.other.type-param.crystal"},"11":{"name":"punctuation.definition.variable.crystal"}},"match":"^\\\\s*(abstract)?\\\\s*(class|struct|union|annotation|enum)\\\\s+(([.:A-Z_\\\\x{80}-\\\\x{10FFFF}][.:\\\\x{80}-\\\\x{10FFFF}\\\\w]*(\\\\(([,.0-:A-Z_a-z\\\\x{80}-\\\\x{10FFFF}\\\\s]+)\\\\))?(\\\\s*(<)\\\\s*[.:A-Z\\\\x{80}-\\\\x{10FFFF}][.:\\\\x{80}-\\\\x{10FFFF}\\\\w]*(\\\\(([.0-:A-Z_a-z]+\\\\s,)\\\\))?)?)|((<<)\\\\s*[.0-:A-Z_\\\\x{80}-\\\\x{10FFFF}]+))","name":"meta.class.crystal"},{"captures":{"1":{"name":"keyword.control.module.crystal"},"2":{"name":"entity.name.type.module.crystal"},"3":{"name":"entity.other.inherited-class.module.first.crystal"},"4":{"name":"punctuation.separator.inheritance.crystal"},"5":{"name":"entity.other.inherited-class.module.second.crystal"},"6":{"name":"punctuation.separator.inheritance.crystal"},"7":{"name":"entity.other.inherited-class.module.third.crystal"},"8":{"name":"punctuation.separator.inheritance.crystal"}},"match":"^\\\\s*(module)\\\\s+(([A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*(::))?([A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*(::))?([A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*(::))*[A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*)","name":"meta.module.crystal"},{"captures":{"1":{"name":"keyword.control.lib.crystal"},"2":{"name":"entity.name.type.lib.crystal"},"3":{"name":"entity.other.inherited-class.lib.first.crystal"},"4":{"name":"punctuation.separator.inheritance.crystal"},"5":{"name":"entity.other.inherited-class.lib.second.crystal"},"6":{"name":"punctuation.separator.inheritance.crystal"},"7":{"name":"entity.other.inherited-class.lib.third.crystal"},"8":{"name":"punctuation.separator.inheritance.crystal"}},"match":"^\\\\s*(lib)\\\\s+(([A-Z]\\\\w*(::))?([A-Z]\\\\w*(::))?([A-Z]\\\\w*(::))*[A-Z]\\\\w*)","name":"meta.lib.crystal"},{"captures":{"1":{"name":"keyword.control.lib.type.crystal"},"2":{"name":"entity.name.lib.type.crystal"},"3":{"name":"keyword.control.lib.crystal"},"4":{"name":"entity.name.lib.type.value.crystal"}},"match":"(?<!\\\\.)\\\\b(type)\\\\s+([A-Z]\\\\w+)\\\\s*(=)\\\\s*(.+)","name":"meta.lib.type.crystal"},{"match":"(?<!\\\\.)\\\\b(fun|begin|case|class|else|elsif|end|ensure|enum|for|if|macro|module|rescue|struct|then|union|unless|until|when|while)\\\\b(?![!:?])","name":"keyword.control.crystal"},{"match":"(?<!\\\\.)\\\\b(abstract|alias|asm|break|extend|in|include|next|of|private|protected|struct|return|select|super|with|yield)\\\\b(?![!:?])","name":"keyword.control.primary.crystal"},{"match":"(?<!\\\\.)\\\\b(describe|context|it|expect_raises)\\\\b(?![!:?])","name":"keyword.control.crystal"},{"match":"(?<!\\\\.)\\\\bdo\\\\b\\\\s*","name":"keyword.control.start-block.crystal"},{"match":"(?<=\\\\{)(\\\\s+)","name":"meta.syntax.crystal.start-block"},{"match":"(?<!\\\\.)\\\\b(pointerof|typeof|sizeof|instance_sizeof|offsetof|previous_def|forall|out|uninitialized)\\\\b(?![!:?])|\\\\.(is_a\\\\?|nil\\\\?|responds_to\\\\?|as\\\\?|as\\\\x08)","name":"keyword.control.pseudo-method.crystal"},{"match":"\\\\bnil\\\\b(?![!:?])","name":"constant.language.nil.crystal"},{"match":"\\\\b(true|false)\\\\b(?![!:?])","name":"constant.language.boolean.crystal"},{"match":"\\\\b(__(DIR|FILE|LINE|END_LINE)__)\\\\b(?![!:?])","name":"variable.language.crystal"},{"match":"\\\\b(self)\\\\b(?![!:?])","name":"variable.language.self.crystal"},{"match":"(?<!\\\\.)\\\\b(((class_)?((getter|property)\\\\b[!?]?|setter\\\\b))|(def_(clone|equals|equals_and_hash|hash)|delegate|forward_missing_to)\\\\b)(?![!:?])","name":"support.function.kernel.crystal"},{"begin":"\\\\b(require)\\\\b","captures":{"1":{"name":"keyword.other.special-method.crystal"}},"end":"$|(?=#)","name":"meta.require.crystal","patterns":[{"include":"$self"}]},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(@)[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*[!=?]?","name":"variable.other.readwrite.instance.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(@@)[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*[!=?]?","name":"variable.other.readwrite.class.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(\\\\$)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.global.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(?!%[Qiqrwx]?[(<\\\\[{|])%([A-Z_a-z]\\\\w*\\\\.)*[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.fresh.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(\\\\$)([!\\\\&'+@\`]|\\\\d+|[\\"$*,./:-?\\\\\\\\_~]|-[0FIadilpv])","name":"variable.other.readwrite.global.pre-defined.crystal"},{"begin":"\\\\b(ENV)\\\\[","beginCaptures":{"1":{"name":"variable.other.constant.crystal"}},"end":"]","name":"meta.environment-variable.crystal","patterns":[{"include":"$self"}]},{"match":"\\\\b[A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*","name":"support.class.crystal"},{"match":"(?<!\\\\.)\\\\b(abort|at_exit|caller|exit|gets|loop|main|pp??|printf??|puts|raise|rand|read_line|sleep|spawn|sprintf|system|debugger|record|spawn)\\\\b(?![!:?])","name":"support.function.kernel.crystal"},{"match":"\\\\b[A-Z_]+\\\\b","name":"variable.other.constant.crystal"},{"begin":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|\\\\^|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/\`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[][=?]?|\\\\[]=?))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.def.crystal"},"2":{"name":"entity.name.function.crystal"},"3":{"name":"punctuation.definition.parameters.crystal"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.crystal"}},"name":"meta.function.method.with-arguments.crystal","patterns":[{"begin":"(?![),\\\\s])","end":"(?=,|\\\\)\\\\s*)","patterns":[{"captures":{"1":{"name":"storage.type.variable.crystal"},"2":{"name":"constant.other.symbol.hashkey.parameter.function.crystal"},"3":{"name":"punctuation.definition.constant.hashkey.crystal"},"4":{"name":"variable.parameter.function.crystal"}},"match":"\\\\G([\\\\&*]?)(?:([A-Z_a-z]\\\\w*(:))|([A-Z_a-z]\\\\w*))"},{"include":"$self"}]}]},{"captures":{"1":{"name":"keyword.control.def.crystal"},"3":{"name":"entity.name.function.crystal"}},"match":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\b(\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|\\\\^|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/\`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[][=?]?|\\\\[]=?)))?","name":"meta.function.method.without-arguments.crystal"},{"match":"\\\\b[0-9][0-9_]*\\\\.[0-9][0-9_]*([Ee][-+]?[0-9_]+)?(f(?:32|64))?\\\\b","name":"constant.numeric.float.crystal"},{"match":"\\\\b[0-9][0-9_]*(\\\\.[0-9][0-9_]*)?[Ee][-+]?[0-9_]+(f(?:32|64))?\\\\b","name":"constant.numeric.float.crystal"},{"match":"\\\\b[0-9][0-9_]*(\\\\.[0-9][0-9_]*)?([Ee][-+]?[0-9_]+)?(f(?:32|64))\\\\b","name":"constant.numeric.float.crystal"},{"match":"\\\\b(?!0[0-9])[0-9][0-9_]*([iu](8|16|32|64|128))?\\\\b","name":"constant.numeric.integer.decimal.crystal"},{"match":"\\\\b0x[_\\\\h]+([iu](8|16|32|64|128))?\\\\b","name":"constant.numeric.integer.hexadecimal.crystal"},{"match":"\\\\b0o[0-7_]+([iu](8|16|32|64|128))?\\\\b","name":"constant.numeric.integer.octal.crystal"},{"match":"\\\\b0b[01_]+([iu](8|16|32|64|128))?\\\\b","name":"constant.numeric.integer.binary.crystal"},{"begin":":'","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.crystal"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.crystal"}},"name":"constant.other.symbol.crystal","patterns":[{"match":"\\\\\\\\['\\\\\\\\]","name":"constant.character.escape.crystal"}]},{"begin":":\\"","beginCaptures":{"0":{"name":"punctuation.section.symbol.begin.crystal"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.section.symbol.end.crystal"}},"name":"constant.other.symbol.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"match":"(?<!\\\\()/=","name":"keyword.operator.assignment.augmented.crystal"},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.single.crystal","patterns":[{"match":"\\\\\\\\['\\\\\\\\]","name":"constant.character.escape.crystal"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.double.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"\`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\`","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"%x\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%x\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%x<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%x\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%x\\\\|","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\|","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?:^|(?<=[\\\\&(,:;=>?\\\\[|~]|[;\\\\s]if\\\\s|[;\\\\s]elsif\\\\s|[;\\\\s]while\\\\s|[;\\\\s]unless\\\\s|[;\\\\s]when\\\\s|[;\\\\s]assert_match\\\\s|[;\\\\s]or\\\\s|[;\\\\s]and\\\\s|[;\\\\s]not\\\\s|[.\\\\s]index\\\\s|[.\\\\s]scan\\\\s|[.\\\\s]sub\\\\s|[.\\\\s]sub!\\\\s|[.\\\\s]gsub\\\\s|[.\\\\s]gsub!\\\\s|[.\\\\s]match\\\\s)|(?<=^(?:when|if|elsif|while|unless)\\\\s))\\\\s*((/))(?![*+?{}])","captures":{"1":{"name":"string.regexp.classic.crystal"},"2":{"name":"punctuation.definition.string.crystal"}},"contentName":"string.regexp.classic.crystal","end":"((/[imsx]*))","patterns":[{"include":"#regex_sub"}]},{"begin":"%r\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"}[imsx]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.regexp.mod-r.crystal","patterns":[{"include":"#regex_sub"},{"include":"#nest_curly_r"}]},{"begin":"%r\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"][imsx]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.regexp.mod-r.crystal","patterns":[{"include":"#regex_sub"},{"include":"#nest_brackets_r"}]},{"begin":"%r\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\)[imsx]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.regexp.mod-r.crystal","patterns":[{"include":"#regex_sub"},{"include":"#nest_parens_r"}]},{"begin":"%r<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":">[imsx]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.regexp.mod-r.crystal","patterns":[{"include":"#regex_sub"},{"include":"#nest_ltgt_r"}]},{"begin":"%r\\\\|","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\|[imsx]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.regexp.mod-r.crystal","patterns":[{"include":"#regex_sub"}]},{"begin":"%Q?\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.upper.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%Q?\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.upper.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%Q?<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.upper.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%Q?\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.double.crystal.mod","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%Q\\\\|","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\|","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.upper.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"%[iqw]\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.lower.crystal","patterns":[{"match":"\\\\\\\\[)\\\\\\\\]","name":"constant.character.escape.crystal"},{"include":"#nest_parens"}]},{"begin":"%[iqw]<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.lower.crystal","patterns":[{"match":"\\\\\\\\[>\\\\\\\\]","name":"constant.character.escape.crystal"},{"include":"#nest_ltgt"}]},{"begin":"%[iqw]\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.lower.crystal","patterns":[{"match":"\\\\\\\\[]\\\\\\\\]","name":"constant.character.escape.crystal"},{"include":"#nest_brackets"}]},{"begin":"%[iqw]\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.lower.crystal","patterns":[{"match":"\\\\\\\\[\\\\\\\\}]","name":"constant.character.escape.crystal"},{"include":"#nest_curly"}]},{"begin":"%[iqw]\\\\|","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\|","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.lower.crystal","patterns":[{"match":"\\\\\\\\."}]},{"captures":{"1":{"name":"punctuation.definition.constant.crystal"}},"match":"(?<!:)(:)(?>[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*(?>[!?]|=(?![=>]))?|===?|>[=>]?|<[<=]?|<=>|[%\\\\&/\`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[][=?]?|@@?[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*)","name":"constant.other.symbol.crystal"},{"captures":{"1":{"name":"punctuation.definition.constant.crystal"}},"match":"(?>[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*[!?]?)(:)(?!:)","name":"constant.other.symbol.crystal.19syntax"},{"captures":{"1":{"name":"punctuation.definition.comment.crystal"}},"match":"(?:^[\\\\t ]+)?(#).*$\\\\n?","name":"comment.line.number-sign.crystal"},{"match":"(?<!}})\\\\b_(\\\\w+[!?]?)\\\\b(?!\\\\()","name":"comment.unused.crystal"},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)HTML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.html.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.html.crystal","patterns":[{"include":"#heredoc"},{"include":"text.html.basic"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)SQL)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.sql.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.sql.crystal","patterns":[{"include":"#heredoc"},{"include":"source.sql"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)CSS)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.css.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.css.crystal","patterns":[{"include":"#heredoc"},{"include":"source.css"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)CPP)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.c++.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.cplusplus.crystal","patterns":[{"include":"#heredoc"},{"include":"source.c++"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)C)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.c.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.c.crystal","patterns":[{"include":"#heredoc"},{"include":"source.c"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)J(?:S|AVASCRIPT))\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.js.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.js.crystal","patterns":[{"include":"#heredoc"},{"include":"source.js"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)JQUERY)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.js.jquery.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.js.jquery.crystal","patterns":[{"include":"#heredoc"},{"include":"source.js.jquery"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)SH(?:|ELL))\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.shell.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.shell.crystal","patterns":[{"include":"#heredoc"},{"include":"source.shell"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)CRYSTAL)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.crystal.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.crystal.crystal","patterns":[{"include":"#heredoc"},{"include":"source.crystal"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-'(\\\\w+)')","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\s*\\\\1\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.heredoc.crystal","patterns":[{"include":"#heredoc"},{"include":"#escaped_char"}]},{"begin":"(?><<-(\\\\w+)\\\\b)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\s*\\\\1\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.heredoc.crystal","patterns":[{"include":"#heredoc"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?<=\\\\{\\\\s??|[^0-9A-Z_a-z]do|^do|[^0-9A-Z_a-z]do\\\\s|^do\\\\s)(\\\\|)","captures":{"1":{"name":"punctuation.separator.variable.crystal"}},"end":"(?<!\\\\|)(\\\\|)(?!\\\\|)","patterns":[{"include":"source.crystal"},{"match":"[A-Z_a-z][0-9A-Z_a-z]*","name":"variable.other.block.crystal"},{"match":",","name":"punctuation.separator.variable.crystal"}]},{"match":"=>","name":"punctuation.separator.key-value"},{"match":"->","name":"support.function.kernel.crystal"},{"match":"<<=|%=|&{1,2}=|\\\\*=|\\\\*\\\\*=|\\\\+=|-=|\\\\^=|\\\\|{1,2}=|<<","name":"keyword.operator.assignment.augmented.crystal"},{"match":"<=>|<(?![<=])|>(?![<=>])|<=|>=|===?|=~|!=|!~|(?<=[\\\\t ])\\\\?","name":"keyword.operator.comparison.crystal"},{"match":"(?<=^|[\\\\t ])!|&&|\\\\|\\\\||\\\\^","name":"keyword.operator.logical.crystal"},{"match":"(\\\\{%|%}|\\\\{\\\\{|}})","name":"keyword.operator.macro.crystal"},{"captures":{"1":{"name":"punctuation.separator.method.crystal"}},"match":"(&\\\\.)\\\\s*(?![A-Z])"},{"match":"([%\\\\&]|\\\\*\\\\*|[-*+/])","name":"keyword.operator.arithmetic.crystal"},{"match":"=","name":"keyword.operator.assignment.crystal"},{"match":"[|~]|>>","name":"keyword.operator.other.crystal"},{"match":":","name":"punctuation.separator.other.crystal"},{"match":";","name":"punctuation.separator.statement.crystal"},{"match":",","name":"punctuation.separator.object.crystal"},{"match":"\\\\.|::","name":"punctuation.separator.method.crystal"},{"match":"[{}]","name":"punctuation.section.scope.crystal"},{"match":"[]\\\\[]","name":"punctuation.section.array.crystal"},{"match":"[()]","name":"punctuation.section.function.crystal"},{"begin":"(?=[!0-9?A-Z_a-z]+\\\\()","end":"(?<=\\\\))","name":"meta.function-call.crystal","patterns":[{"match":"([!0-9?A-Z_a-z]+)(?=\\\\()","name":"entity.name.function.crystal"},{"include":"$self"}]},{"match":"((?<=\\\\W)\\\\b|^)\\\\w+\\\\b(?=\\\\s*([]$)-/=^}]|<\\\\s|<<[.|\\\\s]))","name":"variable.other.crystal"}],"repository":{"escaped_char":{"match":"\\\\\\\\(?:[0-7]{1,3}|x\\\\h{2}|u\\\\h{4}|u\\\\{[ \\\\h]+}|.)","name":"constant.character.escape.crystal"},"heredoc":{"begin":"^<<-?\\\\w+","end":"$","patterns":[{"include":"$self"}]},"interpolated_crystal":{"patterns":[{"begin":"#\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.crystal"}},"contentName":"source.crystal","end":"(})","endCaptures":{"0":{"name":"punctuation.section.embedded.end.crystal"},"1":{"name":"source.crystal"}},"name":"meta.embedded.line.crystal","patterns":[{"include":"#nest_curly_and_self"},{"include":"$self"}],"repository":{"nest_curly_and_self":{"patterns":[{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"}","patterns":[{"include":"#nest_curly_and_self"}]},{"include":"$self"}]}}},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(#@)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.instance.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(#@@)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.class.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(#\\\\$)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.global.crystal"}]},"nest_brackets":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"]","patterns":[{"include":"#nest_brackets"}]},"nest_brackets_i":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"]","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},"nest_brackets_r":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"]","patterns":[{"include":"#regex_sub"},{"include":"#nest_brackets_r"}]},"nest_curly":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"}","patterns":[{"include":"#nest_curly"}]},"nest_curly_and_self":{"patterns":[{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"}","patterns":[{"include":"#nest_curly_and_self"}]},{"include":"$self"}]},"nest_curly_i":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"}","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},"nest_curly_r":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"}","patterns":[{"include":"#regex_sub"},{"include":"#nest_curly_r"}]},"nest_ltgt":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":">","patterns":[{"include":"#nest_ltgt"}]},"nest_ltgt_i":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":">","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},"nest_ltgt_r":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":">","patterns":[{"include":"#regex_sub"},{"include":"#nest_ltgt_r"}]},"nest_parens":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"\\\\)","patterns":[{"include":"#nest_parens"}]},"nest_parens_i":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"\\\\)","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},"nest_parens_r":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"\\\\)","patterns":[{"include":"#regex_sub"},{"include":"#nest_parens_r"}]},"regex_sub":{"patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"captures":{"1":{"name":"punctuation.definition.arbitrary-repetition.crystal"},"3":{"name":"punctuation.definition.arbitrary-repetition.crystal"}},"match":"(\\\\{)\\\\d+(,\\\\d+)?(})","name":"string.regexp.arbitrary-repetition.crystal"},{"begin":"\\\\[(?:\\\\^?])?","captures":{"0":{"name":"punctuation.definition.character-class.crystal"}},"end":"]","name":"string.regexp.character-class.crystal","patterns":[{"include":"#escaped_char"}]},{"begin":"\\\\(","captures":{"0":{"name":"punctuation.definition.group.crystal"}},"end":"\\\\)","name":"string.regexp.group.crystal","patterns":[{"include":"#regex_sub"}]},{"captures":{"1":{"name":"punctuation.definition.comment.crystal"}},"match":"(?<=^|\\\\s)(#)\\\\s[-\\\\t !,.0-9?A-Za-z[^\\\\x00-\\\\x7F]]*$","name":"comment.line.number-sign.crystal"}]}},"scopeName":"source.crystal","embeddedLangs":["html","sql","css","c","javascript","shellscript"]}`)),s=[...n,...r,...t,...i,...e,...a,o];export{s as default};
1
+ import{t as e}from"./javascript-jr4kIdgl.js";import{t}from"./css-CJSp2CsD.js";import{t as n}from"./html-BTA4eRkb.js";import{t as r}from"./sql-CXZ66NtF.js";import{t as i}from"./c-C3ivhwA4.js";import{t as a}from"./shellscript-CCOF9tox.js";var o=Object.freeze(JSON.parse(`{"displayName":"Crystal","fileTypes":["cr"],"firstLineMatch":"^#!/.*\\\\bcrystal","foldingStartMarker":"(?:^(\\\\s*+(annotation|module|class|struct|union|enum|def(?!.*\\\\bend\\\\s*$)|unless|if|case|begin|for|while|until|^=begin|(\\"(\\\\\\\\.|[^\\"])*+\\"|'(\\\\\\\\.|[^'])*+'|[^\\"#'])*(\\\\s(do|begin|case)|(?<!\\\\$)[-%\\\\&*+/<=>^|~]\\\\s*+(if|unless)))\\\\b(?![^;]*+;.*?\\\\bend\\\\b)|(\\"(\\\\\\\\.|[^\\"])*+\\"|'(\\\\\\\\.|[^'])*+'|[^\\"#'])*(\\\\{(?![^}]*+})|\\\\[(?![^]]*+]))).*|#.*?\\\\(fold\\\\)\\\\s*+)$","foldingStopMarker":"((^|;)\\\\s*+end\\\\s*+(#.*)?$|(^|;)\\\\s*+end\\\\..*$|^\\\\s*+[]}],?\\\\s*+(#.*)?$|#.*?\\\\(end\\\\)\\\\s*+$|^=end)","name":"crystal","patterns":[{"captures":{"1":{"name":"keyword.control.class.crystal"},"2":{"name":"keyword.control.class.crystal"},"3":{"name":"entity.name.type.class.crystal"},"5":{"name":"punctuation.separator.crystal"},"6":{"name":"support.class.other.type-param.crystal"},"7":{"name":"entity.other.inherited-class.crystal"},"8":{"name":"punctuation.separator.crystal"},"9":{"name":"punctuation.separator.crystal"},"10":{"name":"support.class.other.type-param.crystal"},"11":{"name":"punctuation.definition.variable.crystal"}},"match":"^\\\\s*(abstract)?\\\\s*(class|struct|union|annotation|enum)\\\\s+(([.:A-Z_\\\\x{80}-\\\\x{10FFFF}][.:\\\\x{80}-\\\\x{10FFFF}\\\\w]*(\\\\(([,.0-:A-Z_a-z\\\\x{80}-\\\\x{10FFFF}\\\\s]+)\\\\))?(\\\\s*(<)\\\\s*[.:A-Z\\\\x{80}-\\\\x{10FFFF}][.:\\\\x{80}-\\\\x{10FFFF}\\\\w]*(\\\\(([.0-:A-Z_a-z]+\\\\s,)\\\\))?)?)|((<<)\\\\s*[.0-:A-Z_\\\\x{80}-\\\\x{10FFFF}]+))","name":"meta.class.crystal"},{"captures":{"1":{"name":"keyword.control.module.crystal"},"2":{"name":"entity.name.type.module.crystal"},"3":{"name":"entity.other.inherited-class.module.first.crystal"},"4":{"name":"punctuation.separator.inheritance.crystal"},"5":{"name":"entity.other.inherited-class.module.second.crystal"},"6":{"name":"punctuation.separator.inheritance.crystal"},"7":{"name":"entity.other.inherited-class.module.third.crystal"},"8":{"name":"punctuation.separator.inheritance.crystal"}},"match":"^\\\\s*(module)\\\\s+(([A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*(::))?([A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*(::))?([A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*(::))*[A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*)","name":"meta.module.crystal"},{"captures":{"1":{"name":"keyword.control.lib.crystal"},"2":{"name":"entity.name.type.lib.crystal"},"3":{"name":"entity.other.inherited-class.lib.first.crystal"},"4":{"name":"punctuation.separator.inheritance.crystal"},"5":{"name":"entity.other.inherited-class.lib.second.crystal"},"6":{"name":"punctuation.separator.inheritance.crystal"},"7":{"name":"entity.other.inherited-class.lib.third.crystal"},"8":{"name":"punctuation.separator.inheritance.crystal"}},"match":"^\\\\s*(lib)\\\\s+(([A-Z]\\\\w*(::))?([A-Z]\\\\w*(::))?([A-Z]\\\\w*(::))*[A-Z]\\\\w*)","name":"meta.lib.crystal"},{"captures":{"1":{"name":"keyword.control.lib.type.crystal"},"2":{"name":"entity.name.lib.type.crystal"},"3":{"name":"keyword.control.lib.crystal"},"4":{"name":"entity.name.lib.type.value.crystal"}},"match":"(?<!\\\\.)\\\\b(type)\\\\s+([A-Z]\\\\w+)\\\\s*(=)\\\\s*(.+)","name":"meta.lib.type.crystal"},{"match":"(?<!\\\\.)\\\\b(fun|begin|case|class|else|elsif|end|ensure|enum|for|if|macro|module|rescue|struct|then|union|unless|until|when|while)\\\\b(?![!:?])","name":"keyword.control.crystal"},{"match":"(?<!\\\\.)\\\\b(abstract|alias|asm|break|extend|in|include|next|of|private|protected|struct|return|select|super|with|yield)\\\\b(?![!:?])","name":"keyword.control.primary.crystal"},{"match":"(?<!\\\\.)\\\\b(describe|context|it|expect_raises)\\\\b(?![!:?])","name":"keyword.control.crystal"},{"match":"(?<!\\\\.)\\\\bdo\\\\b\\\\s*","name":"keyword.control.start-block.crystal"},{"match":"(?<=\\\\{)(\\\\s+)","name":"meta.syntax.crystal.start-block"},{"match":"(?<!\\\\.)\\\\b(pointerof|typeof|sizeof|instance_sizeof|offsetof|previous_def|forall|out|uninitialized)\\\\b(?![!:?])|\\\\.(is_a\\\\?|nil\\\\?|responds_to\\\\?|as\\\\?|as\\\\x08)","name":"keyword.control.pseudo-method.crystal"},{"match":"\\\\bnil\\\\b(?![!:?])","name":"constant.language.nil.crystal"},{"match":"\\\\b(true|false)\\\\b(?![!:?])","name":"constant.language.boolean.crystal"},{"match":"\\\\b(__(DIR|FILE|LINE|END_LINE)__)\\\\b(?![!:?])","name":"variable.language.crystal"},{"match":"\\\\b(self)\\\\b(?![!:?])","name":"variable.language.self.crystal"},{"match":"(?<!\\\\.)\\\\b(((class_)?((getter|property)\\\\b[!?]?|setter\\\\b))|(def_(clone|equals|equals_and_hash|hash)|delegate|forward_missing_to)\\\\b)(?![!:?])","name":"support.function.kernel.crystal"},{"begin":"\\\\b(require)\\\\b","captures":{"1":{"name":"keyword.other.special-method.crystal"}},"end":"$|(?=#)","name":"meta.require.crystal","patterns":[{"include":"$self"}]},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(@)[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*[!=?]?","name":"variable.other.readwrite.instance.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(@@)[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*[!=?]?","name":"variable.other.readwrite.class.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(\\\\$)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.global.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(?!%[Qiqrwx]?[(<\\\\[{|])%([A-Z_a-z]\\\\w*\\\\.)*[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.fresh.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(\\\\$)([!\\\\&'+@\`]|\\\\d+|[\\"$*,./:-?\\\\\\\\_~]|-[0FIadilpv])","name":"variable.other.readwrite.global.pre-defined.crystal"},{"begin":"\\\\b(ENV)\\\\[","beginCaptures":{"1":{"name":"variable.other.constant.crystal"}},"end":"]","name":"meta.environment-variable.crystal","patterns":[{"include":"$self"}]},{"match":"\\\\b[A-Z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*","name":"support.class.crystal"},{"match":"(?<!\\\\.)\\\\b(abort|at_exit|caller|exit|gets|loop|main|pp??|printf??|puts|raise|rand|read_line|sleep|spawn|sprintf|system|debugger|record|spawn)\\\\b(?![!:?])","name":"support.function.kernel.crystal"},{"match":"\\\\b[A-Z_]+\\\\b","name":"variable.other.constant.crystal"},{"begin":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|\\\\^|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/\`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[][=?]?|\\\\[]=?))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.def.crystal"},"2":{"name":"entity.name.function.crystal"},"3":{"name":"punctuation.definition.parameters.crystal"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.crystal"}},"name":"meta.function.method.with-arguments.crystal","patterns":[{"begin":"(?![),\\\\s])","end":"(?=,|\\\\)\\\\s*)","patterns":[{"captures":{"1":{"name":"storage.type.variable.crystal"},"2":{"name":"constant.other.symbol.hashkey.parameter.function.crystal"},"3":{"name":"punctuation.definition.constant.hashkey.crystal"},"4":{"name":"variable.parameter.function.crystal"}},"match":"\\\\G([\\\\&*]?)(?:([A-Z_a-z]\\\\w*(:))|([A-Z_a-z]\\\\w*))"},{"include":"$self"}]}]},{"captures":{"1":{"name":"keyword.control.def.crystal"},"3":{"name":"entity.name.function.crystal"}},"match":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\b(\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|\\\\^|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/\`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[][=?]?|\\\\[]=?)))?","name":"meta.function.method.without-arguments.crystal"},{"match":"\\\\b[0-9][0-9_]*\\\\.[0-9][0-9_]*([Ee][-+]?[0-9_]+)?(f(?:32|64))?\\\\b","name":"constant.numeric.float.crystal"},{"match":"\\\\b[0-9][0-9_]*(\\\\.[0-9][0-9_]*)?[Ee][-+]?[0-9_]+(f(?:32|64))?\\\\b","name":"constant.numeric.float.crystal"},{"match":"\\\\b[0-9][0-9_]*(\\\\.[0-9][0-9_]*)?([Ee][-+]?[0-9_]+)?(f(?:32|64))\\\\b","name":"constant.numeric.float.crystal"},{"match":"\\\\b(?!0[0-9])[0-9][0-9_]*([iu](8|16|32|64|128))?\\\\b","name":"constant.numeric.integer.decimal.crystal"},{"match":"\\\\b0x[_\\\\h]+([iu](8|16|32|64|128))?\\\\b","name":"constant.numeric.integer.hexadecimal.crystal"},{"match":"\\\\b0o[0-7_]+([iu](8|16|32|64|128))?\\\\b","name":"constant.numeric.integer.octal.crystal"},{"match":"\\\\b0b[01_]+([iu](8|16|32|64|128))?\\\\b","name":"constant.numeric.integer.binary.crystal"},{"begin":":'","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.crystal"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.crystal"}},"name":"constant.other.symbol.crystal","patterns":[{"match":"\\\\\\\\['\\\\\\\\]","name":"constant.character.escape.crystal"}]},{"begin":":\\"","beginCaptures":{"0":{"name":"punctuation.section.symbol.begin.crystal"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.section.symbol.end.crystal"}},"name":"constant.other.symbol.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"match":"(?<!\\\\()/=","name":"keyword.operator.assignment.augmented.crystal"},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.single.crystal","patterns":[{"match":"\\\\\\\\['\\\\\\\\]","name":"constant.character.escape.crystal"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.double.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"\`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\`","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"%x\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%x\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%x<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%x\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%x\\\\|","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\|","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.interpolated.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?:^|(?<=[\\\\&(,:;=>?\\\\[|~]|[;\\\\s]if\\\\s|[;\\\\s]elsif\\\\s|[;\\\\s]while\\\\s|[;\\\\s]unless\\\\s|[;\\\\s]when\\\\s|[;\\\\s]assert_match\\\\s|[;\\\\s]or\\\\s|[;\\\\s]and\\\\s|[;\\\\s]not\\\\s|[.\\\\s]index\\\\s|[.\\\\s]scan\\\\s|[.\\\\s]sub\\\\s|[.\\\\s]sub!\\\\s|[.\\\\s]gsub\\\\s|[.\\\\s]gsub!\\\\s|[.\\\\s]match\\\\s)|(?<=^(?:when|if|elsif|while|unless)\\\\s))\\\\s*((/))(?![*+?{}])","captures":{"1":{"name":"string.regexp.classic.crystal"},"2":{"name":"punctuation.definition.string.crystal"}},"contentName":"string.regexp.classic.crystal","end":"((/[imsx]*))","patterns":[{"include":"#regex_sub"}]},{"begin":"%r\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"}[imsx]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.regexp.mod-r.crystal","patterns":[{"include":"#regex_sub"},{"include":"#nest_curly_r"}]},{"begin":"%r\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"][imsx]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.regexp.mod-r.crystal","patterns":[{"include":"#regex_sub"},{"include":"#nest_brackets_r"}]},{"begin":"%r\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\)[imsx]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.regexp.mod-r.crystal","patterns":[{"include":"#regex_sub"},{"include":"#nest_parens_r"}]},{"begin":"%r<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":">[imsx]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.regexp.mod-r.crystal","patterns":[{"include":"#regex_sub"},{"include":"#nest_ltgt_r"}]},{"begin":"%r\\\\|","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\|[imsx]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.regexp.mod-r.crystal","patterns":[{"include":"#regex_sub"}]},{"begin":"%Q?\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.upper.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%Q?\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.upper.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%Q?<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.upper.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%Q?\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.double.crystal.mod","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%Q\\\\|","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\|","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.upper.crystal","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"%[iqw]\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.lower.crystal","patterns":[{"match":"\\\\\\\\[)\\\\\\\\]","name":"constant.character.escape.crystal"},{"include":"#nest_parens"}]},{"begin":"%[iqw]<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.lower.crystal","patterns":[{"match":"\\\\\\\\[>\\\\\\\\]","name":"constant.character.escape.crystal"},{"include":"#nest_ltgt"}]},{"begin":"%[iqw]\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.lower.crystal","patterns":[{"match":"\\\\\\\\[]\\\\\\\\]","name":"constant.character.escape.crystal"},{"include":"#nest_brackets"}]},{"begin":"%[iqw]\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.lower.crystal","patterns":[{"match":"\\\\\\\\[\\\\\\\\}]","name":"constant.character.escape.crystal"},{"include":"#nest_curly"}]},{"begin":"%[iqw]\\\\|","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\|","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.quoted.other.literal.lower.crystal","patterns":[{"match":"\\\\\\\\."}]},{"captures":{"1":{"name":"punctuation.definition.constant.crystal"}},"match":"(?<!:)(:)(?>[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*(?>[!?]|=(?![=>]))?|===?|>[=>]?|<[<=]?|<=>|[%\\\\&/\`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[][=?]?|@@?[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*)","name":"constant.other.symbol.crystal"},{"captures":{"1":{"name":"punctuation.definition.constant.crystal"}},"match":"(?>[A-Z_a-z\\\\x{80}-\\\\x{10FFFF}][\\\\x{80}-\\\\x{10FFFF}\\\\w]*[!?]?)(:)(?!:)","name":"constant.other.symbol.crystal.19syntax"},{"captures":{"1":{"name":"punctuation.definition.comment.crystal"}},"match":"(?:^[\\\\t ]+)?(#).*$\\\\n?","name":"comment.line.number-sign.crystal"},{"match":"(?<!}})\\\\b_(\\\\w+[!?]?)\\\\b(?!\\\\()","name":"comment.unused.crystal"},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)HTML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.html.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.html.crystal","patterns":[{"include":"#heredoc"},{"include":"text.html.basic"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)SQL)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.sql.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.sql.crystal","patterns":[{"include":"#heredoc"},{"include":"source.sql"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)CSS)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.css.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.css.crystal","patterns":[{"include":"#heredoc"},{"include":"source.css"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)CPP)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.c++.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.cplusplus.crystal","patterns":[{"include":"#heredoc"},{"include":"source.c++"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)C)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.c.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.c.crystal","patterns":[{"include":"#heredoc"},{"include":"source.c"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)J(?:S|AVASCRIPT))\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.js.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.js.crystal","patterns":[{"include":"#heredoc"},{"include":"source.js"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)JQUERY)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.js.jquery.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.js.jquery.crystal","patterns":[{"include":"#heredoc"},{"include":"source.js.jquery"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)SH(?:|ELL))\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.shell.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.shell.crystal","patterns":[{"include":"#heredoc"},{"include":"source.shell"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-('?)((?:[_\\\\w]+_|)CRYSTAL)\\\\b\\\\1)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"contentName":"text.crystal.embedded.crystal","end":"\\\\s*\\\\2\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.embedded.crystal.crystal","patterns":[{"include":"#heredoc"},{"include":"source.crystal"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?><<-'(\\\\w+)')","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\s*\\\\1\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.heredoc.crystal","patterns":[{"include":"#heredoc"},{"include":"#escaped_char"}]},{"begin":"(?><<-(\\\\w+)\\\\b)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.crystal"}},"end":"\\\\s*\\\\1\\\\b","endCaptures":{"0":{"name":"punctuation.definition.string.end.crystal"}},"name":"string.unquoted.heredoc.crystal","patterns":[{"include":"#heredoc"},{"include":"#interpolated_crystal"},{"include":"#escaped_char"}]},{"begin":"(?<=\\\\{\\\\s??|[^0-9A-Z_a-z]do|^do|[^0-9A-Z_a-z]do\\\\s|^do\\\\s)(\\\\|)","captures":{"1":{"name":"punctuation.separator.variable.crystal"}},"end":"(?<!\\\\|)(\\\\|)(?!\\\\|)","patterns":[{"include":"source.crystal"},{"match":"[A-Z_a-z][0-9A-Z_a-z]*","name":"variable.other.block.crystal"},{"match":",","name":"punctuation.separator.variable.crystal"}]},{"match":"=>","name":"punctuation.separator.key-value"},{"match":"->","name":"support.function.kernel.crystal"},{"match":"<<=|%=|&{1,2}=|\\\\*=|\\\\*\\\\*=|\\\\+=|-=|\\\\^=|\\\\|{1,2}=|<<","name":"keyword.operator.assignment.augmented.crystal"},{"match":"<=>|<(?![<=])|>(?![<=>])|<=|>=|===?|=~|!=|!~|(?<=[\\\\t ])\\\\?","name":"keyword.operator.comparison.crystal"},{"match":"(?<=^|[\\\\t ])!|&&|\\\\|\\\\||\\\\^","name":"keyword.operator.logical.crystal"},{"match":"(\\\\{%|%}|\\\\{\\\\{|}})","name":"keyword.operator.macro.crystal"},{"captures":{"1":{"name":"punctuation.separator.method.crystal"}},"match":"(&\\\\.)\\\\s*(?![A-Z])"},{"match":"([%\\\\&]|\\\\*\\\\*|[-*+/])","name":"keyword.operator.arithmetic.crystal"},{"match":"=","name":"keyword.operator.assignment.crystal"},{"match":"[|~]|>>","name":"keyword.operator.other.crystal"},{"match":":","name":"punctuation.separator.other.crystal"},{"match":";","name":"punctuation.separator.statement.crystal"},{"match":",","name":"punctuation.separator.object.crystal"},{"match":"\\\\.|::","name":"punctuation.separator.method.crystal"},{"match":"[{}]","name":"punctuation.section.scope.crystal"},{"match":"[]\\\\[]","name":"punctuation.section.array.crystal"},{"match":"[()]","name":"punctuation.section.function.crystal"},{"begin":"(?=[!0-9?A-Z_a-z]+\\\\()","end":"(?<=\\\\))","name":"meta.function-call.crystal","patterns":[{"match":"([!0-9?A-Z_a-z]+)(?=\\\\()","name":"entity.name.function.crystal"},{"include":"$self"}]},{"match":"((?<=\\\\W)\\\\b|^)\\\\w+\\\\b(?=\\\\s*([]$)-/=^}]|<\\\\s|<<[.|\\\\s]))","name":"variable.other.crystal"}],"repository":{"escaped_char":{"match":"\\\\\\\\(?:[0-7]{1,3}|x\\\\h{2}|u\\\\h{4}|u\\\\{[ \\\\h]+}|.)","name":"constant.character.escape.crystal"},"heredoc":{"begin":"^<<-?\\\\w+","end":"$","patterns":[{"include":"$self"}]},"interpolated_crystal":{"patterns":[{"begin":"#\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.crystal"}},"contentName":"source.crystal","end":"(})","endCaptures":{"0":{"name":"punctuation.section.embedded.end.crystal"},"1":{"name":"source.crystal"}},"name":"meta.embedded.line.crystal","patterns":[{"include":"#nest_curly_and_self"},{"include":"$self"}],"repository":{"nest_curly_and_self":{"patterns":[{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"}","patterns":[{"include":"#nest_curly_and_self"}]},{"include":"$self"}]}}},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(#@)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.instance.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(#@@)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.class.crystal"},{"captures":{"1":{"name":"punctuation.definition.variable.crystal"}},"match":"(#\\\\$)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.global.crystal"}]},"nest_brackets":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"]","patterns":[{"include":"#nest_brackets"}]},"nest_brackets_i":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"]","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},"nest_brackets_r":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"]","patterns":[{"include":"#regex_sub"},{"include":"#nest_brackets_r"}]},"nest_curly":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"}","patterns":[{"include":"#nest_curly"}]},"nest_curly_and_self":{"patterns":[{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"}","patterns":[{"include":"#nest_curly_and_self"}]},{"include":"$self"}]},"nest_curly_i":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"}","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},"nest_curly_r":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"}","patterns":[{"include":"#regex_sub"},{"include":"#nest_curly_r"}]},"nest_ltgt":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":">","patterns":[{"include":"#nest_ltgt"}]},"nest_ltgt_i":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":">","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},"nest_ltgt_r":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":">","patterns":[{"include":"#regex_sub"},{"include":"#nest_ltgt_r"}]},"nest_parens":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"\\\\)","patterns":[{"include":"#nest_parens"}]},"nest_parens_i":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"\\\\)","patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},"nest_parens_r":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.crystal"}},"end":"\\\\)","patterns":[{"include":"#regex_sub"},{"include":"#nest_parens_r"}]},"regex_sub":{"patterns":[{"include":"#interpolated_crystal"},{"include":"#escaped_char"},{"captures":{"1":{"name":"punctuation.definition.arbitrary-repetition.crystal"},"3":{"name":"punctuation.definition.arbitrary-repetition.crystal"}},"match":"(\\\\{)\\\\d+(,\\\\d+)?(})","name":"string.regexp.arbitrary-repetition.crystal"},{"begin":"\\\\[(?:\\\\^?])?","captures":{"0":{"name":"punctuation.definition.character-class.crystal"}},"end":"]","name":"string.regexp.character-class.crystal","patterns":[{"include":"#escaped_char"}]},{"begin":"\\\\(","captures":{"0":{"name":"punctuation.definition.group.crystal"}},"end":"\\\\)","name":"string.regexp.group.crystal","patterns":[{"include":"#regex_sub"}]},{"captures":{"1":{"name":"punctuation.definition.comment.crystal"}},"match":"(?<=^|\\\\s)(#)\\\\s[-\\\\t !,.0-9?A-Za-z[^\\\\x00-\\\\x7F]]*$","name":"comment.line.number-sign.crystal"}]}},"scopeName":"source.crystal","embeddedLangs":["html","sql","css","c","javascript","shellscript"]}`)),s=[...n,...r,...t,...i,...e,...a,o];export{s as default};
@@ -1,2 +1,2 @@
1
- import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{S as t,x as n}from"./vendor-markdown-Ls5AcU91.js";import"./vendor-ui-CaeeFO0B.js";import{Br as r,Ft as i,Vr as a}from"./index-A3ripVe5.js";import{n as o,t as s}from"./csv-parser-0OmrzV4G.js";import{i as c,n as l,r as u,t as d}from"./lib-Bss7BrXJ.js";var f=e(t(),1),p=n();function m({content:e,onContentChange:t,wordWrap:n}){let m=(0,f.useMemo)(()=>s(e),[e]),[g,_]=(0,f.useState)(()=>m.rows),[v,y]=(0,f.useState)([]),b=(0,f.useRef)(null),x=(0,f.useRef)(!1);(0,f.useEffect)(()=>{if(x.current){x.current=!1;return}_(m.rows)},[m.rows]);let S=m.headers,C=(0,f.useCallback)((e,n,r)=>{_(i=>{let a=i.map((t,n)=>n===e?[...t]:t);return a[e][n]=r,x.current=!0,t(o(S,a)),a})},[S,t]),w=l({data:g,columns:(0,f.useMemo)(()=>S.map((e,t)=>({id:`col-${t}`,header:e||`Column ${t+1}`,accessorFn:e=>e[t]??``,cell:({row:e,getValue:r})=>(0,p.jsx)(h,{value:r(),onSave:n=>C(e.index,t,n),wordWrap:n}),size:150,minSize:80})),[S,C,n]),state:{sorting:v},onSortingChange:y,getCoreRowModel:u(),getSortedRowModel:c(),enableColumnResizing:!0,columnResizeMode:`onChange`}),{rows:T}=w.getRowModel(),E=i({count:T.length,getScrollElement:()=>b.current,estimateSize:()=>32,overscan:20});return S.length===0?(0,p.jsx)(`div`,{className:`flex items-center justify-center h-full text-muted-foreground text-sm`,children:`Empty CSV file`}):(0,p.jsx)(`div`,{ref:b,className:`flex-1 overflow-auto`,children:(0,p.jsxs)(`table`,{className:`w-full text-xs font-mono border-collapse`,children:[(0,p.jsx)(`thead`,{className:`sticky top-0 bg-background z-10 border-b border-border block`,children:w.getHeaderGroups().map(e=>(0,p.jsx)(`tr`,{className:`flex w-full`,children:e.headers.map(e=>(0,p.jsxs)(`th`,{className:`relative text-left px-2 py-1.5 font-medium text-muted-foreground select-none cursor-pointer hover:bg-muted/50 border-r border-border last:border-r-0`,style:{width:e.getSize(),minWidth:e.getSize()},onClick:e.column.getToggleSortingHandler(),children:[(0,p.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,p.jsx)(`span`,{className:`truncate`,children:d(e.column.columnDef.header,e.getContext())}),e.column.getIsSorted()===`asc`&&(0,p.jsx)(r,{className:`size-3 shrink-0`}),e.column.getIsSorted()===`desc`&&(0,p.jsx)(a,{className:`size-3 shrink-0`})]}),(0,p.jsx)(`div`,{onMouseDown:e.getResizeHandler(),onTouchStart:e.getResizeHandler(),onClick:e=>e.stopPropagation(),className:`absolute right-0 top-0 h-full w-1 cursor-col-resize hover:bg-primary/50 active:bg-primary`})]},e.id))},e.id))}),(0,p.jsx)(`tbody`,{style:{height:E.getTotalSize(),position:`relative`,display:`block`},children:E.getVirtualItems().map(e=>{let t=T[e.index];return(0,p.jsx)(`tr`,{"data-index":e.index,ref:e=>E.measureElement(e),style:{position:`absolute`,top:0,left:0,width:`100%`,transform:`translateY(${e.start}px)`,display:`flex`},children:t.getVisibleCells().map(e=>(0,p.jsx)(`td`,{className:`px-2 py-1 border-b border-border/50 border-r border-r-border/30 last:border-r-0 ${n?`whitespace-pre-wrap break-words`:`truncate`}`,style:{width:e.column.getSize(),minWidth:e.column.getSize()},children:d(e.column.columnDef.cell,e.getContext())},e.id))},t.id)})})]})})}function h({value:e,onSave:t,wordWrap:n}){let[r,i]=(0,f.useState)(!1),[a,o]=(0,f.useState)(e),s=(0,f.useRef)(null),c=(0,f.useCallback)(e=>{e&&(e.style.height=`auto`,e.style.height=`${e.scrollHeight}px`)},[]);return(0,f.useEffect)(()=>{r&&s.current&&(s.current.focus(),c(s.current))},[r,c]),r?(0,p.jsx)(`textarea`,{ref:s,className:`w-full bg-transparent outline-none border border-primary/50 rounded text-xs font-mono resize-none p-0.5`,style:{minHeight:a.includes(`
1
+ import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{C as t,S as n}from"./vendor-markdown-CuWCHIVb.js";import"./vendor-ui-BBdkypKW.js";import{Br as r,Ft as i,Vr as a}from"./index-BV_sFdHY.js";import{n as o,t as s}from"./csv-parser-iow1WWML.js";import{i as c,n as l,r as u,t as d}from"./lib-DUBAP_Gd.js";var f=e(t(),1),p=n();function m({content:e,onContentChange:t,wordWrap:n}){let m=(0,f.useMemo)(()=>s(e),[e]),[g,_]=(0,f.useState)(()=>m.rows),[v,y]=(0,f.useState)([]),b=(0,f.useRef)(null),x=(0,f.useRef)(!1);(0,f.useEffect)(()=>{if(x.current){x.current=!1;return}_(m.rows)},[m.rows]);let S=m.headers,C=(0,f.useCallback)((e,n,r)=>{_(i=>{let a=i.map((t,n)=>n===e?[...t]:t);return a[e][n]=r,x.current=!0,t(o(S,a)),a})},[S,t]),w=l({data:g,columns:(0,f.useMemo)(()=>S.map((e,t)=>({id:`col-${t}`,header:e||`Column ${t+1}`,accessorFn:e=>e[t]??``,cell:({row:e,getValue:r})=>(0,p.jsx)(h,{value:r(),onSave:n=>C(e.index,t,n),wordWrap:n}),size:150,minSize:80})),[S,C,n]),state:{sorting:v},onSortingChange:y,getCoreRowModel:u(),getSortedRowModel:c(),enableColumnResizing:!0,columnResizeMode:`onChange`}),{rows:T}=w.getRowModel(),E=i({count:T.length,getScrollElement:()=>b.current,estimateSize:()=>32,overscan:20});return S.length===0?(0,p.jsx)(`div`,{className:`flex items-center justify-center h-full text-muted-foreground text-sm`,children:`Empty CSV file`}):(0,p.jsx)(`div`,{ref:b,className:`flex-1 overflow-auto`,children:(0,p.jsxs)(`table`,{className:`w-full text-xs font-mono border-collapse`,children:[(0,p.jsx)(`thead`,{className:`sticky top-0 bg-background z-10 border-b border-border block`,children:w.getHeaderGroups().map(e=>(0,p.jsx)(`tr`,{className:`flex w-full`,children:e.headers.map(e=>(0,p.jsxs)(`th`,{className:`relative text-left px-2 py-1.5 font-medium text-muted-foreground select-none cursor-pointer hover:bg-muted/50 border-r border-border last:border-r-0`,style:{width:e.getSize(),minWidth:e.getSize()},onClick:e.column.getToggleSortingHandler(),children:[(0,p.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,p.jsx)(`span`,{className:`truncate`,children:d(e.column.columnDef.header,e.getContext())}),e.column.getIsSorted()===`asc`&&(0,p.jsx)(r,{className:`size-3 shrink-0`}),e.column.getIsSorted()===`desc`&&(0,p.jsx)(a,{className:`size-3 shrink-0`})]}),(0,p.jsx)(`div`,{onMouseDown:e.getResizeHandler(),onTouchStart:e.getResizeHandler(),onClick:e=>e.stopPropagation(),className:`absolute right-0 top-0 h-full w-1 cursor-col-resize hover:bg-primary/50 active:bg-primary`})]},e.id))},e.id))}),(0,p.jsx)(`tbody`,{style:{height:E.getTotalSize(),position:`relative`,display:`block`},children:E.getVirtualItems().map(e=>{let t=T[e.index];return(0,p.jsx)(`tr`,{"data-index":e.index,ref:e=>E.measureElement(e),style:{position:`absolute`,top:0,left:0,width:`100%`,transform:`translateY(${e.start}px)`,display:`flex`},children:t.getVisibleCells().map(e=>(0,p.jsx)(`td`,{className:`px-2 py-1 border-b border-border/50 border-r border-r-border/30 last:border-r-0 ${n?`whitespace-pre-wrap break-words`:`truncate`}`,style:{width:e.column.getSize(),minWidth:e.column.getSize()},children:d(e.column.columnDef.cell,e.getContext())},e.id))},t.id)})})]})})}function h({value:e,onSave:t,wordWrap:n}){let[r,i]=(0,f.useState)(!1),[a,o]=(0,f.useState)(e),s=(0,f.useRef)(null),c=(0,f.useCallback)(e=>{e&&(e.style.height=`auto`,e.style.height=`${e.scrollHeight}px`)},[]);return(0,f.useEffect)(()=>{r&&s.current&&(s.current.focus(),c(s.current))},[r,c]),r?(0,p.jsx)(`textarea`,{ref:s,className:`w-full bg-transparent outline-none border border-primary/50 rounded text-xs font-mono resize-none p-0.5`,style:{minHeight:a.includes(`
2
2
  `)?48:20},rows:1,value:a,onChange:e=>{o(e.target.value),c(e.target)},onBlur:()=>{i(!1),a!==e&&t(a)},onKeyDown:n=>{n.key===`Enter`&&!n.shiftKey?(n.preventDefault(),i(!1),a!==e&&t(a)):n.key===`Escape`&&(i(!1),o(e))}}):(0,p.jsx)(`span`,{className:`block cursor-text ${n?`whitespace-pre-wrap break-words`:`truncate`}`,onClick:()=>{o(e),i(!0)},children:e||`\xA0`})}export{m as CsvPreview};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{C as t}from"./vendor-markdown-CuWCHIVb.js";import{ft as n}from"./vendor-ui-BBdkypKW.js";import{B as r,G as i,R as a,c as o,o as s,s as c}from"./data-grid-types-tNj9zuRV.js";import{t as l}from"./dist-BiqPfYiP.js";var u=e(n(),1),d=e(t(),1),f=()=>e=>e.targetX,p=()=>e=>e.targetY,m=()=>e=>e.targetWidth,h=()=>e=>e.targetHeight,g=()=>e=>e.targetY+10,_=()=>e=>Math.max(0,(e.targetHeight-28)/2),v=l(`div`)({name:`DataGridOverlayEditorStyle`,class:`gdg-d19meir1`,propsAsIs:!1,vars:{"d19meir1-0":[p(),`px`],"d19meir1-1":[f(),`px`],"d19meir1-2":[m(),`px`],"d19meir1-3":[h(),`px`],"d19meir1-4":[g(),`px`],"d19meir1-5":[_(),`px`]}});function y(){let[e,t]=d.useState();return[e??void 0,t]}function b(){let[e,t]=y(),[n,r]=d.useState(0),[i,a]=d.useState(!0);return d.useLayoutEffect(()=>{if(e===void 0||!(`IntersectionObserver`in window))return;let t=new IntersectionObserver(e=>{e.length!==0&&a(e[0].isIntersecting)},{threshold:1});return t.observe(e),()=>t.disconnect()},[e]),d.useEffect(()=>{if(i||e===void 0)return;let t,n=()=>{let{right:i}=e.getBoundingClientRect();r(e=>Math.min(e+window.innerWidth-i-10,0)),t=requestAnimationFrame(n)};return t=requestAnimationFrame(n),()=>{t!==void 0&&cancelAnimationFrame(t)}},[e,i]),{ref:t,style:d.useMemo(()=>({transform:`translateX(${n}px)`}),[n])}}var x=e=>{let{target:t,content:n,onFinishEditing:l,forceEditMode:f,initialValue:p,imageEditorOverride:m,markdownDivCreateNode:h,highlight:g,className:_,theme:y,id:x,cell:S,bloom:C,validateCell:w,getCellRenderer:T,provideEditor:E,isOutsideClick:D}=e,[O,k]=d.useState(f?n:void 0),A=d.useRef(O??n);A.current=O??n;let[j,M]=d.useState(()=>w===void 0?!0:!(s(n)&&w?.(S,n,A.current)===!1)),N=d.useCallback((e,t)=>{l(j?e:void 0,t)},[j,l]),P=d.useCallback(e=>{if(w!==void 0&&e!==void 0&&s(e)){let t=w(S,e,A.current);t===!1?M(!1):(typeof t==`object`&&(e=t),M(!0))}k(e)},[S,w]),F=d.useRef(!1),I=d.useRef(void 0),L=d.useCallback(()=>{N(O,[0,0]),F.current=!0},[O,N]),R=d.useCallback((e,t)=>{N(e,t??I.current??[0,0]),F.current=!0},[N]),z=d.useCallback(async e=>{let t=!1;e.key===`Escape`?(e.stopPropagation(),e.preventDefault(),I.current=[0,0]):e.key===`Enter`&&!e.shiftKey?(e.stopPropagation(),e.preventDefault(),I.current=[0,1],t=!0):e.key===`Tab`&&(e.stopPropagation(),e.preventDefault(),I.current=[e.shiftKey?-1:1,0],t=!0),window.setTimeout(()=>{!F.current&&I.current!==void 0&&(N(t?O:void 0,I.current),F.current=!0)},0)},[N,O]),B=O??n,[V,H]=d.useMemo(()=>{if(c(n))return[];let e=E?.(n);return e===void 0?[T(n)?.provideEditor?.(n),!1]:[e,!1]},[n,T,E]),{ref:U,style:W}=b(),G=!0,K,q=!0,J;if(V!==void 0){G=V.disablePadding!==!0,q=V.disableStyling!==!0;let e=o(V);e&&(J=V.styleOverride);let n=e?V.editor:V;K=d.createElement(n,{isHighlighted:g,onChange:P,value:B,initialValue:p,onFinishedEditing:R,validatedSelection:s(B)?B.selectionRange:void 0,forceEditMode:f,target:t,imageEditorOverride:m,markdownDivCreateNode:h,isValid:j,theme:y})}J={...J,...W};let Y=document.getElementById(`portal`);if(Y===null)return console.error('Cannot open Data Grid overlay editor, because portal not found. Please add `<div id="portal" />` as the last child of your `<body>`.'),null;let X=q?`gdg-style`:`gdg-unstyle`;j||(X+=` gdg-invalid`),G&&(X+=` gdg-pad`);let Z=C?.[0]??1,Q=C?.[1]??1;return(0,u.createPortal)(d.createElement(a.Provider,{value:y},d.createElement(i,{style:r(y),className:_,onClickOutside:L,isOutsideClick:D},d.createElement(v,{ref:U,id:x,className:X,style:J,as:H===!0?`label`:void 0,targetX:t.x-Z,targetY:t.y-Q,targetWidth:t.width+Z*2,targetHeight:t.height+Q*2},d.createElement(`div`,{className:`gdg-clip-region`,onKeyDown:z},K)))),Y)};export{x as default};
@@ -0,0 +1 @@
1
+ import{o as e,t}from"./rolldown-runtime-FhOqtrmT.js";import{C as n}from"./vendor-markdown-CuWCHIVb.js";var r=e(n(),1),i=class extends r.PureComponent{wrapperRef=r.createRef();componentDidMount(){document.addEventListener(`touchend`,this.clickOutside,!0),document.addEventListener(`mousedown`,this.clickOutside,!0),document.addEventListener(`contextmenu`,this.clickOutside,!0)}componentWillUnmount(){document.removeEventListener(`touchend`,this.clickOutside,!0),document.removeEventListener(`mousedown`,this.clickOutside,!0),document.removeEventListener(`contextmenu`,this.clickOutside,!0)}clickOutside=e=>{if(!(this.props.isOutsideClick&&!this.props.isOutsideClick(e))&&this.wrapperRef.current!==null&&!this.wrapperRef.current.contains(e.target)){let t=e.target;for(;t!==null;){if(t.classList.contains(`click-outside-ignore`))return;t=t.parentElement}this.props.onClickOutside()}};render(){let{onClickOutside:e,isOutsideClick:t,...n}=this.props;return r.createElement(`div`,{...n,ref:this.wrapperRef},this.props.children)}},a={},o=null;function s(){let e=document.createElement(`div`);return e.style.opacity=`0`,e.style.pointerEvents=`none`,e.style.position=`fixed`,document.body.append(e),e}function c(e){let t=e.toLowerCase().trim();if(a[t]!==void 0)return a[t];o||=s(),o.style.color=`#000`,o.style.color=t;let n=getComputedStyle(o).color;o.style.color=`#fff`,o.style.color=t;let r=getComputedStyle(o).color;if(r!==n)return[0,0,0,1];let i=r.replace(/[^\d.,]/g,``).split(`,`).map(Number.parseFloat);return i.length<4&&i.push(1),i=i.map(e=>Number.isNaN(e)?0:e),a[t]=i,i}function l(e,t){let[n,r,i]=c(e);return`rgba(${n}, ${r}, ${i}, ${t})`}var u=new Map;function d(e,t){let n=`${e}-${t}`,r=u.get(n);if(r!==void 0)return r;let i=f(e,t);return u.set(n,i),i}function f(e,t){if(t===void 0)return e;let[n,r,i,a]=c(e);if(a===1)return e;let[o,s,l,u]=c(t),d=a+u*(1-a);return`rgba(${(a*n+u*o*(1-a))/d}, ${(a*r+u*s*(1-a))/d}, ${(a*i+u*l*(1-a))/d}, ${d})`}function p(e){return{"--gdg-accent-color":e.accentColor,"--gdg-accent-fg":e.accentFg,"--gdg-accent-light":e.accentLight,"--gdg-text-dark":e.textDark,"--gdg-text-medium":e.textMedium,"--gdg-text-light":e.textLight,"--gdg-text-bubble":e.textBubble,"--gdg-bg-icon-header":e.bgIconHeader,"--gdg-fg-icon-header":e.fgIconHeader,"--gdg-text-header":e.textHeader,"--gdg-text-group-header":e.textGroupHeader??e.textHeader,"--gdg-text-header-selected":e.textHeaderSelected,"--gdg-bg-cell":e.bgCell,"--gdg-bg-cell-medium":e.bgCellMedium,"--gdg-bg-header":e.bgHeader,"--gdg-bg-header-has-focus":e.bgHeaderHasFocus,"--gdg-bg-header-hovered":e.bgHeaderHovered,"--gdg-bg-bubble":e.bgBubble,"--gdg-bg-bubble-selected":e.bgBubbleSelected,"--gdg-bg-search-result":e.bgSearchResult,"--gdg-border-color":e.borderColor,"--gdg-horizontal-border-color":e.horizontalBorderColor??e.borderColor,"--gdg-drilldown-border":e.drilldownBorder,"--gdg-link-color":e.linkColor,"--gdg-cell-horizontal-padding":`${e.cellHorizontalPadding}px`,"--gdg-cell-vertical-padding":`${e.cellVerticalPadding}px`,"--gdg-header-font-style":e.headerFontStyle,"--gdg-base-font-style":e.baseFontStyle,"--gdg-marker-font-style":e.markerFontStyle,"--gdg-font-family":e.fontFamily,"--gdg-editor-font-size":e.editorFontSize,...e.resizeIndicatorColor===void 0?{}:{"--gdg-resize-indicator-color":e.resizeIndicatorColor},...e.headerBottomBorderColor===void 0?{}:{"--gdg-header-bottom-border-color":e.headerBottomBorderColor},...e.roundingRadius===void 0?{}:{"--gdg-rounding-radius":`${e.roundingRadius}px`}}}var m={accentColor:`#4F5DFF`,accentFg:`#FFFFFF`,accentLight:`rgba(62, 116, 253, 0.1)`,textDark:`#313139`,textMedium:`#737383`,textLight:`#B2B2C0`,textBubble:`#313139`,bgIconHeader:`#737383`,fgIconHeader:`#FFFFFF`,textHeader:`#313139`,textGroupHeader:`#313139BB`,textHeaderSelected:`#FFFFFF`,bgCell:`#FFFFFF`,bgCellMedium:`#FAFAFB`,bgHeader:`#F7F7F8`,bgHeaderHasFocus:`#E9E9EB`,bgHeaderHovered:`#EFEFF1`,bgBubble:`#EDEDF3`,bgBubbleSelected:`#FFFFFF`,bgSearchResult:`#fff9e3`,borderColor:`rgba(115, 116, 131, 0.16)`,drilldownBorder:`rgba(0, 0, 0, 0)`,linkColor:`#353fb5`,cellHorizontalPadding:8,cellVerticalPadding:3,headerIconSize:18,headerFontStyle:`600 13px`,baseFontStyle:`13px`,markerFontStyle:`9px`,fontFamily:`Inter, Roboto, -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Ubuntu, noto, arial, sans-serif`,editorFontSize:`13px`,lineHeight:1.4};function ee(){return m}var te=r.createContext(m);function ne(e,...t){let n={...e};for(let e of t)if(e!==void 0)for(let t in e)e.hasOwnProperty(t)&&(t===`bgCell`?n[t]=f(e[t],n[t]):n[t]=e[t]);return(n.headerFontFull===void 0||e.fontFamily!==n.fontFamily||e.headerFontStyle!==n.headerFontStyle)&&(n.headerFontFull=`${n.headerFontStyle} ${n.fontFamily}`),(n.baseFontFull===void 0||e.fontFamily!==n.fontFamily||e.baseFontStyle!==n.baseFontStyle)&&(n.baseFontFull=`${n.baseFontStyle} ${n.fontFamily}`),(n.markerFontFull===void 0||e.fontFamily!==n.fontFamily||e.markerFontStyle!==n.markerFontStyle)&&(n.markerFontFull=`${n.markerFontStyle} ${n.fontFamily}`),n}function h(e=`This should not happen`){throw Error(e)}function g(e,t=`Assertion failed`){if(!e)return h(t)}function _(e,t){return h(t??`Hell froze over`)}function re(e,t){try{return e()}catch{return t}}var v=Object.prototype.hasOwnProperty;function y(e,t){let n,r;if(e===t)return!0;if(e&&t&&(n=e.constructor)===t.constructor){if(n===Date)return e.getTime()===t.getTime();if(n===RegExp)return e.toString()===t.toString();if(n===Array){if((r=e.length)===t.length)for(;r--&&y(e[r],t[r]););return r===-1}if(!n||typeof e==`object`){for(n in r=0,e)if(v.call(e,n)&&++r&&!v.call(t,n)||!(n in t)||!y(e[n],t[n]))return!1;return Object.keys(t).length===r}}return e!==e&&t!==t}var ie=t(((e,t)=>{var n=Object.prototype.hasOwnProperty;function r(e,t){return e!=null&&n.call(e,t)}t.exports=r})),b=t(((e,t)=>{t.exports=Array.isArray})),x=t(((e,t)=>{t.exports=typeof global==`object`&&global&&global.Object===Object&&global})),S=t(((e,t)=>{var n=x(),r=typeof self==`object`&&self&&self.Object===Object&&self;t.exports=n||r||Function(`return this`)()})),C=t(((e,t)=>{t.exports=S().Symbol})),ae=t(((e,t)=>{var n=C(),r=Object.prototype,i=r.hasOwnProperty,a=r.toString,o=n?n.toStringTag:void 0;function s(e){var t=i.call(e,o),n=e[o];try{e[o]=void 0;var r=!0}catch{}var s=a.call(e);return r&&(t?e[o]=n:delete e[o]),s}t.exports=s})),oe=t(((e,t)=>{var n=Object.prototype.toString;function r(e){return n.call(e)}t.exports=r})),w=t(((e,t)=>{var n=C(),r=ae(),i=oe(),a=`[object Null]`,o=`[object Undefined]`,s=n?n.toStringTag:void 0;function c(e){return e==null?e===void 0?o:a:s&&s in Object(e)?r(e):i(e)}t.exports=c})),T=t(((e,t)=>{function n(e){return typeof e==`object`&&!!e}t.exports=n})),E=t(((e,t)=>{var n=w(),r=T(),i=`[object Symbol]`;function a(e){return typeof e==`symbol`||r(e)&&n(e)==i}t.exports=a})),D=t(((e,t)=>{var n=b(),r=E(),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;function o(e,t){if(n(e))return!1;var o=typeof e;return o==`number`||o==`symbol`||o==`boolean`||e==null||r(e)?!0:a.test(e)||!i.test(e)||t!=null&&e in Object(t)}t.exports=o})),O=t(((e,t)=>{function n(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}t.exports=n})),k=t(((e,t)=>{var n=w(),r=O(),i=`[object AsyncFunction]`,a=`[object Function]`,o=`[object GeneratorFunction]`,s=`[object Proxy]`;function c(e){if(!r(e))return!1;var t=n(e);return t==a||t==o||t==i||t==s}t.exports=c})),A=t(((e,t)=>{t.exports=S()[`__core-js_shared__`]})),se=t(((e,t)=>{var n=A(),r=function(){var e=/[^.]+$/.exec(n&&n.keys&&n.keys.IE_PROTO||``);return e?`Symbol(src)_1.`+e:``}();function i(e){return!!r&&r in e}t.exports=i})),j=t(((e,t)=>{var n=Function.prototype.toString;function r(e){if(e!=null){try{return n.call(e)}catch{}try{return e+``}catch{}}return``}t.exports=r})),ce=t(((e,t)=>{var n=k(),r=se(),i=O(),a=j(),o=/[\\^$.*+?()[\]{}|]/g,s=/^\[object .+?Constructor\]$/,c=Function.prototype,l=Object.prototype,u=c.toString,d=l.hasOwnProperty,f=RegExp(`^`+u.call(d).replace(o,`\\$&`).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,`$1.*?`)+`$`);function p(e){return!i(e)||r(e)?!1:(n(e)?f:s).test(a(e))}t.exports=p})),le=t(((e,t)=>{function n(e,t){return e?.[t]}t.exports=n})),M=t(((e,t)=>{var n=ce(),r=le();function i(e,t){var i=r(e,t);return n(i)?i:void 0}t.exports=i})),N=t(((e,t)=>{t.exports=M()(Object,`create`)})),ue=t(((e,t)=>{var n=N();function r(){this.__data__=n?n(null):{},this.size=0}t.exports=r})),de=t(((e,t)=>{function n(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}t.exports=n})),fe=t(((e,t)=>{var n=N(),r=`__lodash_hash_undefined__`,i=Object.prototype.hasOwnProperty;function a(e){var t=this.__data__;if(n){var a=t[e];return a===r?void 0:a}return i.call(t,e)?t[e]:void 0}t.exports=a})),pe=t(((e,t)=>{var n=N(),r=Object.prototype.hasOwnProperty;function i(e){var t=this.__data__;return n?t[e]!==void 0:r.call(t,e)}t.exports=i})),me=t(((e,t)=>{var n=N(),r=`__lodash_hash_undefined__`;function i(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=n&&t===void 0?r:t,this}t.exports=i})),he=t(((e,t)=>{var n=ue(),r=de(),i=fe(),a=pe(),o=me();function s(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}s.prototype.clear=n,s.prototype.delete=r,s.prototype.get=i,s.prototype.has=a,s.prototype.set=o,t.exports=s})),P=t(((e,t)=>{function n(){this.__data__=[],this.size=0}t.exports=n})),F=t(((e,t)=>{function n(e,t){return e===t||e!==e&&t!==t}t.exports=n})),I=t(((e,t)=>{var n=F();function r(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return-1}t.exports=r})),L=t(((e,t)=>{var n=I(),r=Array.prototype.splice;function i(e){var t=this.__data__,i=n(t,e);return i<0?!1:(i==t.length-1?t.pop():r.call(t,i,1),--this.size,!0)}t.exports=i})),R=t(((e,t)=>{var n=I();function r(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}t.exports=r})),ge=t(((e,t)=>{var n=I();function r(e){return n(this.__data__,e)>-1}t.exports=r})),_e=t(((e,t)=>{var n=I();function r(e,t){var r=this.__data__,i=n(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}t.exports=r})),z=t(((e,t)=>{var n=P(),r=L(),i=R(),a=ge(),o=_e();function s(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}s.prototype.clear=n,s.prototype.delete=r,s.prototype.get=i,s.prototype.has=a,s.prototype.set=o,t.exports=s})),B=t(((e,t)=>{t.exports=M()(S(),`Map`)})),ve=t(((e,t)=>{var n=he(),r=z(),i=B();function a(){this.size=0,this.__data__={hash:new n,map:new(i||r),string:new n}}t.exports=a})),ye=t(((e,t)=>{function n(e){var t=typeof e;return t==`string`||t==`number`||t==`symbol`||t==`boolean`?e!==`__proto__`:e===null}t.exports=n})),V=t(((e,t)=>{var n=ye();function r(e,t){var r=e.__data__;return n(t)?r[typeof t==`string`?`string`:`hash`]:r.map}t.exports=r})),be=t(((e,t)=>{var n=V();function r(e){var t=n(this,e).delete(e);return this.size-=t?1:0,t}t.exports=r})),xe=t(((e,t)=>{var n=V();function r(e){return n(this,e).get(e)}t.exports=r})),Se=t(((e,t)=>{var n=V();function r(e){return n(this,e).has(e)}t.exports=r})),Ce=t(((e,t)=>{var n=V();function r(e,t){var r=n(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}t.exports=r})),H=t(((e,t)=>{var n=ve(),r=be(),i=xe(),a=Se(),o=Ce();function s(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}s.prototype.clear=n,s.prototype.delete=r,s.prototype.get=i,s.prototype.has=a,s.prototype.set=o,t.exports=s})),we=t(((e,t)=>{var n=H(),r=`Expected a function`;function i(e,t){if(typeof e!=`function`||t!=null&&typeof t!=`function`)throw TypeError(r);var a=function(){var n=arguments,r=t?t.apply(this,n):n[0],i=a.cache;if(i.has(r))return i.get(r);var o=e.apply(this,n);return a.cache=i.set(r,o)||i,o};return a.cache=new(i.Cache||n),a}i.Cache=n,t.exports=i})),Te=t(((e,t)=>{var n=we(),r=500;function i(e){var t=n(e,function(e){return i.size===r&&i.clear(),e}),i=t.cache;return t}t.exports=i})),Ee=t(((e,t)=>{var n=Te(),r=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,i=/\\(\\)?/g;t.exports=n(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(``),e.replace(r,function(e,n,r,a){t.push(r?a.replace(i,`$1`):n||e)}),t})})),De=t(((e,t)=>{function n(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}t.exports=n})),Oe=t(((e,t)=>{var n=C(),r=De(),i=b(),a=E(),o=1/0,s=n?n.prototype:void 0,c=s?s.toString:void 0;function l(e){if(typeof e==`string`)return e;if(i(e))return r(e,l)+``;if(a(e))return c?c.call(e):``;var t=e+``;return t==`0`&&1/e==-o?`-0`:t}t.exports=l})),ke=t(((e,t)=>{var n=Oe();function r(e){return e==null?``:n(e)}t.exports=r})),U=t(((e,t)=>{var n=b(),r=D(),i=Ee(),a=ke();function o(e,t){return n(e)?e:r(e,t)?[e]:i(a(e))}t.exports=o})),Ae=t(((e,t)=>{var n=w(),r=T(),i=`[object Arguments]`;function a(e){return r(e)&&n(e)==i}t.exports=a})),W=t(((e,t)=>{var n=Ae(),r=T(),i=Object.prototype,a=i.hasOwnProperty,o=i.propertyIsEnumerable;t.exports=n(function(){return arguments}())?n:function(e){return r(e)&&a.call(e,`callee`)&&!o.call(e,`callee`)}})),G=t(((e,t)=>{var n=9007199254740991,r=/^(?:0|[1-9]\d*)$/;function i(e,t){var i=typeof e;return t??=n,!!t&&(i==`number`||i!=`symbol`&&r.test(e))&&e>-1&&e%1==0&&e<t}t.exports=i})),K=t(((e,t)=>{var n=9007199254740991;function r(e){return typeof e==`number`&&e>-1&&e%1==0&&e<=n}t.exports=r})),q=t(((e,t)=>{var n=E(),r=1/0;function i(e){if(typeof e==`string`||n(e))return e;var t=e+``;return t==`0`&&1/e==-r?`-0`:t}t.exports=i})),J=t(((e,t)=>{var n=U(),r=W(),i=b(),a=G(),o=K(),s=q();function c(e,t,c){t=n(t,e);for(var l=-1,u=t.length,d=!1;++l<u;){var f=s(t[l]);if(!(d=e!=null&&c(e,f)))break;e=e[f]}return d||++l!=u?d:(u=e==null?0:e.length,!!u&&o(u)&&a(f,u)&&(i(e)||r(e)))}t.exports=c})),je=e(t(((e,t)=>{var n=ie(),r=J();function i(e,t){return e!=null&&r(e,t,n)}t.exports=i}))(),1),Y;(function(e){e.Uri=`uri`,e.Text=`text`,e.Image=`image`,e.RowID=`row-id`,e.Number=`number`,e.Bubble=`bubble`,e.Boolean=`boolean`,e.Loading=`loading`,e.Markdown=`markdown`,e.Drilldown=`drilldown`,e.Protected=`protected`,e.Custom=`custom`})(Y||={});var Me;(function(e){e.HeaderRowID=`headerRowID`,e.HeaderCode=`headerCode`,e.HeaderNumber=`headerNumber`,e.HeaderString=`headerString`,e.HeaderBoolean=`headerBoolean`,e.HeaderAudioUri=`headerAudioUri`,e.HeaderVideoUri=`headerVideoUri`,e.HeaderEmoji=`headerEmoji`,e.HeaderImage=`headerImage`,e.HeaderUri=`headerUri`,e.HeaderPhone=`headerPhone`,e.HeaderMarkdown=`headerMarkdown`,e.HeaderDate=`headerDate`,e.HeaderTime=`headerTime`,e.HeaderEmail=`headerEmail`,e.HeaderReference=`headerReference`,e.HeaderIfThenElse=`headerIfThenElse`,e.HeaderSingleValue=`headerSingleValue`,e.HeaderLookup=`headerLookup`,e.HeaderTextTemplate=`headerTextTemplate`,e.HeaderMath=`headerMath`,e.HeaderRollup=`headerRollup`,e.HeaderJoinStrings=`headerJoinStrings`,e.HeaderSplitString=`headerSplitString`,e.HeaderGeoDistance=`headerGeoDistance`,e.HeaderArray=`headerArray`,e.RowOwnerOverlay=`rowOwnerOverlay`,e.ProtectedColumnOverlay=`protectedColumnOverlay`})(Me||={});var X;(function(e){e.Triangle=`triangle`,e.Dots=`dots`})(X||={});function Ne(e){return`width`in e&&typeof e.width==`number`}async function Pe(e){return typeof e==`object`?e:await e()}function Z(e){return!(e.kind===Y.Loading||e.kind===Y.Bubble||e.kind===Y.RowID||e.kind===Y.Protected||e.kind===Y.Drilldown)}function Fe(e){return e.kind===$.Marker||e.kind===$.NewRow}function Q(e){if(!Z(e)||e.kind===Y.Image)return!1;if(e.kind===Y.Text||e.kind===Y.Number||e.kind===Y.Markdown||e.kind===Y.Uri||e.kind===Y.Custom||e.kind===Y.Boolean)return e.readonly!==!0;_(e,`A cell was passed with an invalid kind`)}function Ie(e){return(0,je.default)(e,`editor`)}function Le(e){return!(e.readonly??!1)}var $;(function(e){e.NewRow=`new-row`,e.Marker=`marker`})($||={});function Re(e){if(e.length===0)return[];let t=[...e],n=[];t.sort(function(e,t){return e[0]-t[0]}),n.push([...t[0]]);for(let e of t.slice(1)){let t=n[n.length-1];t[1]<e[0]?n.push([...e]):t[1]<e[1]&&(t[1]=e[1])}return n}var ze,Be=class e{items;constructor(e){this.items=e}static empty=()=>ze??=new e([]);static fromSingleSelection=t=>e.empty().add(t);offset(t){return t===0?this:new e(this.items.map(e=>[e[0]+t,e[1]+t]))}add(t){let n=typeof t==`number`?[t,t+1]:t;return new e(Re([...this.items,n]))}remove(t){let n=[...this.items],r=typeof t==`number`?t:t[0],i=typeof t==`number`?t+1:t[1];for(let[e,t]of n.entries()){let[a,o]=t;if(a<=i&&r<=o){let t=[];a<r&&t.push([a,r]),i<o&&t.push([i,o]),n.splice(e,1,...t)}}return new e(n)}first(){if(this.items.length!==0)return this.items[0][0]}last(){if(this.items.length!==0)return this.items.slice(-1)[0][1]-1}hasIndex(e){for(let t=0;t<this.items.length;t++){let[n,r]=this.items[t];if(e>=n&&e<r)return!0}return!1}hasAll(e){for(let t=e[0];t<e[1];t++)if(!this.hasIndex(t))return!1;return!0}some(e){for(let t of this)if(e(t))return!0;return!1}equals(e){if(e===this)return!0;if(e.items.length!==this.items.length)return!1;for(let t=0;t<this.items.length;t++){let n=e.items[t],r=this.items[t];if(n[0]!==r[0]||n[1]!==r[1])return!1}return!0}toArray(){let e=[];for(let[t,n]of this.items)for(let r=t;r<n;r++)e.push(r);return e}get length(){let e=0;for(let[t,n]of this.items)e+=n-t;return e}*[Symbol.iterator](){for(let[e,t]of this.items)for(let n=e;n<t;n++)yield n}};export{C as A,p as B,j as C,E as D,D as E,_ as F,i as G,f as H,y as I,re as L,x as M,b as N,T as O,g as P,te as R,M as S,O as T,d as U,ne as V,l as W,U as _,Le as a,z as b,Ie as c,Pe as d,J as f,W as g,G as h,$ as i,S as j,w as k,Q as l,K as m,Y as n,Z as o,q as p,X as r,Fe as s,Be as t,Ne as u,H as v,k as w,F as x,B as y,ee as z};
@@ -1 +1 @@
1
- import{t as e}from"./createLucideIcon-D8pyde1A.js";var t=e(`database`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]);export{t};
1
+ import{t as e}from"./createLucideIcon-D6fVXe3s.js";var t=e(`database`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{C as t,S as n}from"./vendor-markdown-CuWCHIVb.js";import"./vendor-ui-BBdkypKW.js";import{t as r}from"./database-9_p74TtY.js";import{n as i,t as a}from"./glide-data-grid-D3Xc_WGh.js";import{t as o}from"./loader-circle-H81ywCuQ.js";import{t as s}from"./shield-check-z9PX8HVZ.js";import{t as c}from"./shield-off-Du0U5dVI.js";import{n as l,s as u}from"./api-client-DKvkxuDr.js";import"./vendor-mermaid-BoRFiriK.js";import"./settings-store-BkNrLdjk.js";import"./panel-store-XhAruR6D.js";import"./window-store-2z4t5YAt.js";import{t as d}from"./tab-store-B7BksLr-.js";import{K as f,Xn as p,gr as m}from"./index-BV_sFdHY.js";import"./data-grid-types-tNj9zuRV.js";import"./use-monaco-theme-qzMbRfCW.js";import{t as h}from"./sql-query-editor-DaQqRBNA.js";var g=e(t(),1);function _(e,t,n,r){return`ppm-db-${e}-${n}.${t}-p${r}`}function v(e,t,n,r){try{let i=sessionStorage.getItem(_(e,t,n,r));return i?JSON.parse(i):null}catch{return null}}function y(e,t,n,r,i,a){try{sessionStorage.setItem(_(e,t,n,r),JSON.stringify({data:i,cols:a}))}catch{}}function b(e){let t=`/api/db/connections/${e}`,[n,r]=(0,g.useState)(null),[i,a]=(0,g.useState)(`public`),[o,s]=(0,g.useState)(null),[c,d]=(0,g.useState)([]),[f,p]=(0,g.useState)(!1),[m,h]=(0,g.useState)(null),[_,b]=(0,g.useState)(1),[x,S]=(0,g.useState)(null),[C,w]=(0,g.useState)(null),[T,E]=(0,g.useState)(!1),[D,O]=(0,g.useState)(null),[k,A]=(0,g.useState)(`ASC`),j=(0,g.useRef)(null),M=(0,g.useCallback)(async(r,a,o,c,u)=>{let f=r??n,m=a??i;if(!f)return;j.current=null,p(!0);let g=c===void 0?D:c,v=u??k;try{let n=g?`&orderBy=${encodeURIComponent(g)}&orderDir=${v}`:``,[r,i]=await Promise.all([l.get(`${t}/data?table=${encodeURIComponent(f)}&schema=${m}&page=${o??_}&limit=100${n}`),l.get(`${t}/schema?table=${encodeURIComponent(f)}&schema=${m}`)]);s(r),d(i),y(e,f,m,o??_,r,i)}catch(e){h(e.message)}finally{p(!1)}},[t,e,n,i,_,D,k]),N=(0,g.useCallback)((t,n=`public`)=>{r(t),a(n),b(1),S(null);let i=v(e,t,n,1);i?(s(i.data),d(i.cols),p(!1),M(t,n,1)):M(t,n,1)},[e,M]),P=(0,g.useCallback)(e=>{b(e),M(void 0,void 0,e)},[M]),F=(0,g.useCallback)(async e=>{j.current={sql:e,mode:`table`},p(!0);try{let n=await l.post(`${t}/query`,{sql:e,source:`filter`});n.changeType===`select`&&s({columns:n.columns,rows:n.rows,total:n.rows.length,page:1,limit:n.rows.length})}catch(e){h(e.message)}finally{p(!1)}},[t]),I=(0,g.useCallback)(async e=>{E(!0),w(null);try{let r=await l.post(`${t}/query`,{sql:e});S(r),r.changeType===`modify`?(j.current=null,M(n??void 0,i)):j.current={sql:e,mode:`query`}}catch(e){w(e.message)}finally{E(!1)}},[t,n,i,M]),L=(0,g.useCallback)((e,t)=>{let n=j.current;if(n?.mode===`table`){F(n.sql);return}M(e,t)},[F,M]),R=(0,g.useCallback)((e,t)=>{let n=t.message;h(n),u.error(`${e} failed`,{description:n})},[]),z=(0,g.useCallback)(async(e,r,a,o)=>{if(!n)return;let s=n,c=i;try{await l.put(`${t}/cell`,{table:s,schema:c,pkColumn:e,pkValue:r,column:a,value:o}),L(s,c)}catch(e){R(`Update cell`,e)}},[t,n,i,L,R]),B=(0,g.useCallback)(async(e,r)=>{if(!n)return;let a=n,o=i;try{await l.del(`${t}/row`,{table:a,schema:o,pkColumn:e,pkValue:r}),L(a,o)}catch(e){R(`Delete row`,e)}},[t,n,i,L,R]),V=(0,g.useCallback)(e=>{let t,n=`ASC`;D===e?k===`ASC`?(t=e,n=`DESC`):(t=null,n=`ASC`):(t=e,n=`ASC`),O(t),A(n),b(1),M(void 0,void 0,1,t,n)},[D,k,M]),H=(0,g.useCallback)(()=>{O(null),A(`ASC`),b(1),M(void 0,void 0,1,null,`ASC`)},[M]),U=(0,g.useCallback)(async(e,r)=>{if(!n)return;let a=n,o=i;try{await l.post(`${t}/rows/delete`,{table:a,schema:o,pkColumn:e,pkValues:r}),L(a,o)}catch(e){R(`Delete rows`,e)}},[t,n,i,L,R]),W=(0,g.useCallback)(async e=>{if(!n)return;let r=n,a=i;try{await l.post(`${t}/row`,{table:r,schema:a,values:e}),L(r,a)}catch(e){throw R(`Insert row`,e),e}},[t,n,i,L,R]),G=(0,g.useCallback)(()=>{let e=j.current;if(e?.mode===`query`){I(e.sql);return}if(e?.mode===`table`){F(e.sql);return}M()},[I,F,M]);return{selectedTable:n,selectedSchema:i,selectTable:N,tableData:o,schema:c,loading:f,error:m,page:_,setPage:P,orderBy:D,orderDir:k,toggleSort:V,clearSort:H,queryResult:x,queryError:C,queryLoading:T,executeQuery:I,updateCell:z,updateCellIn:(0,g.useCallback)(async(e,n,r,i,a,o)=>{try{await l.put(`${t}/cell`,{table:e,schema:n,pkColumn:r,pkValue:i,column:a,value:o}),G()}catch(e){R(`Update cell`,e)}},[t,G,R]),deleteRow:B,bulkDelete:U,insertRow:W,refreshData:M,queryAsTable:F,reload:G}}function x(e,t){let n=e.replace(/--[^\r\n]*/g,` `).replace(/\/\*[\s\S]*?\*\//g,` `).trim().replace(/;\s*$/,``);if(!/^select\s/i.test(n)||/\b(join|union|intersect|except|group\s+by|distinct)\b/i.test(n)||(n.match(/\bfrom\b/gi)??[]).length!==1)return null;let r=/\bfrom\s+(?:"([^"]+)"|(\w+))\s*(?:\.\s*(?:"([^"]+)"|(\w+)))?/i.exec(n);if(!r)return null;let i=r[1]??r[2],a=r[3]??r[4];return a?{schema:i,table:a}:{table:i,schema:t}}var S=n();function C(e){let t={},n=/"(\w+)"\s+ILIKE\s+'%([^']*?)%'/gi,r;for(;(r=n.exec(e))!==null;)t[r[1]]=r[2].replace(/''/g,`'`);return t}function w({metadata:e,tabId:t}){let n=e?.connectionId,u=e?.connectionName,_=e?.tableName,v=e?.schemaName??`public`,y=e?.initialSql,w=e?.currentSql,T=d(e=>e.updateTab),D=(0,g.useRef)(e);D.current=e;let O=(0,g.useCallback)(e=>{t&&T(t,{metadata:{...D.current,currentSql:e}})},[t,T]),k=b(n),{connections:A,updateConnection:j}=f(),M=(0,g.useMemo)(()=>A.find(e=>e.id===n),[A,n]),[N,P]=(0,g.useState)([]),[F,I]=(0,g.useState)(180),L=(0,g.useRef)(null),[R,z]=(0,g.useState)({}),B=(0,g.useMemo)(()=>{if(y&&!k.selectedTable)return y;if(k.selectedTable){let e=`SELECT * FROM "${k.selectedTable}"`,t=Object.entries(R).filter(([,e])=>e.trim()).map(([e,t])=>`"${e}" ILIKE '%${t.replace(/'/g,`''`)}%'`);t.length>0&&(e+=` WHERE ${t.join(` AND `)}`),k.orderBy&&(e+=` ORDER BY "${k.orderBy}" ${k.orderDir}`);let n=(k.page-1)*100;return e+=` LIMIT 100`,n>0&&(e+=` OFFSET ${n}`),e}return`SELECT * FROM `},[y,k.selectedTable,k.orderBy,k.orderDir,k.page,R]),V=(0,g.useCallback)(e=>{z(e)},[]),H=(0,g.useRef)(void 0),U=(0,g.useRef)(!1);(0,g.useEffect)(()=>{if(!k.selectedTable)return;let e=Object.values(R).some(e=>e.trim());if(!(!e&&!U.current))return U.current=e,clearTimeout(H.current),H.current=setTimeout(()=>{e?k.queryAsTable(B):k.refreshData()},500),()=>clearTimeout(H.current)},[R]);let W=(0,g.useCallback)(e=>{e.preventDefault();let t=e.clientY,n=F,r=e=>{let r=e.clientY-t;I(Math.max(80,Math.min(n+r,(L.current?.clientHeight??600)-100)))},i=()=>{document.removeEventListener(`mousemove`,r),document.removeEventListener(`mouseup`,i)};document.addEventListener(`mousemove`,r),document.addEventListener(`mouseup`,i)},[F]);(0,g.useEffect)(()=>{l.get(`/api/db/connections/${n}/tables?cached=1`).then(e=>P(e.map(e=>({name:e.name,schema:e.schema})))).catch(()=>{})},[n]);let G=(0,g.useMemo)(()=>{if(N.length!==0)return{tables:N,getColumns:async(e,t)=>await l.get(`/api/db/connections/${n}/schema?table=${encodeURIComponent(e)}${t?`&schema=${encodeURIComponent(t)}`:``}`)}},[n,N]),K=(0,g.useRef)(!1);(0,g.useEffect)(()=>{K.current||(K.current=!0,y?k.executeQuery(y):_&&k.selectTable(_,v))},[_,v,y]);let[q,J]=(0,g.useState)(!!y),[Y,ee]=(0,g.useState)(y??null),te=(0,g.useCallback)(e=>{let t=e.trim();if(k.selectedTable&&RegExp(`^SELECT\\s+\\*\\s+FROM\\s+"?${k.selectedTable.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}"?\\b`,`i`).test(t)){z(C(t)),k.queryAsTable(t);return}J(!0),ee(t),k.executeQuery(e)},[k.executeQuery,k.queryAsTable,k.selectedTable]),ne=(0,g.useCallback)(e=>{J(!1),k.toggleSort(e)},[k.toggleSort]),re=(0,g.useCallback)(()=>{J(!1),k.clearSort()},[k.clearSort]),ie=(0,g.useCallback)(e=>{J(!1),k.setPage(e)},[k.setPage]),X=(0,g.useMemo)(()=>M&&!M.readonly&&Y?x(Y,k.selectedSchema):null,[M,Y,k.selectedSchema]),ae=(0,g.useCallback)((e,t,n,r)=>{X&&k.updateCellIn(X.table,X.schema,e,t,n,r)},[X,k.updateCellIn]),Z=k.queryResult,Q=q&&!!(Z||k.queryError),$=k.selectedTable&&!Q,oe=!($&&k.tableData)&&!Q&&(k.loading||k.queryLoading);return(0,S.jsx)(`div`,{ref:L,className:`flex h-full w-full overflow-hidden`,children:(0,S.jsxs)(`div`,{className:`flex-1 flex flex-col overflow-hidden`,children:[(0,S.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1.5 border-b border-border bg-background shrink-0`,children:[(0,S.jsx)(r,{className:`size-3.5 text-muted-foreground`}),(0,S.jsx)(`span`,{className:`text-xs text-muted-foreground truncate`,children:u??`Database`}),k.selectedTable&&(0,S.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`/ `,k.selectedTable]}),(0,S.jsxs)(`div`,{className:`ml-auto flex items-center gap-1`,children:[k.tableData&&(0,S.jsx)(i,{columns:k.tableData.columns,rows:k.tableData.rows,filename:u?`${u}-${k.selectedTable??`data`}`:k.selectedTable??`data`,exportAllUrl:k.selectedTable?`/api/db/connections/${n}/export?table=${encodeURIComponent(k.selectedTable)}&schema=${k.selectedSchema}`:void 0}),M&&(0,S.jsx)(`button`,{type:`button`,onClick:()=>j(M.id,{readonly:M.readonly?0:1}),className:`flex items-center gap-0.5 px-1 py-0.5 rounded text-[10px] transition-colors ${M.readonly?`text-muted-foreground hover:text-foreground`:`bg-destructive/15 text-destructive`}`,title:M.readonly?`Readonly — click to allow writes`:`WRITE mode — click to enable readonly`,children:M.readonly?(0,S.jsx)(s,{className:`size-3`}):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(c,{className:`size-3`}),(0,S.jsx)(`span`,{className:`font-medium`,children:`WRITE`})]})}),(0,S.jsx)(`button`,{type:`button`,onClick:()=>k.reload(),title:`Reload data`,className:`p-1 rounded text-muted-foreground hover:text-foreground transition-colors`,children:(0,S.jsx)(p,{className:`size-3 ${k.loading||k.queryLoading?`animate-spin`:``}`})})]})]}),(0,S.jsx)(`div`,{className:`shrink-0 border-b border-border`,style:{height:F},children:(0,S.jsx)(h,{onExecute:te,loading:k.queryLoading,defaultValue:B,schemaInfo:G,onSqlChange:O,persistedSql:w})}),(0,S.jsx)(`div`,{onMouseDown:W,className:`shrink-0 h-1.5 cursor-row-resize bg-border/50 hover:bg-primary/30 flex items-center justify-center transition-colors`,children:(0,S.jsx)(m,{className:`size-3 text-muted-foreground/50`})}),(0,S.jsxs)(`div`,{className:`flex-1 overflow-hidden`,children:[$&&k.tableData&&(0,S.jsx)(a,{columns:k.tableData.columns,rows:k.tableData.rows,total:k.tableData.total,limit:k.tableData.limit,schema:k.schema,loading:k.loading,page:k.page,onPageChange:ie,onCellUpdate:k.updateCell,onRowDelete:k.deleteRow,orderBy:k.orderBy,orderDir:k.orderDir,onToggleSort:ne,onClearSort:re,onBulkDelete:k.bulkDelete,onInsertRow:k.insertRow,connectionId:n,selectedTable:k.selectedTable,selectedSchema:k.selectedSchema,connectionName:u,columnFilters:R,onColumnFilter:V}),Q&&(0,S.jsx)(E,{result:Z,error:k.queryError,loading:k.queryLoading,schema:k.schema,connectionName:u,onCellUpdate:X?ae:void 0}),oe&&(0,S.jsx)(`div`,{className:`flex items-center justify-center h-full text-muted-foreground`,children:(0,S.jsx)(o,{className:`size-4 animate-spin`})})]})]})})}var T=()=>{};function E({result:e,error:t,loading:n,schema:r,connectionName:i,onCellUpdate:s}){let c=(0,g.useMemo)(()=>e?.changeType===`select`&&e.rows.length>0?{columns:e.columns,rows:e.rows,total:e.rows.length,limit:e.rows.length}:null,[e]),l=(0,g.useMemo)(()=>{let t=e?.columns??[],n=new Set((r??[]).map(e=>e.name));return r?.length&&t.every(e=>n.has(e))?r:t.map(e=>({name:e,type:`text`,nullable:!0,pk:!1,defaultValue:null}))},[r,e?.columns]);return(0,S.jsxs)(`div`,{className:`flex flex-col h-full overflow-hidden text-xs`,children:[t&&(0,S.jsx)(`div`,{className:`px-3 py-2 text-destructive bg-destructive/5 shrink-0`,children:t}),e?.changeType===`modify`&&(0,S.jsxs)(`div`,{className:`px-3 py-2 text-success shrink-0`,children:[e.rowsAffected,` row(s) affected`,e.executionTimeMs!=null&&(0,S.jsxs)(`span`,{className:`text-muted-foreground ml-2`,children:[e.executionTimeMs,`ms`]})]}),c&&(0,S.jsxs)(`div`,{className:`flex-1 overflow-hidden`,children:[(0,S.jsx)(a,{columns:c.columns,rows:c.rows,total:c.total,limit:c.limit,schema:l,loading:!!n,page:1,onPageChange:T,onCellUpdate:s??T,readOnly:!s,orderBy:null,orderDir:`ASC`,onToggleSort:T,connectionName:i}),e?.executionTimeMs!=null&&(0,S.jsxs)(`div`,{className:`px-3 py-0.5 border-t border-border text-[10px] text-muted-foreground shrink-0`,children:[e.rows.length,` rows · `,e.executionTimeMs,`ms`]})]}),e?.changeType===`select`&&e.rows.length===0&&(0,S.jsxs)(`div`,{className:`px-3 py-2 text-muted-foreground shrink-0`,children:[`No results`,e.executionTimeMs!=null&&(0,S.jsxs)(`span`,{className:`ml-2 text-muted-foreground/60`,children:[e.executionTimeMs,`ms`]})]}),!e&&!t&&(0,S.jsx)(`div`,{className:`flex items-center justify-center h-full text-muted-foreground`,children:n?(0,S.jsx)(o,{className:`size-4 animate-spin`}):`Run a query to see results`})]})}export{w as DatabaseViewer};
@@ -1,4 +1,4 @@
1
- import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{S as t,x as n}from"./vendor-markdown-Ls5AcU91.js";import"./vendor-ui-CaeeFO0B.js";import{t as r}from"./loader-circle-DPMrnLQ2.js";import{t as i}from"./text-wrap-oiekm5SB.js";import{n as a,t as o}from"./use-inline-blame-C1G-_NjC.js";import{i as s,n as c}from"./api-client-CEYCBt_0.js";import"./vendor-mermaid-CXxglerV.js";import{t as l}from"./settings-store-Bsu_5zIU.js";import{It as u,Tr as d,an as ee,c as te}from"./index-A3ripVe5.js";import{t as f}from"./use-monaco-theme-Ck1i7NEe.js";var p=e(t(),1),m=n();function h(e){return{js:`javascript`,jsx:`javascript`,ts:`typescript`,tsx:`typescript`,py:`python`,html:`html`,css:`css`,scss:`scss`,json:`json`,md:`markdown`,mdx:`markdown`,yaml:`yaml`,yml:`yaml`,sh:`shell`,bash:`shell`}[e.split(`.`).pop()?.toLowerCase()??``]??`plaintext`}function g({metadata:e}){let t=e?.filePath,n=e?.projectName,g=e?.ref1,v=e?.ref2,y=e?.file1,b=e?.file2,x=e?.original,S=e?.modified,C=x!=null||S!=null,w=!!(y&&b),[T,E]=(0,p.useState)(null),[D,O]=(0,p.useState)(null),[k,A]=(0,p.useState)(null),[j,M]=(0,p.useState)(!C),[N,P]=(0,p.useState)(null),{wordWrap:F,toggleWordWrap:I}=l(u(e=>({wordWrap:e.wordWrap,toggleWordWrap:e.toggleWordWrap}))),L=f(),R=(0,p.useRef)(null),z=(0,p.useRef)(null),[B,V]=(0,p.useState)(!1),[H,U]=(0,p.useState)(null),[W,G]=(0,p.useState)(`modified`),[K,q]=(0,p.useState)();(0,p.useEffect)(()=>{let e=R.current;if(!e)return;let t=new ResizeObserver(([e])=>{e&&q(Math.floor(e.contentRect.height))});return t.observe(e),()=>t.disconnect()},[j,N]),(0,p.useEffect)(()=>ee(R.current,()=>z.current?.layout()),[j,N]),(0,p.useEffect)(()=>{if(C||!n)return;if(M(!0),P(null),A(null),O(null),E(null),y&&b){let e=new URLSearchParams({file1:y,file2:b});c.get(`${s(n)}/files/compare?${e}`).then(e=>{O(e),M(!1)}).catch(e=>{P(e instanceof Error?e.message:`Failed to compare files`),M(!1)});return}if(t){let e=new URLSearchParams({file:t});g&&e.set(`ref`,g),v&&e.set(`ref2`,v),c.get(`${s(n)}/git/file-full-diff?${e}`).then(e=>{A(e),M(!1)}).catch(e=>{P(e instanceof Error?e.message:`Failed to load diff`),M(!1)});return}let e;if(g||v){let t=new URLSearchParams;g&&t.set(`ref1`,g),v&&t.set(`ref2`,v),e=`${s(n)}/git/diff?${t}`}else e=`${s(n)}/git/diff`;c.get(e).then(e=>{E(e.diff),M(!1)}).catch(e=>{P(e instanceof Error?e.message:`Failed to load diff`),M(!1)})},[t,n,g,v,y,b,C]);let{original:J,modified:Y}=(0,p.useMemo)(()=>C?{original:x??``,modified:S??``}:w&&D?D:k||(T?_(T):{original:``,modified:``}),[T,C,x,S,w,D,k]),X=(0,p.useMemo)(()=>{let e=t??b??y;return e?h(e):`plaintext`},[t,y,b]),Z=l(e=>e.inlineBlame),ne=l(e=>e.toggleInlineBlame),Q=!!(n&&t&&k);o({editor:H?.original??null,monaco:H?.monaco??null,projectName:n,filePath:Q?t:void 0,rev:g||`HEAD`,enabled:Z&&Q&&W===`original`,readOnly:!0}),o({editor:H?.modified??null,monaco:H?.monaco??null,projectName:n,filePath:Q?t:void 0,rev:v,enabled:Z&&Q&&W===`modified`,readOnly:!0});let $=typeof window<`u`&&window.innerWidth<768,re=!$;return(0,p.useEffect)(()=>{let e=z.current;if(!e)return;let t=$||F?`on`:`off`;e.updateOptions({diffWordWrap:t}),e.getOriginalEditor().updateOptions({wordWrapOverride2:t}),e.getModifiedEditor().updateOptions({wordWrapOverride2:t})},[F,$,B]),!n&&!C?(0,m.jsx)(`div`,{className:`flex items-center justify-center h-full text-muted-foreground text-sm`,children:`No project selected.`}):j?(0,m.jsxs)(`div`,{className:`flex items-center justify-center h-full gap-2 text-muted-foreground`,children:[(0,m.jsx)(r,{className:`size-5 animate-spin`}),(0,m.jsx)(`span`,{className:`text-sm`,children:`Loading diff...`})]}):N?(0,m.jsx)(`div`,{className:`flex items-center justify-center h-full text-destructive text-sm`,children:N}):!C&&!w&&!k&&!J&&!Y?(0,m.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-2 text-muted-foreground`,children:[(0,m.jsx)(d,{className:`size-8`}),(0,m.jsx)(`p`,{className:`text-sm`,children:`No content changes`}),t&&(0,m.jsx)(`p`,{className:`text-xs font-mono`,children:t})]}):(0,m.jsxs)(`div`,{className:`flex flex-col h-full`,children:[(!$||Q)&&(0,m.jsxs)(`div`,{className:`flex items-center justify-end gap-0.5 px-2 py-0.5 border-b border-border shrink-0`,children:[Q&&(0,m.jsx)(`button`,{type:`button`,onClick:ne,title:`Inline blame (Alt+B) — who last touched the cursor's line. Click a pane to annotate that side.`,className:`flex items-center justify-center rounded hover:bg-muted active:scale-95 transition-colors ${$?`size-11`:`p-1`} ${Z?`bg-muted text-foreground`:``}`,children:(0,m.jsx)(a,{className:`size-3.5`})}),!$&&(0,m.jsx)(`button`,{type:`button`,onClick:I,title:`Toggle word wrap`,className:`p-1 rounded hover:bg-muted transition-colors ${F?`bg-muted text-foreground`:``}`,children:(0,m.jsx)(i,{className:`size-3.5`})})]}),(0,m.jsx)(`div`,{ref:R,className:`flex-1 overflow-hidden`,children:K&&K>0?(0,m.jsx)(te,{height:K,language:X,original:J,modified:Y,theme:L,onMount:(e,t)=>{z.current=e,V(!0);let n=e.getOriginalEditor(),r=e.getModifiedEditor();U({monaco:t,original:n,modified:r}),n.onDidFocusEditorText(()=>G(`original`)),r.onDidFocusEditorText(()=>G(`modified`)),e.addCommand(t.KeyMod.Alt|t.KeyCode.KeyB,()=>l.getState().toggleInlineBlame())},options:{fontSize:$?11:13,fontFamily:`Menlo, Monaco, Consolas, monospace`,diffWordWrap:$||F?`on`:`off`,renderSideBySide:re,useInlineViewWhenSpaceIsLimited:!1,readOnly:!0,automaticLayout:!0,scrollBeyondLastLine:!1},loading:(0,m.jsx)(r,{className:`size-5 animate-spin text-muted-foreground`})}):(0,m.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,m.jsx)(r,{className:`size-5 animate-spin text-muted-foreground`})})})]})}function _(e){let t=e.split(`
1
+ import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{C as t,S as n}from"./vendor-markdown-CuWCHIVb.js";import"./vendor-ui-BBdkypKW.js";import{t as r}from"./loader-circle-H81ywCuQ.js";import{t as i}from"./text-wrap-DLtVgSnU.js";import{n as a,t as o}from"./use-inline-blame-CRUwd6FF.js";import{i as s,n as c}from"./api-client-DKvkxuDr.js";import"./vendor-mermaid-BoRFiriK.js";import{t as l}from"./settings-store-BkNrLdjk.js";import{It as u,Tr as d,an as ee,c as te}from"./index-BV_sFdHY.js";import{t as f}from"./use-monaco-theme-qzMbRfCW.js";var p=e(t(),1),m=n();function h(e){return{js:`javascript`,jsx:`javascript`,ts:`typescript`,tsx:`typescript`,py:`python`,html:`html`,css:`css`,scss:`scss`,json:`json`,md:`markdown`,mdx:`markdown`,yaml:`yaml`,yml:`yaml`,sh:`shell`,bash:`shell`}[e.split(`.`).pop()?.toLowerCase()??``]??`plaintext`}function g({metadata:e}){let t=e?.filePath,n=e?.projectName,g=e?.ref1,v=e?.ref2,y=e?.file1,b=e?.file2,x=e?.original,S=e?.modified,C=x!=null||S!=null,w=!!(y&&b),[T,E]=(0,p.useState)(null),[D,O]=(0,p.useState)(null),[k,A]=(0,p.useState)(null),[j,M]=(0,p.useState)(!C),[N,P]=(0,p.useState)(null),{wordWrap:F,toggleWordWrap:I}=l(u(e=>({wordWrap:e.wordWrap,toggleWordWrap:e.toggleWordWrap}))),L=f(),R=(0,p.useRef)(null),z=(0,p.useRef)(null),[B,V]=(0,p.useState)(!1),[H,U]=(0,p.useState)(null),[W,G]=(0,p.useState)(`modified`),[K,q]=(0,p.useState)();(0,p.useEffect)(()=>{let e=R.current;if(!e)return;let t=new ResizeObserver(([e])=>{e&&q(Math.floor(e.contentRect.height))});return t.observe(e),()=>t.disconnect()},[j,N]),(0,p.useEffect)(()=>ee(R.current,()=>z.current?.layout()),[j,N]),(0,p.useEffect)(()=>{if(C||!n)return;if(M(!0),P(null),A(null),O(null),E(null),y&&b){let e=new URLSearchParams({file1:y,file2:b});c.get(`${s(n)}/files/compare?${e}`).then(e=>{O(e),M(!1)}).catch(e=>{P(e instanceof Error?e.message:`Failed to compare files`),M(!1)});return}if(t){let e=new URLSearchParams({file:t});g&&e.set(`ref`,g),v&&e.set(`ref2`,v),c.get(`${s(n)}/git/file-full-diff?${e}`).then(e=>{A(e),M(!1)}).catch(e=>{P(e instanceof Error?e.message:`Failed to load diff`),M(!1)});return}let e;if(g||v){let t=new URLSearchParams;g&&t.set(`ref1`,g),v&&t.set(`ref2`,v),e=`${s(n)}/git/diff?${t}`}else e=`${s(n)}/git/diff`;c.get(e).then(e=>{E(e.diff),M(!1)}).catch(e=>{P(e instanceof Error?e.message:`Failed to load diff`),M(!1)})},[t,n,g,v,y,b,C]);let{original:J,modified:Y}=(0,p.useMemo)(()=>C?{original:x??``,modified:S??``}:w&&D?D:k||(T?_(T):{original:``,modified:``}),[T,C,x,S,w,D,k]),X=(0,p.useMemo)(()=>{let e=t??b??y;return e?h(e):`plaintext`},[t,y,b]),Z=l(e=>e.inlineBlame),ne=l(e=>e.toggleInlineBlame),Q=!!(n&&t&&k);o({editor:H?.original??null,monaco:H?.monaco??null,projectName:n,filePath:Q?t:void 0,rev:g||`HEAD`,enabled:Z&&Q&&W===`original`,readOnly:!0}),o({editor:H?.modified??null,monaco:H?.monaco??null,projectName:n,filePath:Q?t:void 0,rev:v,enabled:Z&&Q&&W===`modified`,readOnly:!0});let $=typeof window<`u`&&window.innerWidth<768,re=!$;return(0,p.useEffect)(()=>{let e=z.current;if(!e)return;let t=$||F?`on`:`off`;e.updateOptions({diffWordWrap:t}),e.getOriginalEditor().updateOptions({wordWrapOverride2:t}),e.getModifiedEditor().updateOptions({wordWrapOverride2:t})},[F,$,B]),!n&&!C?(0,m.jsx)(`div`,{className:`flex items-center justify-center h-full text-muted-foreground text-sm`,children:`No project selected.`}):j?(0,m.jsxs)(`div`,{className:`flex items-center justify-center h-full gap-2 text-muted-foreground`,children:[(0,m.jsx)(r,{className:`size-5 animate-spin`}),(0,m.jsx)(`span`,{className:`text-sm`,children:`Loading diff...`})]}):N?(0,m.jsx)(`div`,{className:`flex items-center justify-center h-full text-destructive text-sm`,children:N}):!C&&!w&&!k&&!J&&!Y?(0,m.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-2 text-muted-foreground`,children:[(0,m.jsx)(d,{className:`size-8`}),(0,m.jsx)(`p`,{className:`text-sm`,children:`No content changes`}),t&&(0,m.jsx)(`p`,{className:`text-xs font-mono`,children:t})]}):(0,m.jsxs)(`div`,{className:`flex flex-col h-full`,children:[(!$||Q)&&(0,m.jsxs)(`div`,{className:`flex items-center justify-end gap-0.5 px-2 py-0.5 border-b border-border shrink-0`,children:[Q&&(0,m.jsx)(`button`,{type:`button`,onClick:ne,title:`Inline blame (Alt+B) — who last touched the cursor's line. Click a pane to annotate that side.`,className:`flex items-center justify-center rounded hover:bg-muted active:scale-95 transition-colors ${$?`size-11`:`p-1`} ${Z?`bg-muted text-foreground`:``}`,children:(0,m.jsx)(a,{className:`size-3.5`})}),!$&&(0,m.jsx)(`button`,{type:`button`,onClick:I,title:`Toggle word wrap`,className:`p-1 rounded hover:bg-muted transition-colors ${F?`bg-muted text-foreground`:``}`,children:(0,m.jsx)(i,{className:`size-3.5`})})]}),(0,m.jsx)(`div`,{ref:R,className:`flex-1 overflow-hidden`,children:K&&K>0?(0,m.jsx)(te,{height:K,language:X,original:J,modified:Y,theme:L,onMount:(e,t)=>{z.current=e,V(!0);let n=e.getOriginalEditor(),r=e.getModifiedEditor();U({monaco:t,original:n,modified:r}),n.onDidFocusEditorText(()=>G(`original`)),r.onDidFocusEditorText(()=>G(`modified`)),e.addCommand(t.KeyMod.Alt|t.KeyCode.KeyB,()=>l.getState().toggleInlineBlame())},options:{fontSize:$?11:13,fontFamily:`Menlo, Monaco, Consolas, monospace`,diffWordWrap:$||F?`on`:`off`,renderSideBySide:re,useInlineViewWhenSpaceIsLimited:!1,readOnly:!0,automaticLayout:!0,scrollBeyondLastLine:!1},loading:(0,m.jsx)(r,{className:`size-5 animate-spin text-muted-foreground`})}):(0,m.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,m.jsx)(r,{className:`size-5 animate-spin text-muted-foreground`})})})]})}function _(e){let t=e.split(`
2
2
  `),n=[],r=[],i=!1;for(let e of t)if(!(e.startsWith(`diff --git`)||e.startsWith(`diff --no-index`)||e.startsWith(`index `)||e.startsWith(`new file`)||e.startsWith(`deleted file`)||e.startsWith(`old mode`)||e.startsWith(`new mode`)||e.startsWith(`---`)||e.startsWith(`+++`)||e.startsWith(`Binary files`)||e.startsWith(`\\ No newline`))){if(e.startsWith(`@@`)){i=!0;continue}if(i)if(e.startsWith(`-`))n.push(e.slice(1));else if(e.startsWith(`+`))r.push(e.slice(1));else{let t=e.startsWith(` `)?e.slice(1):e;n.push(t),r.push(t)}}return{original:n.join(`
3
3
  `),modified:r.join(`
4
4
  `)}}export{g as DiffViewer};