@hienlh/ppm 0.21.0 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (606) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/CLAUDE.md +29 -4
  3. package/THIRD-PARTY-NOTICES.md +1 -1
  4. package/assets/skills/ppm/SKILL.md +1 -1
  5. package/assets/skills/ppm/references/http-api.md +1 -1
  6. package/bun.lock +16 -1
  7. package/dist/web/assets/accounts-settings-section-BVr9-FZJ.js +1 -0
  8. package/dist/web/assets/{ai-resource-editor-F09pf8Hd.js → ai-resource-editor-CdDpOwjh.js} +1 -1
  9. package/dist/web/assets/ai-settings-section-B1hQyjAd.js +1 -0
  10. package/dist/web/assets/ai-settings-section-X2UOfSaS.js +1 -0
  11. package/dist/web/assets/{angular-html-DkR4iCth.js → angular-html-G66FNlyn.js} +1 -1
  12. package/dist/web/assets/{angular-ts-DcyL4Chx.js → angular-ts-B-PnUMyt.js} +1 -1
  13. package/dist/web/assets/{api-client-bfB7cXRM.js → api-client-C1ZwRL4Y.js} +1 -1
  14. package/dist/web/assets/api-client-pQL53cDQ.js +1 -0
  15. package/dist/web/assets/{api-settings-BcNjZIvG.js → api-settings-_7Q-ULxp.js} +1 -1
  16. package/dist/web/assets/{api-themes-DBfyVUtX.js → api-themes-DRAERo4Q.js} +1 -1
  17. package/dist/web/assets/{apl-BVlrVtjt.js → apl-BmDqqwE8.js} +1 -1
  18. package/dist/web/assets/{appearance-settings-section-whgnq3ss.js → appearance-settings-section-DLoPK0LD.js} +1 -1
  19. package/dist/web/assets/architecture-PBZL5I3N-Dx6nBEKT.js +1 -0
  20. package/dist/web/assets/{astro-MjJlozLj.js → astro-BfwMNfxr.js} +1 -1
  21. package/dist/web/assets/{audio-preview-Bc54GCAV.js → audio-preview-DsYvgKqj.js} +1 -1
  22. package/dist/web/assets/{blade-DnJWi1fz.js → blade-BsFV4pnN.js} +1 -1
  23. package/dist/web/assets/branch-review-tab-G84Ojzae.js +1 -0
  24. package/dist/web/assets/{bsl-DCmJxSIz.js → bsl-Cw9Outng.js} +1 -1
  25. package/dist/web/assets/{button-VW4QGKCn.js → button-B9CTrsEf.js} +1 -1
  26. package/dist/web/assets/{cairo-C8dDenub.js → cairo-DOK5Wqnd.js} +1 -1
  27. package/dist/web/assets/chat-tab-DQJfjm8E.js +15 -0
  28. package/dist/web/assets/{cobol-DPx_nifl.js → cobol-DRaRy4FK.js} +1 -1
  29. package/dist/web/assets/code-editor-D04iUPsZ.js +7 -0
  30. package/dist/web/assets/{codex-daily-guard-CfybHv_c.js → codex-daily-guard-BSccLRGT.js} +1 -1
  31. package/dist/web/assets/{coffee-DvFzqhgN.js → coffee-DvXuBmEJ.js} +1 -1
  32. package/dist/web/assets/{conflict-editor-DenQUOT2.js → conflict-editor-C4ay676e.js} +2 -2
  33. package/dist/web/assets/context-menu-C6pIsf83.js +1 -0
  34. package/dist/web/assets/{cpp-BLJN0umi.js → cpp-zCmm8rKA.js} +1 -1
  35. package/dist/web/assets/{crystal-BXR-9fGw.js → crystal-CdQx6lB6.js} +1 -1
  36. package/dist/web/assets/{csv-preview-CClrJOuR.js → csv-preview-DbwEmG7o.js} +1 -1
  37. package/dist/web/assets/{data-grid-overlay-editor-D4fhcMfT.js → data-grid-overlay-editor-6xUCeLHh.js} +1 -1
  38. package/dist/web/assets/{database-viewer-DItjm8wB.js → database-viewer-S6LsALjX.js} +1 -1
  39. package/dist/web/assets/{dialog-DQTn55Mt.js → dialog-B84_DJQ8.js} +1 -1
  40. package/dist/web/assets/diff-viewer-3oBA7vgQ.js +4 -0
  41. package/dist/web/assets/{docx-preview-DYBkiUaE.js → docx-preview-CXuk-emm.js} +1 -1
  42. package/dist/web/assets/{edge-rWOlCmXT.js → edge-E8QLt7oi.js} +1 -1
  43. package/dist/web/assets/{edit-diff-preview-COtmo54G.js → edit-diff-preview-BGGGecVw.js} +1 -1
  44. package/dist/web/assets/{editor-language-service-DxkZ51E5.js → editor-language-service-DJmaKVY0.js} +1 -1
  45. package/dist/web/assets/{elixir-E7Y82okW.js → elixir-DPb_-72P.js} +1 -1
  46. package/dist/web/assets/{elm-DTPGbc-w.js → elm-BMzJY5b0.js} +1 -1
  47. package/dist/web/assets/{erb-DHqLHrE6.js → erb-AABQNtMK.js} +1 -1
  48. package/dist/web/assets/{erlang-Byg0nNiV.js → erlang-CEIKOkfP.js} +1 -1
  49. package/dist/web/assets/{esm-D_DmOM7n.js → esm-B9RVMpwV.js} +1 -1
  50. package/dist/web/assets/explorer-body-BQ0jyAGv.js +2 -0
  51. package/dist/web/assets/explorer-window-content-jdkWt34J.js +1 -0
  52. package/dist/web/assets/{extension-manager-section-BhwB6nqr.js → extension-manager-section-DG1guILi.js} +1 -1
  53. package/dist/web/assets/{extension-webview-DI4VL2tJ.js → extension-webview-BGSDUbdK.js} +1 -1
  54. package/dist/web/assets/file-icons-BXdvggK2.js +1 -0
  55. package/dist/web/assets/file-icons.generated-BtBErEwb.css +1 -0
  56. package/dist/web/assets/file-store-ojgMXgAw.js +1 -0
  57. package/dist/web/assets/files-settings-section-Gnyd7han.js +1 -0
  58. package/dist/web/assets/{format-file-meta-DOpzJJhS.js → format-file-meta-C77h04cZ.js} +1 -1
  59. package/dist/web/assets/{fortran-fixed-form-CY1n0Xf6.js → fortran-fixed-form-CrXvLHyi.js} +1 -1
  60. package/dist/web/assets/{fsharp-_vEDSCJz.js → fsharp-DCI4qAz_.js} +1 -1
  61. package/dist/web/assets/{gdresource-B6XT0wAC.js → gdresource-Vb2kO1MG.js} +1 -1
  62. package/dist/web/assets/{general-settings-section-BcxwiZ0X.js → general-settings-section-V6Khh15V.js} +1 -1
  63. package/dist/web/assets/{git-commit-Wk9ovq59.js → git-commit-BMI_OWn-.js} +1 -1
  64. package/dist/web/assets/git-log-panel-Bi513qjT.js +1 -0
  65. package/dist/web/assets/{git-rebase-DSarGPvK.js → git-rebase-D-d_2iqZ.js} +1 -1
  66. package/dist/web/assets/{git-repo-store-Dy69YCHN.js → git-repo-store-88Z8v-pF.js} +1 -1
  67. package/dist/web/assets/gitGraph-HDMCJU4V-C6qRruHI.js +1 -0
  68. package/dist/web/assets/{glide-data-grid-BvgAqSUr.js → glide-data-grid-DnQwYSmQ.js} +7 -7
  69. package/dist/web/assets/{glimmer-js-CkYI35_P.js → glimmer-js-BmNNiR0Z.js} +1 -1
  70. package/dist/web/assets/{glimmer-ts-BqmIZcds.js → glimmer-ts-DQE2Ufha.js} +1 -1
  71. package/dist/web/assets/{glsl-Be-yBCF5.js → glsl-BcIDsxRJ.js} +1 -1
  72. package/dist/web/assets/{graphql-a5DrENHY.js → graphql-DGKSLmGH.js} +1 -1
  73. package/dist/web/assets/group-chat-tab-DpczdwyV.js +1 -0
  74. package/dist/web/assets/{hack-BLAg20aD.js → hack-YiC8bEIb.js} +1 -1
  75. package/dist/web/assets/{haml-Dj6bGOQH.js → haml-DjblxAsz.js} +1 -1
  76. package/dist/web/assets/{handlebars-dmEa36Oh.js → handlebars-BQepOXaU.js} +1 -1
  77. package/dist/web/assets/{html-yacZYzSE.js → html-Cayj_2GP.js} +1 -1
  78. package/dist/web/assets/{html-derivative-lLi3-RNT.js → html-derivative-Weq79bL6.js} +1 -1
  79. package/dist/web/assets/{http-1KaxcE4e.js → http-BeLfdGdz.js} +1 -1
  80. package/dist/web/assets/{hurl-ST-dEEZR.js → hurl-D9rypCLK.js} +1 -1
  81. package/dist/web/assets/{hxml-CpDtuq__.js → hxml-clG8mmSH.js} +1 -1
  82. package/dist/web/assets/{image-preview-CJVxL0uH.js → image-preview-CzCc4_Do.js} +1 -1
  83. package/dist/web/assets/image-preview-geometry-9lgeLYB3.js +1 -0
  84. package/dist/web/assets/index-BH99TIE0.css +1 -0
  85. package/dist/web/assets/index-DU68xk06.js +52 -0
  86. package/dist/web/assets/info-3K5VOQVL-BOSpdwlz.js +1 -0
  87. package/dist/web/assets/{jinja-Cjw-evAn.js → jinja-BShBWfs5.js} +1 -1
  88. package/dist/web/assets/{jira-watcher-section-DIC1yIV3.js → jira-watcher-section-f2HUbGDY.js} +1 -1
  89. package/dist/web/assets/{jison-DfATMYoY.js → jison-dN2Nf_Dr.js} +1 -1
  90. package/dist/web/assets/{julia-DDCaxiqT.js → julia-5U0vR-uJ.js} +1 -1
  91. package/dist/web/assets/{just-CJL529u6.js → just-BMppVRy6.js} +1 -1
  92. package/dist/web/assets/keybindings-store-DCRsnKg5.js +1 -0
  93. package/dist/web/assets/{keyboard-shortcuts-section-BW03P3AF.js → keyboard-shortcuts-section-BpvVEw_Y.js} +1 -1
  94. package/dist/web/assets/{latex-Zc4EpLpW.js → latex-DSSOKjis.js} +1 -1
  95. package/dist/web/assets/{liquid-B_6KMNYS.js → liquid-C24dKoyI.js} +1 -1
  96. package/dist/web/assets/{lua-BtS2idK7.js → lua-DNOsnyhn.js} +1 -1
  97. package/dist/web/assets/markdown-renderer-Bcaf9_bA.js +1 -0
  98. package/dist/web/assets/markdown-renderer-DGJp8HC3.js +3 -0
  99. package/dist/web/assets/{marko-Wk6LBnck.js → marko-26MHO_Q9.js} +1 -1
  100. package/dist/web/assets/{mdc-cRaXBrzL.js → mdc-Dhw9mGrC.js} +1 -1
  101. package/dist/web/assets/{media-url-DL8OCGGg.js → media-url-yfqHpPz0.js} +1 -1
  102. package/dist/web/assets/{mobile-bottom-sheet-CoUauvLF.js → mobile-bottom-sheet-C3TniEP-.js} +1 -1
  103. package/dist/web/assets/mobile-explorer-sheet-Bol3XAO1.js +1 -0
  104. package/dist/web/assets/{nextflow-Bos2wvDV.js → nextflow-xH4oJTex.js} +1 -1
  105. package/dist/web/assets/{nginx-DMlOwzdr.js → nginx-CMz4w0M8.js} +1 -1
  106. package/dist/web/assets/{nim-D2dZQA88.js → nim-D8FnIYsx.js} +1 -1
  107. package/dist/web/assets/notification-store-BXt54VIn.js +1 -0
  108. package/dist/web/assets/{notifications-settings-section-DPUROMw-.js → notifications-settings-section-DqlPDfNX.js} +1 -1
  109. package/dist/web/assets/{number-overlay-editor-DZ2i_Bnb.js → number-overlay-editor-CRGwULhR.js} +1 -1
  110. package/dist/web/assets/{overview-panel-R146OIom.js → overview-panel-Di-3aV9p.js} +1 -1
  111. package/dist/web/assets/packet-RMMSAZCW-BGIE1QdU.js +1 -0
  112. package/dist/web/assets/panel-store-CboGJAwh.js +1 -0
  113. package/dist/web/assets/{pdf-preview-BWUPGLp6.js → pdf-preview-CmBI6E7d.js} +1 -1
  114. package/dist/web/assets/{perl-C5-Z6fPn.js → perl-D9iNWYwb.js} +1 -1
  115. package/dist/web/assets/{php-BXNNhkMH.js → php-Bw3Qo0Zv.js} +1 -1
  116. package/dist/web/assets/pie-UPGHQEXC-Dg-QTbXX.js +1 -0
  117. package/dist/web/assets/{postgres-viewer-CjOvaruz.js → postgres-viewer-8ZAqEALv.js} +3 -3
  118. package/dist/web/assets/{ppmbot-settings-section-DrvWh8l8.js → ppmbot-settings-section-DKJUA3Kq.js} +1 -1
  119. package/dist/web/assets/problems-panel-CFcoUx8h.js +1 -0
  120. package/dist/web/assets/{process-table-BRMS1MrX.js → process-table-EKr2dqG6.js} +1 -1
  121. package/dist/web/assets/project-framework-store-B70Q3dNM.js +1 -0
  122. package/dist/web/assets/project-store-B87hLRSk.js +1 -0
  123. package/dist/web/assets/{proxy-settings-section-Bv0Ny-Yy.js → proxy-settings-section-B7qRVl8w.js} +1 -1
  124. package/dist/web/assets/{pug-C1zf1yWy.js → pug-fT5JC6Vm.js} +1 -1
  125. package/dist/web/assets/{qml-OW58jGpD.js → qml-P_wEDB1w.js} +1 -1
  126. package/dist/web/assets/{query-audit-section-BcHJZcVC.js → query-audit-section-By6qyqdB.js} +1 -1
  127. package/dist/web/assets/radar-KQ55EAFF-DZ6IVu2s.js +1 -0
  128. package/dist/web/assets/{razor-DzjSaobM.js → razor-Drrt2_Ph.js} +1 -1
  129. package/dist/web/assets/remote-desktop-clipboard-notice-0WDYsyCA.js +1 -0
  130. package/dist/web/assets/remote-desktop-mobile-sheet-COYDg16H.js +2 -0
  131. package/dist/web/assets/remote-desktop-mobile-view-2DqSuS2U.js +1 -0
  132. package/dist/web/assets/{remote-desktop-readiness-gate-BTzss2wX.js → remote-desktop-readiness-gate-Dm_qMJMH.js} +1 -1
  133. package/dist/web/assets/remote-desktop-window-content-UodhsF7W.js +1 -0
  134. package/dist/web/assets/{rst-RfuihOUW.js → rst-Dr2mW4-h.js} +1 -1
  135. package/dist/web/assets/{ruby-CNO3pli1.js → ruby-C6EpUsTY.js} +1 -1
  136. package/dist/web/assets/{run-in-terminal-Cb_hVU8x.js → run-in-terminal-CdefEe_R.js} +1 -1
  137. package/dist/web/assets/{sas-DZY5BtXx.js → sas-D8ZEeP6v.js} +1 -1
  138. package/dist/web/assets/{schedules-settings-section-DO8xAOVj.js → schedules-settings-section-bG2lYfGv.js} +1 -1
  139. package/dist/web/assets/{scroll-area-LtNV8g5o.js → scroll-area-BzeiOd-B.js} +1 -1
  140. package/dist/web/assets/{scss--4g-REcN.js → scss-ITL7jQ1f.js} +1 -1
  141. package/dist/web/assets/{send-to-chat-Cnpru1M0.js → send-to-chat-F207yH3u.js} +1 -1
  142. package/dist/web/assets/{separator-Cds1yxy8.js → separator-TRMsJUYe.js} +1 -1
  143. package/dist/web/assets/settings-body-C06bFarv.js +2 -0
  144. package/dist/web/assets/settings-store-krC6bc79.js +2 -0
  145. package/dist/web/assets/settings-tab-34RSaASd.js +1 -0
  146. package/dist/web/assets/settings-window-content-Dr_2lmHH.js +1 -0
  147. package/dist/web/assets/{shaderlab-Cu4sBiVn.js → shaderlab-mW-IIlhk.js} +1 -1
  148. package/dist/web/assets/{shellsession-DWzJfEv7.js → shellsession-DhNl5STt.js} +1 -1
  149. package/dist/web/assets/{soy-BnqE-5Ff.js → soy-SdY0Qjtr.js} +1 -1
  150. package/dist/web/assets/{sparql-Ctg__NhZ.js → sparql-ftqZo2i-.js} +1 -1
  151. package/dist/web/assets/{sql-query-editor-D9k19T_M.js → sql-query-editor-BgRH0cHD.js} +1 -1
  152. package/dist/web/assets/{sqlite-viewer-DoV9hnWJ.js → sqlite-viewer-DUxGslpa.js} +1 -1
  153. package/dist/web/assets/{stata-Qk2h66XW.js → stata-Bj7Yjb4b.js} +1 -1
  154. package/dist/web/assets/{surrealql-8QEX7EfH.js → surrealql-CLhYGAfB.js} +1 -1
  155. package/dist/web/assets/{svelte-D_mubC5-.js → svelte-DTAlRHhK.js} +1 -1
  156. package/dist/web/assets/system-monitor-body-IZuLn7Qh.js +2 -0
  157. package/dist/web/assets/system-monitor-tab-DiSA490Z.js +1 -0
  158. package/dist/web/assets/{system-monitor-window-content-qXLcicFM.js → system-monitor-window-content-CEaFISgj.js} +1 -1
  159. package/dist/web/assets/{tab-host-window-content-7fPZNEni.js → tab-host-window-content-D0TN8Wrq.js} +1 -1
  160. package/dist/web/assets/{tab-store-DGJGnbwv.js → tab-store-OJa1GPCq.js} +1 -1
  161. package/dist/web/assets/team-member-sheet-DDPNcCjd.js +2 -0
  162. package/dist/web/assets/{team-member-window-content-BgvJFypM.js → team-member-window-content-DCiW_1-E.js} +1 -1
  163. package/dist/web/assets/{templ-C1jV0fsO.js → templ-BMfhACxb.js} +1 -1
  164. package/dist/web/assets/{terminal-tab-Cs0sGljx.js → terminal-tab-4ypP0NDY.js} +3 -3
  165. package/dist/web/assets/{tex-D_StFXy_.js → tex-BcssM-QA.js} +1 -1
  166. package/dist/web/assets/tool-cards-Dd6E7Q3k.js +9 -0
  167. package/dist/web/assets/treemap-KZPCXAKY-CE30wCXa.js +1 -0
  168. package/dist/web/assets/{ts-tags-B5m47rEm.js → ts-tags-CrR5IYI8.js} +1 -1
  169. package/dist/web/assets/{twig-C_br6GIl.js → twig-DchfUmyI.js} +1 -1
  170. package/dist/web/assets/{use-blob-url-C-SGi_Hb.js → use-blob-url-CPtCcY3i.js} +1 -1
  171. package/dist/web/assets/{use-inline-blame-B4trxGcR.js → use-inline-blame-vrfFHuaR.js} +1 -1
  172. package/dist/web/assets/{use-lsp-CV0vzILO.js → use-lsp-CsuZu49X.js} +1 -1
  173. package/dist/web/assets/{use-monaco-theme-DBqbWjWX.js → use-monaco-theme-BIVYJBIn.js} +1 -1
  174. package/dist/web/assets/{use-open-team-member-DENsjp0s.js → use-open-team-member-C3mrUzIC.js} +1 -1
  175. package/dist/web/assets/{use-websocket-LgXiX1qN.js → use-websocket-BMbufhX7.js} +1 -1
  176. package/dist/web/assets/{vendor-mermaid-Cbig5zA6.js → vendor-mermaid-BitiXJlL.js} +1 -1
  177. package/dist/web/assets/{vendor-ui-BBdkypKW.js → vendor-ui-DmZ-Mb-H.js} +1 -1
  178. package/dist/web/assets/video-preview-Byj8P_jA.js +1 -0
  179. package/dist/web/assets/{vue-DQwCnLdr.js → vue-1EL6Pw1h.js} +1 -1
  180. package/dist/web/assets/{vue-html-T_EoGpPJ.js → vue-html-BPQNwPC6.js} +1 -1
  181. package/dist/web/assets/{vue-vine-DmxLqX50.js → vue-vine-Bb_dsWLt.js} +1 -1
  182. package/dist/web/assets/{window-pip-registry-3l4hoxuD.js → window-pip-registry-yD6esSju.js} +1 -1
  183. package/dist/web/assets/ws-auth-CEYVQ8NH.js +1 -0
  184. package/dist/web/assets/{xml-Bs6Bw8is.js → xml-dxkLNA0K.js} +1 -1
  185. package/dist/web/assets/{xsl-f5ZNhRCc.js → xsl-Bw2adwrl.js} +1 -1
  186. package/dist/web/index.html +27 -26
  187. package/dist/web/sw.js +1 -1
  188. package/docs/architecture/plugins-and-tracing.md +285 -0
  189. package/docs/lessons-learned.md +31 -0
  190. package/docs/system-architecture.md +1 -0
  191. package/package.json +2 -1
  192. package/packages/ext-git-graph/src/compare-diff-base.test.ts +173 -0
  193. package/packages/ext-git-graph/src/compare-view.ts +22 -3
  194. package/packages/ext-git-graph/src/extension.ts +6 -0
  195. package/packages/ext-git-graph/src/types.ts +19 -0
  196. package/packages/ext-git-graph/src/webview-html.test.ts +134 -1
  197. package/packages/ext-git-graph/src/webview-html.ts +277 -27
  198. package/scripts/gen-file-icons.ts +493 -242
  199. package/src/providers/claude-agent-sdk.ts +42 -1
  200. package/src/providers/codex-app-server/codex-history.ts +77 -23
  201. package/src/server/index.ts +42 -7
  202. package/src/server/routes/chat.ts +15 -11
  203. package/src/server/routes/git.ts +83 -3
  204. package/src/server/routes/remote-desktop.ts +7 -2
  205. package/src/server/ws/global.ts +1 -1
  206. package/src/server/ws/remote-desktop.ts +12 -5
  207. package/src/services/binary-content.ts +25 -0
  208. package/src/services/chat-search.service.ts +1 -1
  209. package/src/services/chat.service.ts +9 -0
  210. package/src/services/event-loop-lag.ts +208 -0
  211. package/src/services/file-lines.ts +114 -0
  212. package/src/services/file-watcher/recreated-dir-poller.ts +108 -6
  213. package/src/services/file-watcher/watch-tree.ts +131 -10
  214. package/src/services/file-watcher.service.ts +73 -23
  215. package/src/services/git-branch-diff/branch-diff-parse.ts +151 -0
  216. package/src/services/git-branch-diff/branch-diff.service.ts +79 -0
  217. package/src/services/git-hunks/git-hunks.service.ts +26 -11
  218. package/src/services/git-hunks/unified-diff.ts +15 -1
  219. package/src/services/git.service.ts +74 -24
  220. package/src/services/jsonl-transcript-parser.ts +138 -6
  221. package/src/services/log-rotate.ts +142 -0
  222. package/src/services/media-transcode/ffmpeg-capabilities.ts +72 -2
  223. package/src/services/remote-desktop/remote-desktop-audio.ts +193 -0
  224. package/src/services/remote-desktop/remote-desktop-capture-input.ts +87 -14
  225. package/src/services/remote-desktop/remote-desktop-capture.ts +40 -7
  226. package/src/services/remote-desktop/remote-desktop-clipboard.ts +166 -0
  227. package/src/services/remote-desktop/remote-desktop-displays.ts +77 -1
  228. package/src/services/remote-desktop/remote-desktop-encoder-args.ts +25 -6
  229. package/src/services/remote-desktop/remote-desktop-evdev-key-map.ts +69 -0
  230. package/src/services/remote-desktop/remote-desktop-input-linux.ts +253 -0
  231. package/src/services/remote-desktop/remote-desktop-input-uinput.ts +242 -0
  232. package/src/services/remote-desktop/remote-desktop-input.ts +40 -8
  233. package/src/services/remote-desktop/remote-desktop-linux-session.ts +146 -0
  234. package/src/services/remote-desktop/remote-desktop-ogg-opus.ts +144 -0
  235. package/src/services/remote-desktop/remote-desktop-privacy.ts +163 -0
  236. package/src/services/remote-desktop/remote-desktop-quality.ts +138 -0
  237. package/src/services/remote-desktop/remote-desktop-requirements.ts +158 -5
  238. package/src/services/remote-desktop/remote-desktop-resolution.ts +302 -0
  239. package/src/services/remote-desktop/remote-desktop-session.ts +523 -21
  240. package/src/services/remote-desktop/remote-desktop-x11.ts +250 -0
  241. package/src/services/supervisor.ts +47 -4
  242. package/src/shared/remote-desktop-custom-quality.ts +117 -0
  243. package/src/shared/remote-desktop-quality.ts +127 -0
  244. package/src/types/chat.ts +4 -0
  245. package/src/types/git.ts +52 -0
  246. package/src/web/components/branch-review/branch-review-tab.tsx +360 -0
  247. package/src/web/components/branch-review/branch-review-tree-row.tsx +138 -0
  248. package/src/web/components/chat/attachment-chips.tsx +30 -6
  249. package/src/web/components/chat/chat-tab.tsx +12 -1
  250. package/src/web/components/chat/message-events.tsx +273 -0
  251. package/src/web/components/chat/message-list.tsx +107 -861
  252. package/src/web/components/chat/message-markdown.tsx +34 -0
  253. package/src/web/components/chat/message-media.tsx +174 -0
  254. package/src/web/components/chat/message-user-bubble.tsx +399 -0
  255. package/src/web/components/chat/provider-selector.tsx +30 -22
  256. package/src/web/components/chat/session-history-list.tsx +2 -2
  257. package/src/web/components/chat/session-list-panel.tsx +3 -2
  258. package/src/web/components/editor/binary-diff-view.tsx +212 -0
  259. package/src/web/components/editor/diff-viewer.tsx +76 -3
  260. package/src/web/components/explorer/file-tree.tsx +235 -134
  261. package/src/web/components/explorer/flatten-visible-tree.ts +35 -40
  262. package/src/web/components/explorer/tree-node.tsx +69 -69
  263. package/src/web/components/explorer/use-tree-row-dnd.ts +3 -4
  264. package/src/web/components/git/git-status-panel.tsx +25 -0
  265. package/src/web/components/layout/draggable-tab.tsx +4 -2
  266. package/src/web/components/layout/nav-section-rail.tsx +12 -3
  267. package/src/web/components/layout/status-bar.tsx +10 -6
  268. package/src/web/components/layout/tab-content.tsx +5 -0
  269. package/src/web/components/layout/tab-pool.tsx +1 -0
  270. package/src/web/components/layout/upgrade-button.tsx +5 -1
  271. package/src/web/components/remote-desktop/remote-desktop-clipboard-client.ts +67 -0
  272. package/src/web/components/remote-desktop/remote-desktop-clipboard-notice.tsx +127 -0
  273. package/src/web/components/remote-desktop/remote-desktop-codec-labels.ts +28 -0
  274. package/src/web/components/remote-desktop/remote-desktop-custom-quality-dialog.tsx +144 -0
  275. package/src/web/components/remote-desktop/remote-desktop-mobile-key-bar.tsx +13 -2
  276. package/src/web/components/remote-desktop/remote-desktop-mobile-settings.tsx +232 -0
  277. package/src/web/components/remote-desktop/remote-desktop-mobile-toolbar.tsx +21 -8
  278. package/src/web/components/remote-desktop/remote-desktop-mobile-view.tsx +82 -3
  279. package/src/web/components/remote-desktop/remote-desktop-recording.ts +76 -0
  280. package/src/web/components/remote-desktop/remote-desktop-resolution-list.ts +100 -0
  281. package/src/web/components/remote-desktop/remote-desktop-toolbar.tsx +497 -0
  282. package/src/web/components/remote-desktop/remote-desktop-view-style.ts +145 -0
  283. package/src/web/components/remote-desktop/remote-desktop-window-content.tsx +126 -35
  284. package/src/web/components/remote-desktop/use-h264-canvas-decoder.ts +11 -0
  285. package/src/web/components/remote-desktop/use-opus-audio-player.ts +148 -0
  286. package/src/web/components/remote-desktop/use-remote-desktop-connection.ts +284 -1
  287. package/src/web/components/remote-desktop/use-remote-desktop-readiness.ts +75 -1
  288. package/src/web/components/remote-desktop/use-remote-desktop-recorder.ts +103 -0
  289. package/src/web/components/remote-desktop/use-remote-desktop-virtual-keyboard.ts +19 -2
  290. package/src/web/components/remote-desktop/use-remote-input-capture.ts +39 -3
  291. package/src/web/components/settings/theme-picker.tsx +2 -1
  292. package/src/web/components/ui/tooltip.tsx +15 -2
  293. package/src/web/hooks/use-delayed-flag.ts +35 -0
  294. package/src/web/lib/branch-review-state.ts +175 -0
  295. package/src/web/lib/file-icon-name.ts +62 -0
  296. package/src/web/lib/file-icons.generated.ts +3287 -25
  297. package/src/web/lib/file-icons.tsx +71 -73
  298. package/src/web/lib/flatten-expansions.ts +18 -5
  299. package/src/web/lib/message-ordinals.ts +23 -0
  300. package/src/web/lib/provider-logos.tsx +143 -0
  301. package/src/web/lib/tab-type-icons.ts +11 -0
  302. package/src/web/stores/file-store.ts +73 -35
  303. package/src/web/stores/panel-utils.ts +5 -0
  304. package/src/web/stores/project-framework-store.ts +82 -0
  305. package/src/web/stores/project-store.ts +7 -1
  306. package/src/web/stores/settings-store.ts +128 -0
  307. package/src/web/stores/tab-store.ts +1 -0
  308. package/src/web/stores/window-panel-persistence.ts +1 -0
  309. package/src/web/styles/file-icons.generated.css +3282 -234
  310. package/src/web/styles/globals.css +26 -0
  311. package/dist/web/assets/accounts-settings-section-BuxD9zH3.js +0 -1
  312. package/dist/web/assets/ai-settings-section-Dd9tOUp0.js +0 -1
  313. package/dist/web/assets/ai-settings-section-FrU2X8Fu.js +0 -1
  314. package/dist/web/assets/api-client-BUCo1lms.js +0 -1
  315. package/dist/web/assets/architecture-PBZL5I3N-5K0wEkAn.js +0 -1
  316. package/dist/web/assets/chat-tab-Cr6_KSGO.js +0 -15
  317. package/dist/web/assets/code-editor-DfmlGamv.js +0 -7
  318. package/dist/web/assets/context-menu-DOODKZdF.js +0 -1
  319. package/dist/web/assets/diff-viewer-BpNj7pN9.js +0 -4
  320. package/dist/web/assets/explorer-body-D-5z464e.js +0 -2
  321. package/dist/web/assets/explorer-window-content-7-1wuRul.js +0 -1
  322. package/dist/web/assets/file-icons-EzPL0q-k.js +0 -1
  323. package/dist/web/assets/file-icons.generated-CfaJuvZu.css +0 -1
  324. package/dist/web/assets/file-store-DMABxOkV.js +0 -1
  325. package/dist/web/assets/files-settings-section-CZzABuKz.js +0 -1
  326. package/dist/web/assets/git-log-panel-CRN4JVOx.js +0 -1
  327. package/dist/web/assets/gitGraph-HDMCJU4V-DkVT2MAM.js +0 -1
  328. package/dist/web/assets/group-chat-tab-DFa5mAx5.js +0 -1
  329. package/dist/web/assets/index-D7DbXD3G.css +0 -1
  330. package/dist/web/assets/index-ZtfxZOyb.js +0 -52
  331. package/dist/web/assets/info-3K5VOQVL-BBsmKGzA.js +0 -1
  332. package/dist/web/assets/keybindings-store-tVfhPANS.js +0 -1
  333. package/dist/web/assets/markdown-renderer-CvL1pWeK.js +0 -3
  334. package/dist/web/assets/markdown-renderer-sJNNVhlS.js +0 -1
  335. package/dist/web/assets/mobile-explorer-sheet-CZ0HZ2E_.js +0 -1
  336. package/dist/web/assets/notification-store-BZbsPnW0.js +0 -1
  337. package/dist/web/assets/packet-RMMSAZCW-DwmYPOlx.js +0 -1
  338. package/dist/web/assets/panel-store-BVLBRn6M.js +0 -1
  339. package/dist/web/assets/pie-UPGHQEXC-D0oogIFi.js +0 -1
  340. package/dist/web/assets/problems-panel-B7BWVhdy.js +0 -1
  341. package/dist/web/assets/project-store-BhMbVln3.js +0 -1
  342. package/dist/web/assets/radar-KQ55EAFF-CQIJOQGa.js +0 -1
  343. package/dist/web/assets/remote-desktop-mobile-sheet-ByjaeZKX.js +0 -2
  344. package/dist/web/assets/remote-desktop-mobile-view-D13mtr9F.js +0 -1
  345. package/dist/web/assets/remote-desktop-window-content-CbqTCaC6.js +0 -1
  346. package/dist/web/assets/settings-body-Rnu-FcX-.js +0 -2
  347. package/dist/web/assets/settings-store-DZPgPtEA.js +0 -2
  348. package/dist/web/assets/settings-tab-C6PHxs0Z.js +0 -1
  349. package/dist/web/assets/settings-window-content-CQ4gT2qj.js +0 -1
  350. package/dist/web/assets/system-monitor-body-2vQ1kMxE.js +0 -2
  351. package/dist/web/assets/system-monitor-tab-krAcvwF7.js +0 -1
  352. package/dist/web/assets/team-member-sheet-2FnRmk1a.js +0 -2
  353. package/dist/web/assets/tool-cards-DU_S2o51.js +0 -9
  354. package/dist/web/assets/treemap-KZPCXAKY-BhEtjljr.js +0 -1
  355. package/dist/web/assets/use-remote-desktop-display-choice-BK_f787P.js +0 -1
  356. package/dist/web/assets/video-preview-BDNwumbW.js +0 -1
  357. package/dist/web/assets/ws-auth-DEAJiGCR.js +0 -1
  358. /package/dist/web/assets/{abap-tkptwpsK.js → abap-IN2yINdN.js} +0 -0
  359. /package/dist/web/assets/{actionscript-3-Di9TMGwg.js → actionscript-3-C_t772eR.js} +0 -0
  360. /package/dist/web/assets/{ada-CB9F079D.js → ada-DPme3emm.js} +0 -0
  361. /package/dist/web/assets/{andromeeda-Dcl8jpb7.js → andromeeda-DSV4i4mZ.js} +0 -0
  362. /package/dist/web/assets/{apache-D0Nk0qsH.js → apache-CWr8s8I8.js} +0 -0
  363. /package/dist/web/assets/{apex-mQIoWncD.js → apex-Z20JnDF5.js} +0 -0
  364. /package/dist/web/assets/{applescript-C6ljbcsI.js → applescript-BKNPu3ga.js} +0 -0
  365. /package/dist/web/assets/{apply-theme-BwIMNXyX.js → apply-theme-CbR31K6I.js} +0 -0
  366. /package/dist/web/assets/{ara-WFqRPGPe.js → ara-hWdY3O96.js} +0 -0
  367. /package/dist/web/assets/{asciidoc-bNd8w4nf.js → asciidoc-eynhq496.js} +0 -0
  368. /package/dist/web/assets/{asm-BQ1_F580.js → asm-Bu02Kq4P.js} +0 -0
  369. /package/dist/web/assets/{aurora-x-Ciqs_Dbu.js → aurora-x-BHBGXbIZ.js} +0 -0
  370. /package/dist/web/assets/{awk-GCR-6KZV.js → awk-B4ojezyv.js} +0 -0
  371. /package/dist/web/assets/{ayu-dark-DxJXuj99.js → ayu-dark-D0GQzFi9.js} +0 -0
  372. /package/dist/web/assets/{ayu-light-jvSyJWDV.js → ayu-light-BVYb5Yn8.js} +0 -0
  373. /package/dist/web/assets/{ayu-mirage-Cg3BPO6H.js → ayu-mirage-BGFW6oNb.js} +0 -0
  374. /package/dist/web/assets/{ballerina-BPz4CrX6.js → ballerina-B6Og3IKT.js} +0 -0
  375. /package/dist/web/assets/{bat-CSTs2hIG.js → bat-D8YFILfx.js} +0 -0
  376. /package/dist/web/assets/{beancount-DMateAZX.js → beancount-BjlbBBuX.js} +0 -0
  377. /package/dist/web/assets/{berry-9lXg0GRM.js → berry-Cz1ygeoj.js} +0 -0
  378. /package/dist/web/assets/{bibtex-DIbqmvFg.js → bibtex-CVkJceJh.js} +0 -0
  379. /package/dist/web/assets/{bicep-02WGsoJ8.js → bicep-DrhYI5GX.js} +0 -0
  380. /package/dist/web/assets/{bird2-BY0tbu3k.js → bird2-BV-KJtmc.js} +0 -0
  381. /package/dist/web/assets/{c-jMBX_9Je.js → c-CuLlvxbG.js} +0 -0
  382. /package/dist/web/assets/{c3-B8JVbNjW.js → c3-CI7-1CJ0.js} +0 -0
  383. /package/dist/web/assets/{cadence-DUIf1tvL.js → cadence-DjxhNP3Q.js} +0 -0
  384. /package/dist/web/assets/{can-open-in-ppm-DGEc0s4P.js → can-open-in-ppm-cv5--yHX.js} +0 -0
  385. /package/dist/web/assets/{catppuccin-frappe-FhUCVxex.js → catppuccin-frappe-CEozpJRh.js} +0 -0
  386. /package/dist/web/assets/{catppuccin-latte-CzfrtmgL.js → catppuccin-latte-C4sXQFMc.js} +0 -0
  387. /package/dist/web/assets/{catppuccin-macchiato-6xL0lOtj.js → catppuccin-macchiato-Ci-fDhXy.js} +0 -0
  388. /package/dist/web/assets/{catppuccin-mocha-D39-xS3P.js → catppuccin-mocha-CH7YXw8d.js} +0 -0
  389. /package/dist/web/assets/{clarity-D8TeGvoT.js → clarity-BWrJ7UmT.js} +0 -0
  390. /package/dist/web/assets/{clojure-Dx_acSX7.js → clojure-C94fh2hb.js} +0 -0
  391. /package/dist/web/assets/{cmake-CyeYPq8o.js → cmake-CtvCkMsG.js} +0 -0
  392. /package/dist/web/assets/{codeowners-DrTI0lmI.js → codeowners-CJnubqzH.js} +0 -0
  393. /package/dist/web/assets/{codeql-CPkFxVW-.js → codeql-BOoP5HY2.js} +0 -0
  394. /package/dist/web/assets/{common-lisp-B0k-3LTj.js → common-lisp-B9nlMFJd.js} +0 -0
  395. /package/dist/web/assets/{coq-uygpo7to.js → coq-CgzIQiSH.js} +0 -0
  396. /package/dist/web/assets/{csharp-DKUYGfSp.js → csharp-4xAIx3jw.js} +0 -0
  397. /package/dist/web/assets/{css-DoOUp7v4.js → css-D4YoLYGn.js} +0 -0
  398. /package/dist/web/assets/{csv-B3YE13gi.js → csv-C2v-ZakW.js} +0 -0
  399. /package/dist/web/assets/{csv-parser-DXePqmXe.js → csv-parser-_oDBUkwQ.js} +0 -0
  400. /package/dist/web/assets/{cue-DViO2wvn.js → cue-Bbznh_an.js} +0 -0
  401. /package/dist/web/assets/{cypher-4BMCIW5N.js → cypher-BKhVEARF.js} +0 -0
  402. /package/dist/web/assets/{d-BT_sTHas.js → d-D6IhWopl.js} +0 -0
  403. /package/dist/web/assets/{dark-plus-DVVXu-1N.js → dark-plus-xAWu790O.js} +0 -0
  404. /package/dist/web/assets/{dart-DHz6f6_6.js → dart-Bj6S9O1j.js} +0 -0
  405. /package/dist/web/assets/{data-grid-types-OgUxMLdQ.js → data-grid-types-C5bthITf.js} +0 -0
  406. /package/dist/web/assets/{dax-ChYCjweK.js → dax-CF2zvaqq.js} +0 -0
  407. /package/dist/web/assets/{desktop-D6Lt4p04.js → desktop-CnmyxMKE.js} +0 -0
  408. /package/dist/web/assets/{diff-D8TDe4hP.js → diff-Qi8WuJsI.js} +0 -0
  409. /package/dist/web/assets/{dist-DOTlFQJA.js → dist-Bjseolz4.js} +0 -0
  410. /package/dist/web/assets/{dist-CrBOCtCW.js → dist-Czq7BUMy.js} +0 -0
  411. /package/dist/web/assets/{docker-Bsp0YbPx.js → docker-vLbbNP5d.js} +0 -0
  412. /package/dist/web/assets/{dotenv-B_7giSY_.js → dotenv-DJMvvNzn.js} +0 -0
  413. /package/dist/web/assets/{dracula-TrQL2iB5.js → dracula-CtAh2rhB.js} +0 -0
  414. /package/dist/web/assets/{dracula-soft-n2XOlgh-.js → dracula-soft-CXtuAAf6.js} +0 -0
  415. /package/dist/web/assets/{dream-maker-CdIEdhpT.js → dream-maker-D5YQyK49.js} +0 -0
  416. /package/dist/web/assets/{editor-font-BDrdiGf1.js → editor-font-ClTC9gaD.js} +0 -0
  417. /package/dist/web/assets/{emacs-lisp-CSbixs6u.js → emacs-lisp-CGTjbiqF.js} +0 -0
  418. /package/dist/web/assets/{everforest-dark-BuZahZYp.js → everforest-dark-D59p7vAQ.js} +0 -0
  419. /package/dist/web/assets/{everforest-light-DPH53z5H.js → everforest-light-B3Qtud3V.js} +0 -0
  420. /package/dist/web/assets/{fennel-B1-K_hlJ.js → fennel-BCyHNUwf.js} +0 -0
  421. /package/dist/web/assets/{fish-Cy12Dbua.js → fish-DDDlLV2G.js} +0 -0
  422. /package/dist/web/assets/{fluent-B_82ys8E.js → fluent-By54R9tl.js} +0 -0
  423. /package/dist/web/assets/{format-bytes-D5sBgIqU.js → format-bytes-D1AQyUCt.js} +0 -0
  424. /package/dist/web/assets/{fortran-free-form-BRQdNzZF.js → fortran-free-form-tP8mRym_.js} +0 -0
  425. /package/dist/web/assets/{gdscript-XBDmLUm9.js → gdscript-nHC2z6Te.js} +0 -0
  426. /package/dist/web/assets/{gdshader-DhVfB3u4.js → gdshader-K-cSmPlW.js} +0 -0
  427. /package/dist/web/assets/{genie-X3K29Y49.js → genie-BAcRhvEe.js} +0 -0
  428. /package/dist/web/assets/{gherkin-DKIx-6cX.js → gherkin-CcifxMLb.js} +0 -0
  429. /package/dist/web/assets/{github-dark-Bf7zdp5s.js → github-dark-67KKlMdB.js} +0 -0
  430. /package/dist/web/assets/{github-dark-default-DqsBBV11.js → github-dark-default-tja8pidR.js} +0 -0
  431. /package/dist/web/assets/{github-dark-dimmed-X2gqRz6w.js → github-dark-dimmed-CtjhYQtx.js} +0 -0
  432. /package/dist/web/assets/{github-dark-high-contrast-Z7tvbGX4.js → github-dark-high-contrast-Bf-LPFgn.js} +0 -0
  433. /package/dist/web/assets/{github-light-BKxt-7zZ.js → github-light-CbJxE7n3.js} +0 -0
  434. /package/dist/web/assets/{github-light-default-B0liF4d4.js → github-light-default-DRQmdHxt.js} +0 -0
  435. /package/dist/web/assets/{github-light-high-contrast-F4encJwr.js → github-light-high-contrast-CJkDgTeM.js} +0 -0
  436. /package/dist/web/assets/{gleam-Pz2bHgBB.js → gleam-D4LCl2ri.js} +0 -0
  437. /package/dist/web/assets/{gn-CgmdNsPU.js → gn-COY8zZmC.js} +0 -0
  438. /package/dist/web/assets/{gnuplot-qLNF5yZ9.js → gnuplot-ROk1VitR.js} +0 -0
  439. /package/dist/web/assets/{go-CSDUNhE7.js → go-H30c3p0C.js} +0 -0
  440. /package/dist/web/assets/{groovy-B3NEnOHF.js → groovy-DBLCaelV.js} +0 -0
  441. /package/dist/web/assets/{gruvbox-dark-hard-DcoftiUX.js → gruvbox-dark-hard-DJy4irps.js} +0 -0
  442. /package/dist/web/assets/{gruvbox-dark-medium-D1wVSuD8.js → gruvbox-dark-medium-Dhfw1QTO.js} +0 -0
  443. /package/dist/web/assets/{gruvbox-dark-soft-DWpunymH.js → gruvbox-dark-soft-BncJU-8w.js} +0 -0
  444. /package/dist/web/assets/{gruvbox-light-hard-rHMvyUdS.js → gruvbox-light-hard-Cq12_YvM.js} +0 -0
  445. /package/dist/web/assets/{gruvbox-light-medium-3O2KiXO7.js → gruvbox-light-medium-DqVja5_v.js} +0 -0
  446. /package/dist/web/assets/{gruvbox-light-soft-lNlXJPwH.js → gruvbox-light-soft-IvwhveGF.js} +0 -0
  447. /package/dist/web/assets/{haskell-aaG3aC0h.js → haskell-DA1JV-MC.js} +0 -0
  448. /package/dist/web/assets/{haxe-CPcHhUDd.js → haxe-V9RTRc5E.js} +0 -0
  449. /package/dist/web/assets/{hcl-CMQNlR_4.js → hcl-hr1lyZ10.js} +0 -0
  450. /package/dist/web/assets/{hjson-DeuklPFj.js → hjson-D3vW3i7X.js} +0 -0
  451. /package/dist/web/assets/{hlsl-BI3hlsaM.js → hlsl-BB85gfJT.js} +0 -0
  452. /package/dist/web/assets/{horizon-C7-gOcjs.js → horizon-DU8OOnj8.js} +0 -0
  453. /package/dist/web/assets/{horizon-bright-Cxt9bRW7.js → horizon-bright-DNMUclW6.js} +0 -0
  454. /package/dist/web/assets/{houston-DbF2G7iD.js → houston-DAiZKf6T.js} +0 -0
  455. /package/dist/web/assets/{hy-DRG6Hs2I.js → hy-C6Zv0LMe.js} +0 -0
  456. /package/dist/web/assets/{image-gallery-CObzTisL.js → image-gallery-CGvlv8zR.js} +0 -0
  457. /package/dist/web/assets/{imba-CxKv_2TW.js → imba-Didnp6Y-.js} +0 -0
  458. /package/dist/web/assets/{ini-BiHsyCdO.js → ini-m0T7q4gQ.js} +0 -0
  459. /package/dist/web/assets/{input-D-dR8RI6.js → input-C7Q8FxeL.js} +0 -0
  460. /package/dist/web/assets/{java-D3RZzgDB.js → java-Buy07jGn.js} +0 -0
  461. /package/dist/web/assets/{javascript-4FmSqG-T.js → javascript-Cjq3CbRL.js} +0 -0
  462. /package/dist/web/assets/{json-CjB236_E.js → json-BSVu8IqD.js} +0 -0
  463. /package/dist/web/assets/{json5-bkfO-Rco.js → json5-NN_Vb7e6.js} +0 -0
  464. /package/dist/web/assets/{jsonc-BwaTeLyv.js → jsonc-BdyZhBUw.js} +0 -0
  465. /package/dist/web/assets/{jsonl-CfxNSwGd.js → jsonl-BsDSNvwi.js} +0 -0
  466. /package/dist/web/assets/{jsonnet-CQETCYrp.js → jsonnet-Gm963F-U.js} +0 -0
  467. /package/dist/web/assets/{jssm-D5o3Zzdz.js → jssm-Ds3bKWgJ.js} +0 -0
  468. /package/dist/web/assets/{jsx-BAMILPLo.js → jsx-BT5mW58X.js} +0 -0
  469. /package/dist/web/assets/{kanagawa-dragon-BhGVxu3R.js → kanagawa-dragon-BvNvf7xd.js} +0 -0
  470. /package/dist/web/assets/{kanagawa-lotus-FH4Y59ro.js → kanagawa-lotus-CuSiliSn.js} +0 -0
  471. /package/dist/web/assets/{kanagawa-wave-eilvP9MB.js → kanagawa-wave-C6g-d6jT.js} +0 -0
  472. /package/dist/web/assets/{kdl-BQ-yvXUK.js → kdl-Bx4kZef-.js} +0 -0
  473. /package/dist/web/assets/{kotlin-BuCx0-VT.js → kotlin-qvaVvCcm.js} +0 -0
  474. /package/dist/web/assets/{kusto-DAN_n_Cy.js → kusto-BPLyNCN6.js} +0 -0
  475. /package/dist/web/assets/{laserwave-Cq2BlxrT.js → laserwave-Sf8ZEhWP.js} +0 -0
  476. /package/dist/web/assets/{lean-Dhq7uXKw.js → lean-DGe6uqgk.js} +0 -0
  477. /package/dist/web/assets/{less-CxaMQb8j.js → less-CqM85x-9.js} +0 -0
  478. /package/dist/web/assets/{lib-BVwmtv2i.js → lib-CD6pOS4u.js} +0 -0
  479. /package/dist/web/assets/{libesm-DdtEjhIi.js → libesm-CPh1Av0r.js} +0 -0
  480. /package/dist/web/assets/{light-plus-B4sMAend.js → light-plus-DBtKwhFA.js} +0 -0
  481. /package/dist/web/assets/{llvm-DQ6-B_6Y.js → llvm-Dpbq3gky.js} +0 -0
  482. /package/dist/web/assets/{log-Bb_vqvu7.js → log-qKMcPm9S.js} +0 -0
  483. /package/dist/web/assets/{logo-BzfYv3A_.js → logo-DFo7i5KH.js} +0 -0
  484. /package/dist/web/assets/{luau-BnAeNR77.js → luau-DGlqWFyL.js} +0 -0
  485. /package/dist/web/assets/{make-B6IFuxpC.js → make-CixdvUQe.js} +0 -0
  486. /package/dist/web/assets/{markdown-Z0xi77Fn.js → markdown-CmRnbngE.js} +0 -0
  487. /package/dist/web/assets/{material-theme-1scy1SYn.js → material-theme-WDUbafB-.js} +0 -0
  488. /package/dist/web/assets/{material-theme-darker-G-JykXQP.js → material-theme-darker-u8y2xpOk.js} +0 -0
  489. /package/dist/web/assets/{material-theme-lighter-BtKkCMVq.js → material-theme-lighter-cyQZK3Tg.js} +0 -0
  490. /package/dist/web/assets/{material-theme-ocean-irrDC89L.js → material-theme-ocean-LBAVvw7k.js} +0 -0
  491. /package/dist/web/assets/{material-theme-palenight-Eq5_K4LM.js → material-theme-palenight-BJqhBxL0.js} +0 -0
  492. /package/dist/web/assets/{matlab-BE3oCXZC.js → matlab-B38sOJee.js} +0 -0
  493. /package/dist/web/assets/{mdx-DYiuFTGw.js → mdx-C8QrE_IW.js} +0 -0
  494. /package/dist/web/assets/{mermaid-DVlaEvtw.js → mermaid-BQ-eeU8A.js} +0 -0
  495. /package/dist/web/assets/{min-dark-DSkeTpQa.js → min-dark-D4gNa5tv.js} +0 -0
  496. /package/dist/web/assets/{min-light-CFv2Q0uF.js → min-light-Dfbhn_PL.js} +0 -0
  497. /package/dist/web/assets/{mipsasm-CiAFuZQ2.js → mipsasm-bLOhJkdm.js} +0 -0
  498. /package/dist/web/assets/{mojo-ARshcaSQ.js → mojo-B0BCOMQW.js} +0 -0
  499. /package/dist/web/assets/{monaco-dotenv-language-BDYnKcnr.js → monaco-dotenv-language-uB-wok6C.js} +0 -0
  500. /package/dist/web/assets/{monokai-CPTV-SOg.js → monokai-Bdw_07OM.js} +0 -0
  501. /package/dist/web/assets/{moonbit-D57B0dZr.js → moonbit-BFdGaeuk.js} +0 -0
  502. /package/dist/web/assets/{move-qgy3G_o9.js → move-CyXQFGPM.js} +0 -0
  503. /package/dist/web/assets/{narrat-CZ3rC-oc.js → narrat-9DvTD3_3.js} +0 -0
  504. /package/dist/web/assets/{nextflow-groovy-BxxIOcI4.js → nextflow-groovy-C4VY3kNY.js} +0 -0
  505. /package/dist/web/assets/{night-owl-B1ryGCda.js → night-owl-feYm66V0.js} +0 -0
  506. /package/dist/web/assets/{night-owl-light-BZvNnvMF.js → night-owl-light-DALqFjvx.js} +0 -0
  507. /package/dist/web/assets/{nix-BVBQi8yv.js → nix-C1kPA9Sw.js} +0 -0
  508. /package/dist/web/assets/{nord-3NXw613h.js → nord-1dvrj1Al.js} +0 -0
  509. /package/dist/web/assets/{nushell-BMOLRalb.js → nushell-DSQ_9Uqj.js} +0 -0
  510. /package/dist/web/assets/{objective-c-AxruEUgh.js → objective-c-Dhcn5ZK8.js} +0 -0
  511. /package/dist/web/assets/{objective-cpp-cFT0qRsD.js → objective-cpp-CGVYCSrp.js} +0 -0
  512. /package/dist/web/assets/{ocaml-_8JH6O8J.js → ocaml-rxXW21An.js} +0 -0
  513. /package/dist/web/assets/{odin-nwYvR0O6.js → odin-ClSJX2DE.js} +0 -0
  514. /package/dist/web/assets/{one-dark-pro-C1LaYJaH.js → one-dark-pro-3gbWDfFW.js} +0 -0
  515. /package/dist/web/assets/{one-light-B7rMc__c.js → one-light-C2q5ZZAw.js} +0 -0
  516. /package/dist/web/assets/{openscad-Cwes8bKO.js → openscad-eHXeafBl.js} +0 -0
  517. /package/dist/web/assets/{pascal-DMt-6tdZ.js → pascal-kKha3Txs.js} +0 -0
  518. /package/dist/web/assets/{pkl-QBTyYQmB.js → pkl-CTiPytg-.js} +0 -0
  519. /package/dist/web/assets/{plastic-BTSUp8Fk.js → plastic-D1Ygezi4.js} +0 -0
  520. /package/dist/web/assets/{plsql-DQv3IFXP.js → plsql-D_gbgZIr.js} +0 -0
  521. /package/dist/web/assets/{po-CNwZx4tW.js → po-BkhbDUnq.js} +0 -0
  522. /package/dist/web/assets/{poimandres-8Os7Qequ.js → poimandres-Do6NywrA.js} +0 -0
  523. /package/dist/web/assets/{polar-b4yK8oD8.js → polar-B3B23wca.js} +0 -0
  524. /package/dist/web/assets/{postcss-sFctwpxx.js → postcss-Dv_YBvWd.js} +0 -0
  525. /package/dist/web/assets/{powerquery-Cg_WrtuN.js → powerquery-fKJWI-Sh.js} +0 -0
  526. /package/dist/web/assets/{powershell-C7Ifz95h.js → powershell-B4Y7KIgx.js} +0 -0
  527. /package/dist/web/assets/{prisma-Z52HUJzQ.js → prisma-J--XdTXX.js} +0 -0
  528. /package/dist/web/assets/{prolog-DLqW-zR1.js → prolog-BBTg4Vb3.js} +0 -0
  529. /package/dist/web/assets/{proto-BOIzxCCJ.js → proto-DWlum3T8.js} +0 -0
  530. /package/dist/web/assets/{puppet-De7TjZIf.js → puppet-ZiUfc9JV.js} +0 -0
  531. /package/dist/web/assets/{purescript-R76ou1WT.js → purescript-CmT8SCHB.js} +0 -0
  532. /package/dist/web/assets/{python-Dprm0tNP.js → python-BURpj-fq.js} +0 -0
  533. /package/dist/web/assets/{qmldir-Clp_jpNw.js → qmldir-CpaiJywQ.js} +0 -0
  534. /package/dist/web/assets/{qss-eQPYYzSo.js → qss-C-zdz0i5.js} +0 -0
  535. /package/dist/web/assets/{r-CCcRHIf5.js → r-K56BeS-s.js} +0 -0
  536. /package/dist/web/assets/{racket-CzE472yp.js → racket-gkn6Z_Jw.js} +0 -0
  537. /package/dist/web/assets/{raku-DQwXrTSi.js → raku-C0ZBuKlx.js} +0 -0
  538. /package/dist/web/assets/{red-KCS6wyop.js → red-BWZ6x-3p.js} +0 -0
  539. /package/dist/web/assets/{reg-CcrAddUh.js → reg-Dt_EsyGR.js} +0 -0
  540. /package/dist/web/assets/{regexp-DDbud-Ri.js → regexp-CT6BLG2C.js} +0 -0
  541. /package/dist/web/assets/{rel-99GDgaHp.js → rel-MJ2LcyzJ.js} +0 -0
  542. /package/dist/web/assets/{resolve-theme-CW2niGV2.js → resolve-theme-B_ukrg_8.js} +0 -0
  543. /package/dist/web/assets/{riscv-Dm2eNv0R.js → riscv-BZYWzMAA.js} +0 -0
  544. /package/dist/web/assets/{ron-CzFt0ygH.js → ron-CLbwHWMn.js} +0 -0
  545. /package/dist/web/assets/{rose-pine-Ck6lCrCP.js → rose-pine-BPiI_daR.js} +0 -0
  546. /package/dist/web/assets/{rose-pine-dawn-vtALRJNj.js → rose-pine-dawn-BjkJc7dW.js} +0 -0
  547. /package/dist/web/assets/{rose-pine-moon-DPto8qXw.js → rose-pine-moon-BQSxkt7g.js} +0 -0
  548. /package/dist/web/assets/{rosmsg-NtS6429H.js → rosmsg-yt4151pJ.js} +0 -0
  549. /package/dist/web/assets/{rust-BjIXvF9h.js → rust-1dAcengL.js} +0 -0
  550. /package/dist/web/assets/{sass-CQ23wf5E.js → sass-DUgtQJsg.js} +0 -0
  551. /package/dist/web/assets/{scala-LfKLM143.js → scala-CxoGYpS0.js} +0 -0
  552. /package/dist/web/assets/{scheme-D3SLBXlF.js → scheme-B2K3u9e3.js} +0 -0
  553. /package/dist/web/assets/{sdbl-ODRd2rGN.js → sdbl-C0Ygk0n6.js} +0 -0
  554. /package/dist/web/assets/{shellscript-3KB1G_oA.js → shellscript-C2CvhqMk.js} +0 -0
  555. /package/dist/web/assets/{slack-dark-DTtyWmIy.js → slack-dark-DYdgzRGj.js} +0 -0
  556. /package/dist/web/assets/{slack-ochin-Bu0PApk3.js → slack-ochin-X-WD0WCg.js} +0 -0
  557. /package/dist/web/assets/{smalltalk-haMT-Sbe.js → smalltalk-Dp7g_zb9.js} +0 -0
  558. /package/dist/web/assets/{snazzy-light-DXJzefE9.js → snazzy-light-DWHWr-a6.js} +0 -0
  559. /package/dist/web/assets/{solarized-dark-B6LyYa18.js → solarized-dark-CxdLsjvb.js} +0 -0
  560. /package/dist/web/assets/{solarized-light-QLADebkv.js → solarized-light-Cz9rAvG5.js} +0 -0
  561. /package/dist/web/assets/{solidity-mzfq1aDc.js → solidity-D33gHHdn.js} +0 -0
  562. /package/dist/web/assets/{splunk-CyH4RWBp.js → splunk-BFbOroYw.js} +0 -0
  563. /package/dist/web/assets/{sql-CWVlT5D3.js → sql-ChpxvmdY.js} +0 -0
  564. /package/dist/web/assets/{ssh-config-DNvQJ1Qx.js → ssh-config-CUuSQ6JG.js} +0 -0
  565. /package/dist/web/assets/{streaming-store-uDu3PoN1.js → streaming-store-BYukdB56.js} +0 -0
  566. /package/dist/web/assets/{stylus-ByQQdtmf.js → stylus-DDihP0_W.js} +0 -0
  567. /package/dist/web/assets/{swift-D1cpY4ow.js → swift-XoalUn4x.js} +0 -0
  568. /package/dist/web/assets/{synthwave-84-BDF_-QiW.js → synthwave-84-DjkG0Bff.js} +0 -0
  569. /package/dist/web/assets/{system-verilog-BYrkMydC.js → system-verilog-f_pLKMYd.js} +0 -0
  570. /package/dist/web/assets/{systemd-CQm3zyK0.js → systemd-DjDcLfxp.js} +0 -0
  571. /package/dist/web/assets/{talonscript-DMW5CzE1.js → talonscript-BpUzYcDl.js} +0 -0
  572. /package/dist/web/assets/{tasl-BhFzMCr2.js → tasl-DP-cUbg8.js} +0 -0
  573. /package/dist/web/assets/{tcl-D7VEAF-9.js → tcl-BHoy-dfE.js} +0 -0
  574. /package/dist/web/assets/{terraform-DdT5A0Vy.js → terraform-vCVxN25B.js} +0 -0
  575. /package/dist/web/assets/{tokyo-night-WGLMM6Q9.js → tokyo-night-D0u4xZba.js} +0 -0
  576. /package/dist/web/assets/{toml-CZ7ipXHZ.js → toml-BS8D0__A.js} +0 -0
  577. /package/dist/web/assets/{tsv-B1zVvoTr.js → tsv-DCb-NQh3.js} +0 -0
  578. /package/dist/web/assets/{tsx-D4HwRUBq.js → tsx-DF8YeRgG.js} +0 -0
  579. /package/dist/web/assets/{turtle-B4r8KEJH.js → turtle-Bhx1GlIy.js} +0 -0
  580. /package/dist/web/assets/{typescript-BnHhxMtp.js → typescript-CAVD2Wb6.js} +0 -0
  581. /package/dist/web/assets/{typespec-DP2q46GT.js → typespec-D7mchdY_.js} +0 -0
  582. /package/dist/web/assets/{typst-DFsD_yaD.js → typst-CeXzq6Yw.js} +0 -0
  583. /package/dist/web/assets/{use-is-mobile-BQ9Bv5Ga.js → use-is-mobile-TkcwP1Gx.js} +0 -0
  584. /package/dist/web/assets/{use-visual-viewport-CbwnktSG.js → use-visual-viewport-Lp878uzs.js} +0 -0
  585. /package/dist/web/assets/{v-Bji8hSVT.js → v-DhzO54je.js} +0 -0
  586. /package/dist/web/assets/{vala-D3TIgGmU.js → vala-Dw_RAk3E.js} +0 -0
  587. /package/dist/web/assets/{vb-DvcxFS2q.js → vb-CiXdNh2Y.js} +0 -0
  588. /package/dist/web/assets/{vendor-xterm-BqPDsE9b.js → vendor-xterm-BHEY6Ctu.js} +0 -0
  589. /package/dist/web/assets/{verilog-Dy7cF35d.js → verilog-fITdxqwV.js} +0 -0
  590. /package/dist/web/assets/{vesper-BzjwUv9J.js → vesper-B1wm_At7.js} +0 -0
  591. /package/dist/web/assets/{vhdl-DuFnFNmW.js → vhdl-ebHjqKp9.js} +0 -0
  592. /package/dist/web/assets/{viml-yAPgKlbz.js → viml-Dgmnoxoo.js} +0 -0
  593. /package/dist/web/assets/{vitesse-black-oSSQdyIZ.js → vitesse-black-BZ5gMb7l.js} +0 -0
  594. /package/dist/web/assets/{vitesse-dark-BZxwPihB.js → vitesse-dark-Lij7kkOt.js} +0 -0
  595. /package/dist/web/assets/{vitesse-light-uIigycvt.js → vitesse-light-DW6Wq7VC.js} +0 -0
  596. /package/dist/web/assets/{vyper-CX3NAxm5.js → vyper-6FxDnVNg.js} +0 -0
  597. /package/dist/web/assets/{wasm-6mEOOvVa.js → wasm-BDxaNPCj.js} +0 -0
  598. /package/dist/web/assets/{wasm-D9td37qO.js → wasm-DKhAtzfe.js} +0 -0
  599. /package/dist/web/assets/{wenyan-lwNIHgk6.js → wenyan-C0k0DYG_.js} +0 -0
  600. /package/dist/web/assets/{wgsl-DQAzCfog.js → wgsl-Y2zagbdn.js} +0 -0
  601. /package/dist/web/assets/{wikitext-DTXmt5NE.js → wikitext-C4QGWzkY.js} +0 -0
  602. /package/dist/web/assets/{wit-Bdw_7WDH.js → wit-CQESzjHy.js} +0 -0
  603. /package/dist/web/assets/{wolfram-DqyHDZ07.js → wolfram-B-ia69Ia.js} +0 -0
  604. /package/dist/web/assets/{yaml-CPXhdByd.js → yaml-CEYYTQPm.js} +0 -0
  605. /package/dist/web/assets/{zenscript-6s_i5zek.js → zenscript-BggWXIeJ.js} +0 -0
  606. /package/dist/web/assets/{zig-B2htezJ_.js → zig-CbaUfBQe.js} +0 -0
@@ -1 +1 @@
1
- import{t as e}from"./html-yacZYzSE.js";import{t}from"./java-D3RZzgDB.js";var n=Object.freeze(JSON.parse(`{"displayName":"COBOL","fileTypes":["ccp","scbl","cobol","cbl","cblsrce","cblcpy","lks","pdv","cpy","copybook","cobcopy","fd","sel","scb","scbl","cob","dds","def","src","ss","wks","bib","pco"],"name":"cobol","patterns":[{"match":"^([ *][ *][ *][ *][ *][ *])([Dd]\\\\s.*)$","name":"token.info-token.cobol"},{"captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"comment.line.cobol.newpage"}},"match":"^([ *][ *][ *][ *][ *][ *])(/.*)$"},{"captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"comment.line.cobol.fixed"}},"match":"^([ *][ *][ *][ *][ *][ *])(\\\\*.*)$"},{"captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"comment.line.cobol.newpage"}},"match":"^([0-9\\\\s][0-9\\\\s][0-9\\\\s][0-9\\\\s][0-9\\\\s][0-9\\\\s])(/.*)$"},{"match":"^[0-9\\\\s][0-9\\\\s][0-9\\\\s][0-9\\\\s][0-9\\\\s][0-9\\\\s]$","name":"constant.numeric.cobol"},{"captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"comment.line.cobol.fixed"}},"match":"^([0-9\\\\s][0-9\\\\s][0-9\\\\s][0-9\\\\s][0-9\\\\s][0-9\\\\s])(\\\\*.*)$"},{"captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"comment.line.cobol.fixed"}},"match":"^([- #$%+.0-9@-Za-z\\\\s][- #$%+.0-9@-Za-z\\\\s][- #$%+.0-9@-Za-z\\\\s][- #$%+.0-9@-Za-z\\\\s][- #$%+.0-9@-Za-z\\\\s][- #$%+.0-9@-Za-z\\\\s])(\\\\*.*)$"},{"captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"variable.other.constant"}},"match":"^\\\\s+(78)\\\\s+([0-9A-Za-z][-0-9A-Z_a-z]+)"},{"captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"variable.other.constant"},"3":{"name":"keyword.identifers.cobol"}},"match":"^\\\\s+([0-9]+)\\\\s+([0-9A-Za-z][-0-9A-Z_a-z]+)\\\\s+((?i:constant))"},{"captures":{"1":{"name":"constant.cobol"},"2":{"name":"comment.line.cobol.newpage"}},"match":"^([#$%.0-9@-Za-z\\\\s][#$%.0-9@-Za-z\\\\s][#$%.0-9@-Za-z\\\\s][#$%.0-9@-Za-z\\\\s][#$%.0-9@-Za-z\\\\s][#$%.0-9@-Za-z\\\\s])(/.*)$"},{"match":"^\\\\*.*$","name":"comment.line.cobol.fixed"},{"captures":{"1":{"name":"keyword.control.directive.conditional.cobol"},"2":{"name":"entity.name.function.preprocessor.cobol"},"3":{"name":"entity.name.function.cobol"},"4":{"name":"keyword.control.directive.conditional.cobol"}},"match":"((?:^|\\\\s+)(?i:\\\\$set)\\\\s+)((?i:constant)\\\\s+)([0-9A-Za-z][-0-9A-Za-z]+\\\\s*)([-0-9A-Za-z]*)"},{"captures":{"1":{"name":"entity.name.function.preprocessor.cobol"},"2":{"name":"storage.modifier.import.cobol"},"3":{"name":"punctuation.begin.bracket.round.cobol"},"4":{"name":"string.quoted.other.cobol"},"5":{"name":"punctuation.end.bracket.round.cobol"}},"match":"((?i:\\\\$\\\\s*set\\\\s+)(ilusing)(\\\\()(.*)(\\\\)))"},{"captures":{"1":{"name":"entity.name.function.preprocessor.cobol"},"2":{"name":"storage.modifier.import.cobol"},"3":{"name":"punctuation.definition.string.begin.cobol"},"4":{"name":"string.quoted.other.cobol"},"5":{"name":"punctuation.definition.string.begin.cobol"}},"match":"((?i:\\\\$\\\\s*set\\\\s+)(ilusing)(\\")(.*)(\\"))"},{"captures":{"1":{"name":"keyword.control.directive.conditional.cobol"},"2":{"name":"entity.name.function.preprocessor.cobol"},"3":{"name":"punctuation.definition.string.begin.cobol"},"4":{"name":"string.quoted.other.cobol"},"5":{"name":"punctuation.definition.string.begin.cobol"}},"match":"((?i:\\\\$set))\\\\s+(\\\\w+)\\\\s*(\\")(\\\\w*)(\\")"},{"captures":{"1":{"name":"keyword.control.directive.conditional.cobol"},"2":{"name":"entity.name.function.preprocessor.cobol"},"3":{"name":"punctuation.begin.bracket.round.cobol"},"4":{"name":"string.quoted.other.cobol"},"5":{"name":"punctuation.end.bracket.round.cobol"}},"match":"((?i:\\\\$set))\\\\s+(\\\\w+)\\\\s*(\\\\()(.*)(\\\\))"},{"captures":{"0":{"name":"keyword.control.directive.conditional.cobol"},"1":{"name":"invalid.illegal.directive"},"2":{"name":"comment.line.set.cobol"}},"match":"(?:^|\\\\s+)(?i:\\\\$\\\\s*set\\\\s)((?i:01SHUFFLE|64KPARA|64KSECT|AUXOPT|CHIP|DATALIT|EANIM|EXPANDDATA|FIXING|FLAG-CHIP|MASM|MODEL|OPTSIZE|OPTSPEED|PARAS|PROTMODE|REGPARM|SEGCROSS|SEGSIZE|SIGNCOMPARE|SMALLDD|TABLESEGCROSS|TRICKLECHECK|\\\\s)+).*$"},{"captures":{"1":{"name":"keyword.control.directive.cobol"},"2":{"name":"entity.other.attribute-name.preprocessor.cobol"}},"match":"(\\\\$(?:(?i:region)|(?i:end-region)))(.*)$"},{"begin":"\\\\$(?i:doc)(.*)$","end":"\\\\$(?i:end-doc)(.*)$","name":"invalid.illegal.iscobol"},{"match":">>\\\\s*(?i:turn|page|listing|leap-seconds|d)\\\\s+.*$","name":"invalid.illegal.meta.preprocessor.cobolit"},{"match":"(?i:substitute(?:-case|))\\\\s+","name":"invalid.illegal.functions.cobolit"},{"captures":{"1":{"name":"invalid.illegal.keyword.control.directive.conditional.cobol"},"2":{"name":"invalid.illegal.entity.name.function.preprocessor.cobol"},"3":{"name":"invalid.illegal.entity.name.function.preprocessor.cobol"}},"match":"((((>>|\\\\$)\\\\s*)(?i:elif))(.*))$"},{"captures":{"1":{"name":"keyword.control.directive.conditional.cobol"},"2":{"name":"entity.name.function.preprocessor.cobol"},"3":{"name":"entity.name.function.preprocessor.cobol"}},"match":"((((>>|\\\\$)\\\\s*)(?i:if|else|elif|end-if|end-evaluate|end|define|evaluate|when|display|call-convention|set))(.*))$"},{"captures":{"1":{"name":"comment.line.scantoken.cobol"},"2":{"name":"keyword.cobol"},"3":{"name":"string.cobol"}},"match":"(\\\\*>)\\\\s+(@[0-9A-Za-z][-0-9A-Za-z]+)\\\\s+(.*)$"},{"match":"(\\\\*>.*)$","name":"comment.line.modern"},{"match":"(>>.*)$","name":"strong comment.line.set.cobol"},{"match":"([NUnu][Xx]|[HXhx])'\\\\h*'","name":"constant.numeric.integer.hexadecimal.cobol"},{"match":"([NUnu][Xx]|[HXhx])'.*'","name":"invalid.illegal.hexadecimal.cobol"},{"match":"([NUnu][Xx]|[HXhx])\\"\\\\h*\\"","name":"constant.numeric.integer.hexadecimal.cobol"},{"match":"([NUnu][Xx]|[HXhx])\\".*\\"","name":"invalid.illegal.hexadecimal.cobol"},{"match":"[Bb]\\"[01]\\"","name":"constant.numeric.integer.boolean.cobol"},{"match":"[Bb]'[01]'","name":"constant.numeric.integer.boolean.cobol"},{"match":"[Oo]\\"[0-7]*\\"","name":"constant.numeric.integer.octal.cobol"},{"match":"[Oo]\\".*\\"","name":"invalid.illegal.octal.cobol"},{"match":"(#)([0-9A-Za-z][-0-9A-Za-z]+)","name":"meta.symbol.forced.cobol"},{"begin":"((?<![-()0-9A-Z_a-z])(?i:installation|author|source-computer|object-computer|date-written|security|date-compiled)(\\\\.|$))","beginCaptures":{"0":{"name":"keyword.identifiers.cobol"}},"end":"(?=((?<![-_])(?i:remarks|author|date-written|source-computer|object-computer|installation|date-compiled|special-names|security|environment\\\\s+division|data\\\\s+division|working-storage\\\\s+section|input-output\\\\s+section|linkage\\\\s+section|procedure\\\\s+division|local-storage\\\\s+section)|^[ *][ *][ *][ *][ *][ *]\\\\*.*$|^\\\\+$))","name":"comment.block.cobol.remark","patterns":[{"match":"^([ 0-9][ 0-9][ 0-9][ 0-9][ 0-9][ 0-9])","name":"constant.numeric.cobol"}]},{"captures":{"1":{"name":"keyword.start.bracket.cobol"},"2":{"name":"constant.numeric.cobol"},"3":{"name":"keyword.end.bracket.cobol"}},"match":"(?<=([(\\\\[]))((-\\\\+)*\\\\s*[ *-9]+)(?=([])]))","name":"constant.numeric.cobol"},{"include":"#number-complex-constant"},{"include":"#number-simple-constant"},{"match":"(?<![-_])(?i:true|false|nulls??)(?![-0-9A-Z_a-z])","name":"constant.language.cobol"},{"match":"(?<![-_])(?i:zeroes|alphabetic-lower|alphabetic-upper|alphanumeric-edited|alphabetic|alphabet|alphanumeric|zeros?|spaces?|quotes?|low-values?|high-values?)(?=\\\\s+|[),.])","name":"constant.language.figurative.cobol"},{"begin":"(?i:exec(?:\\\\s+sqlims|\\\\s+sql))","contentName":"meta.embedded.block.openesql","end":"(?i:end-exec)","name":"keyword.verb.cobol","patterns":[{"match":"^(\\\\s*\\\\*.*)$","name":"comment.line.sql"},{"match":"(--.*)$","name":"comment.line.sql"},{"match":"(\\\\*>.*)$","name":"comment.line.modern"},{"match":"(:([-0-9A-Z_a-z])*)","name":"variable.cobol"},{"include":"source.openesql"}]},{"begin":"(?i:exec\\\\s+cics)","contentName":"meta.embedded.block.cics","end":"(?i:end-exec)","name":"keyword.verb.cobol","patterns":[{"match":"(\\\\()","name":"meta.symbol.cobol"},{"include":"#cics-keywords"},{"include":"#string-double-quoted-constant"},{"include":"#string-quoted-constant"},{"include":"#number-complex-constant"},{"include":"#number-simple-constant"},{"match":"([-0-9A-Z_a-z]*[0-9A-Za-z]|(#?[0-9A-Za-z]+[-0-9A-Z_a-z]*[0-9A-Za-z]))","name":"variable.cobol"}]},{"begin":"(?i:exec\\\\s+dli)","contentName":"meta.embedded.block.dli","end":"(?i:end-exec)","name":"keyword.verb.cobol","patterns":[{"match":"(\\\\()","name":"meta.symbol.cobol"},{"include":"#dli-keywords"},{"include":"#dli-options"},{"include":"#string-double-quoted-constant"},{"include":"#string-quoted-constant"},{"include":"#number-complex-constant"},{"include":"#number-simple-constant"},{"match":"([-0-9A-Z_a-z]*[0-9A-Za-z]|(#?[0-9A-Za-z]+[-0-9A-Z_a-z]*[0-9A-Za-z]))","name":"variable.cobol"}]},{"begin":"(?i:exec\\\\s+sqlims)","contentName":"meta.embedded.block.openesql","end":"(?i:end-exec)","name":"keyword.verb.cobol","patterns":[{"match":"(\\\\*>.*)$","name":"comment.line.modern"},{"match":"(:([-A-Za-z])*)","name":"variable.cobol"},{"include":"source.openesql"}]},{"begin":"(?i:exec\\\\s+ado)","contentName":"meta.embedded.block.openesql","end":"(?i:end-exec)","name":"keyword.verb.cobol","patterns":[{"match":"(--.*)$","name":"comment.line.sql"},{"match":"(\\\\*>.*)$","name":"comment.line.modern"},{"match":"(:([-A-Za-z])*)","name":"variable.cobol"},{"include":"source.openesql"}]},{"begin":"(?i:exec\\\\s+html)","contentName":"meta.embedded.block.html","end":"(?i:end-exec)","name":"keyword.verb.cobol","patterns":[{"include":"text.html.basic"}]},{"begin":"(?i:exec\\\\s+java)","contentName":"meta.embedded.block.java","end":"(?i:end-exec)","name":"keyword.verb.cobol","patterns":[{"include":"source.java"}]},{"captures":{"1":{"name":"punctuation.definition.string.begin.cobol"},"2":{"name":"support.function.cobol"},"3":{"name":"punctuation.definition.string.end.cobol"}},"match":"(\\")(CBL_.*)(\\")"},{"captures":{"1":{"name":"punctuation.definition.string.begin.cobol"},"2":{"name":"support.function.cobol"},"3":{"name":"punctuation.definition.string.end.cobol"}},"match":"(\\")(PC_.*)(\\")"},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"end":"(\\"|$)","endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}},"name":"string.quoted.double.cobol"},{"captures":{"1":{"name":"punctuation.definition.string.begin.cobol"},"2":{"name":"support.function.cobol"},"3":{"name":"punctuation.definition.string.end.cobol"}},"match":"(')(CBL_.*)(')"},{"captures":{"1":{"name":"punctuation.definition.string.begin.cobol"},"2":{"name":"support.function.cobol"},"3":{"name":"punctuation.definition.string.end.cobol"}},"match":"(')(PC_.*)(')"},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"end":"('|$)","endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}},"name":"string.quoted.single.cobol"},{"begin":"(?<![-\\\\w])[GZgz]\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"end":"(\\"|$)","endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}},"name":"string.quoted.double.cobol"},{"begin":"(?<![-\\\\w])[GZgz]'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}},"name":"string.quoted.single.cobol"},{"begin":"(?<![-\\\\w])[GNgn]\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"end":"(\\"|$)","endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}},"name":"string.quoted.double.cobol"},{"begin":"(?<![-\\\\w])[GNgn]'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}},"name":"string.quoted.single.cobol"},{"begin":"(?<![-\\\\w])[Uu]\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"end":"(\\"|$)","endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}},"name":"string.quoted.utf8.double.cobol"},{"begin":"(?<![-\\\\w])[Uu]'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}},"name":"string.quoted.utf8.single.cobol"},{"match":"(?<![-_])(?i:id\\\\s+division|identification\\\\s+division|identification|id|property-id|getter|setter|entry|function-id|end\\\\s+attribute|attribute|interface-id|indexer-id|factory|ctl|class-control|options|environment\\\\s+division|environment-name|environment-value|environment|configuration\\\\s+section|configuration|decimal-point\\\\s+is|decimal-point|console\\\\s+is|call-convention|special-names|cursor\\\\s+is|update|picture\\\\s+symbol|currency\\\\s+sign|currency|repository|input-output\\\\s+section|input-output|file\\\\s+section|file-control|select|optional|i-o-control|data\\\\s+division|working-storage\\\\s+section|working-storage|section|local-storage|linkage\\\\s+section|linkage|communication|report|screen\\\\s+section|object-storage|object\\\\s+section|class-object|fd|rd|cd|sd|printing|procedure\\\\s+division|procedure|division|references|debugging|end\\\\s+declaratives|declaratives|end\\\\s+static|end\\\\s+factory|end\\\\s+class-object|based-storage|size|font|national-edited|national)(?![-0-9A-Z_a-z])","name":"keyword.identifiers.cobol"},{"captures":{"1":{"name":"keyword.verb.cobol"},"2":{"name":"entity.name.function.cobol"}},"match":"(?<![-_])((?i:valuetype-id|operator-id|method-id|method|property-id|attribute-id|enum-id|iterator-id|class-id|program-id|operator-id|end\\\\s+program|end\\\\s+valuetype|extension))\\\\.*\\\\s+([-0-9A-Z_a-z]*)"},{"match":"(?<![-_])(?i:implements|inherits|constraints|constrain)(?=[.\\\\s])","name":"keyword.verb.cobol"},{"match":"(?<![-_])(?i:end\\\\s+enum|end\\\\s+interface|end\\\\s+class|end\\\\s+property|end\\\\s+method|end\\\\s+object|end\\\\s+iterator|end\\\\s+function|end\\\\s+operator|end\\\\s+program|end\\\\s+indexer|create|reset|instance|delegate|end-delegate|delegate-id|declare|exception-object|as|stop\\\\s+iterator|stop\\\\s+run|stop)(?=[),.\\\\s])","name":"keyword.identifiers.cobol"},{"match":"\\\\s+(?i:attach\\\\s+method|attach\\\\s+del|attach|detach\\\\s+del|detach\\\\s+method|detach|method|del)(?=[.\\\\s]|$)","name":"keyword.identifiers.cobol"},{"match":"\\\\s+(?i:sync\\\\s+(?i:on))(?=[.\\\\s])","name":"keyword.other.sync.cobol"},{"match":"\\\\s+(?i:try|finally|catch|end-try|throw)(?=[.\\\\s]|$)","name":"keyword.control.catch-exception.cobol"},{"match":"(?<![-_])(?i:select|use|thru|varying|giving|remainder|tallying|through|until|execute|returning|using|chaining|yielding|\\\\+\\\\+include|copy|replace)(?=\\\\s)","name":"keyword.otherverb.cobol"},{"match":"(?i:dynamic)\\\\s+(?i:length)(?=[.\\\\s])","name":"storage.type.dynamiclength.cobol"},{"match":"(?<![-_])(?i:assign|external|prototype|organization|organisation|indexed|column|plus|line\\\\*s*sequential|sequential|access|dynamic|relative|label|block|contains|standard|records|record\\\\s+key|record|is|alternate|duplicates|reel|tape|terminal|disk\\\\sfilename|disk|disc|recording\\\\smode|mode|random)(?=[.\\\\s])","name":"keyword.identifers.cobol"},{"match":"(?<![-_])(?i:max|min|integer-of-date|integer-of-day|integer-part|integer|date-to-yyyymmdd|year-to-yyyy|day-to-yyyyddd|exp|exception-file|exception-location|exception-statement|exception-status|e|variance|integer-of-date|rem|pi|factorial|sqrt|log10|fraction-part|mean|exp|log|char|day-of-integer|date-of-integer|exp10|atan|integer-part|tan|sin|cos|midrange|addr|acos|asin|annuity|present-value|integer-of-day|ord-max|ord-min|ord|random|integer-of-date|sum|standard-deviation|median|reverse|abs|upper-case|lower-case|char-national|numval|mod|range|length|locale-date|locale-time-from-seconds|locale-time|seconds-past-midnight|stored-char-length|seconds-from-formatted-time|seconds-past-midnight|trim|length-an|numval-c|current-date|national-of|display-of|when-compiled|integer-of-boolean|combined-datetime|concatenate)(?=[().\\\\s])","name":"support.function.cobol"},{"captures":{"0":{"name":"support.function.cics.cobol"},"1":{"name":"punctuation.definition.string.end.cobol"},"2":{"name":"keyword.identifers.cobol"},"3":{"name":"punctuation.definition.string.end.cobol"}},"match":"(?<![-_])(?i:DFH(?:RESP|VALUE))(\\\\s*\\\\(\\\\s*)([A-Za-z]*)(\\\\s*\\\\))"},{"match":"(?<![-_])(?i:function)(?=[.\\\\s])","name":"keyword.verb.cobol"},{"match":"(?<![-_])(?i:end-accept|end-add|end-sync|end-compute|end-delete|end-display|end-divide|end-set|end-multiply|end-of-page|end-read|end-receive|end-return|end-rewrite|end-search|end-start|end-string|end-subtract|end-unstring|end-write|program|class|interface|enum|interface)(?![-0-9A-Z_a-z])","name":"keyword.verb.cobol"},{"match":"(?<![-_])(?:by value|by reference|by content|property-value)(?![-0-9A-Z_a-z])","name":"keyword.other.cobol"},{"match":"(?<![-_])(?i:attr-string|automatic|auto-skip|footing|next|group|indicate|source|control|full|required|of|input|output|i-o|extend|file|error|exception|overflow|goto|off|on|proceed|procedures?|through|invalid|data|normal|eop|returning|to|for|giving|into|by|params|remainder|also|numeric|free|depending|converting|replacing|after|before|all|leading|first|recursive|initialized|global|common|initial|resident|reference|content|are\\\\sstandard|are|renames|like|format\\\\stime|values|omitted|value|constant|ascending|descending|key|retry|until|varying|with|no|advancing|up|down|uccurs|ignore\\\\s+lock|lock|length|delimited|count|delimiter|redefines|from\\\\s+console|from\\\\s+command-line|from\\\\s+user\\\\s+name|from\\\\s+day\\\\s+yyyyddd|from\\\\s+day|from\\\\s+time|from\\\\s+day-of-week|from\\\\s+escape|from\\\\s+day\\\\s+yyyyddd|from\\\\s+date\\\\s+yyyymmdd|from\\\\s+date|from|raising|crt\\\\s+status|status|class|upon\\\\s+crt|upon|lines|columns|step|linage|auto|line|position|col|reports|code-set|reporting|arithmetic|localize|program|class|interface|in|at\\\\s+end|page|name)(?![-0-9A-Z_a-z])","name":"keyword.identifers.cobol"},{"captures":{"0":{"name":"keyword.verb.cobol"},"1":{"name":"storage.type.cobol"}},"match":"(?<![-_])(?i:type|new)\\\\s+([A-Za-z][-$.0-9A-Z_a-z]*|[A-Za-z])(?=\\\\.$)"},{"match":"(?<![-_])(?i:string)(?=\\\\s+value|\\\\.)","name":"storage.type.cobol"},{"match":"(?<![-_])(?i:bit|byte|binary-char|binary-char-unsigned|binary-short|binary-short-unsigned|binary.long|binary-c-long|binary-long-unsigned|binary-long|binary-double|binary-double-unsigned|float-short|float-extended|float-long|bit|condition-value|characters|character\\\\s+type|character|comma|crt|decimal|object\\\\+sreference|object-reference|object|list|dictionary|unsigned)(?=[],.\\\\[\\\\s])","name":"storage.type.cobol"},{"captures":{"1":{"name":"keyword.other.verb.cobol"},"2":{"name":"meta.symbol.cobol"}},"match":"(operator-id\\\\s+[-*+/])","name":"keyword.operator-id.cobol"},{"captures":{"1":{"name":"punctuation.accessor.cobol.b3"},"2":{"name":"entity.name.function.b3"}},"match":"(?i:self)(::)([-.0-9A-Z_a-z]*)(?=\\\\.$)"},{"captures":{"1":{"name":"punctuation.accessor.cobol"},"2":{"name":"entity.name.function.cobol"}},"match":"(::)([-.0-9A-Z_a-z]*)"},{"captures":{"0":{"name":"keyword.verb.cobol.aa"},"1":{"name":"storage.type.cobol.bb"}},"match":"(?<![-_])(?i:type)\\\\s+([.0-9A-Za-z]*)"},{"match":"(?<![-_])(?i:if|else|end-if|exit\\\\s+iterator|exit\\\\s+program|exit\\\\s+method|evaluate|end-evaluate|exit\\\\s+perform|perform|end-perform|when\\\\s+other|when|continue|call|end-call|chain|end-chain|invoke|end\\\\s+invoke|end-xml|go\\\\s+to|go|sort|merge|use|xml\\\\s+parse|xml|top\\\\s+run|goback\\\\s+returning|goback|raise|exit\\\\s+function|exit\\\\sparagraph|await)(?![-0-9A-Z_a-z])","name":"keyword.control.cobol"},{"captures":{"1":{"name":"storage.type.picture10.cobol"},"2":{"name":"constant.numeric.cobol"},"3":{"name":"storage.type.picture10.cobol"},"4":{"name":"constant.numeric.cobol"}},"match":"(?<![-_])((?i:pic(?:ture\\\\s+is|ture|\\\\s+is|))\\\\s+[$*-09ABNPSUXZabnpsuxz]*)\\\\(([0-9]*)\\\\)([Vv][$*-09ABNPSUXZabnpsuxz]*)\\\\(([0-9]*)\\\\)[-+|]"},{"captures":{"1":{"name":"storage.type.picture9.cobol"},"2":{"name":"constant.numeric.cobol"},"3":{"name":"storage.type.picture9.cobol"},"4":{"name":"constant.numeric.cobol"}},"match":"(?<![-_])((?i:pic(?:ture\\\\s+is|ture|\\\\s+is|))\\\\s+[$*-09ABNPSUXZabnpsuxz]*)\\\\(([0-9]*)\\\\)([Vv][$*-09ABNPSUXZabnpsuxz]*)\\\\(([0-9]*)\\\\)"},{"captures":{"1":{"name":"storage.type.picture8.cobol"},"2":{"name":"constant.numeric.cobol"},"3":{"name":"storage.type.picture8.cobol"}},"match":"(?<![-_])((?i:pic(?:ture\\\\s+is|ture|\\\\s+is|))\\\\s+[$*-09ABNPSUXZabnpsuxz]*)\\\\(([0-9]*)\\\\)([.Vv][$*-\\\\-/09ABNSUXZabnsuxz]*[().0-9])*"},{"match":"(?<![-_])(?i:pic(?:ture\\\\s+is|ture|\\\\s+is|))\\\\s+[$*-09ABNPSUXZabnpsuxz]*\\\\([0-9]*\\\\)[.Vv][$*-\\\\-/09ABNPSUXZabnpsuxz]*","name":"storage.type.picture7.cobol"},{"match":"(?<![-_])(?i:pic(?:ture\\\\s+is|ture|\\\\s+is|))\\\\s+[$*-09ABNPSUXZabnpsuxz]*\\\\([0-9]*\\\\)[$*-\\\\-/09ABNPSUXZabnpsuxz]*[.Vv][$*-\\\\-/09ABNPSUXZabnpsuxz]*","name":"storage.type.picture6.cobol"},{"captures":{"1":{"name":"storage.type.picture5.cobol"},"2":{"name":"constant.numeric.cobol"}},"match":"(?<![-_])((?i:pic(?:ture\\\\s+is|ture|\\\\s+is|))\\\\s+[$*-09ABNPSUXZabnpsuxz]*)\\\\(([0-9]*)\\\\)[$*-\\\\-/09ABNPSUXZabnpsuxz]*"},{"match":"(?<![-_])(?i:pic(?:ture\\\\s+is|ture|\\\\s+is|))\\\\s+[$*-09ABNSUXZabnpsuxz]*\\\\([0-9]*\\\\)","name":"storage.type.picture4.cobol"},{"match":"(?<![-_])(?i:pic(?:ture\\\\s+is|ture|\\\\s+is|))\\\\s+[Ss]?[9ABNSUXZabnsuxz]*[Vv][9AUXZabuxz]*\\\\([0-9]*\\\\)","name":"storage.type.picture3.cobol"},{"match":"(?<![-_])(?i:pic(?:ture\\\\s+is|ture|\\\\s+is|))\\\\s+[Ss]?[9ABNSUXZabnsuxz]*[Vv][9AUXZabuxz]*","name":"storage.type.picture2.cobol"},{"match":"(?<![-_])(?i:pic(?:ture\\\\s+is|ture|\\\\s+is|))\\\\s+[$*-/9ABNPSUVXZabnpsuvxz]*","name":"storage.type.picture1.cobol"},{"captures":{"1":{"name":"invalid.illegal.keyword.verb.acu.cobol"},"2":{"name":"invalid.illegal.constant.numeric.integer"}},"match":"((?<![-_])(?i:binary|computational-4|comp-4|computational-5|comp-5))\\\\(([0-9]*)\\\\)"},{"match":"(?i:cblt-(?:x1-compx-const|x2-compx-const|x4-compx-const|alphanum-const|x9-compx|x8-compx|x8-comp5|x4-compx|x4-comp5|x2-compx|x2-comp5|x1-compx|x1-comp5|x1|vfile-status|vfile-handle|sx8-comp5|sx4-comp5|sx2-comp5|sx1-comp5|subsys-params|splitjoin-buf|screen-position|rtncode|request-context|reqhand-service-info|reqhand-service-funcs|reqhand-response|reqhand-funcs|prog-info-params|prog-info-arg-info|printer-properties|printer-name|printer-info|printer-default|ppointer|pointer|os-ssize|os-size|os-offset|os-info-params|os-flags|node-name|nls-msg-params|nls-msg-number-pair|nls-msg-ins-struct|nls-msg-buffer|mouse-shape|mouse-rect|mouse-pos|mouse-event|mem-validate-param|idp-exit-service-funcs|idp-exit-info|HWND|HINSTANCE|get-scr-line-draw-buffer|get-scr-graphics-buffer|generic-attr-value|generic-attr-rgb-values|generic-attr-information|file-status|fileexist-buf|exit-params|exit-info-params|cancel-proc-params|bytestream-handle|alphanum))","name":"support.function.cbltypes.cobol"},{"match":"(?<![-_])(?i:computational-1|comp-1|computational-2|comp-2|computational-3|comp-3|computational-4|comp-4|computational-x|comp-x|computational-5|comp-5|computational-6|comp-6|computational-n|comp-n|packed-decimal|index|float|double|signed-short|unsigned-short|signed-int|unsigned-int|signed-long|unsigned-long|comp|computational|group-usage|usage\\\\sis\\\\sdisplay|usage\\\\sis\\\\sfont|usage\\\\s+display|binary|mutex-pointer|data-pointer|thread-pointer|sempahore-pointer|event-pointer|program-pointer|procedure-pointer|pointer-32|pointer|window|subwindow|control-type|thread|menu|variant|layout-manager|occurs|typedef|any|times|display\\\\s+blank\\\\s+when|blank\\\\s+when|blank\\\\s+screen|blank|usage\\\\sis|is\\\\spartial|usage|justified|just|right|signed|trailing\\\\s+separate|sign|seperate|sql)(?=[).\\\\s])","name":"storage.type.picture.cobol"},{"match":"(?i:byte-length)\\\\s+[0-9]+","name":"storage.type.length.cobol"},{"match":"(?<![-_])(?i:accept|add|address|allocate|cancel|close|commit|compute|continue|delete|disable|display|bell|divide|eject|enable|enter|evaluate|exhibit|named|exit|free|generate|go\\\\s+to|initialize\\\\sonly|initialize|initiate|inspect|merge|end-set|set|end-invoke|invoke\\\\s+run|invoke|move|corresponding|corr|multiply|otherwise|open|sharing|sort-merge|purge|ready?|kept|receive|release|return|rewrite|rounded|rollback|search|send|sort|collating\\\\s+sequence|collating|start|service|subtract|suppress|terminate|then|unlock|string|unstring|validate|write|next|statement|sentence)(?![-0-9A-Z_a-z])","name":"keyword.verb.cobol"},{"match":"(?<![-_])(?i:thread-local)(?![-0-9A-Z_a-z])","name":"keyword.verb.cobol"},{"match":"(\\\\s+|^)(?i:foreground-color|background-color|prompt|underline|reverse-video|no-echo|highlight|blink)(?![-0-9A-Z_a-z])","name":"keyword.screens.cobol"},{"match":"(\\\\s+|^)(?i:bold|high|lowlight|low|background-high|background-low|background-standard)(?![-0-9A-Z_a-z])","name":"invalid.illegal.screens.acu.cobol"},{"match":"(?<![-_])(?i:internal|public|protected|final|private|static|new|abstract|override|readonly|property|async-void|async-value|async)(?=[.\\\\s])","name":"storage.modifier.cobol"},{"match":"[<=>]|<=|>=|<>|[-*+/]|(?<![-_])(?i:b-and|b-or|b-xor|b-exor|b-not|b-left|b-right|and|or|equals?|greater\\\\s+than|less\\\\s+than|greater)(?![-0-9A-Z_a-z])","name":"keyword.operator.cobol"},{"match":"(?i:not\\\\s+at\\\\s+end)(?![-0-9A-Z_a-z])","name":"keyword.verb.cobol"},{"match":"(?<![-_])(?i:not)(?![-0-9A-Z_a-z])","name":"keyword.operator.cobol"},{"match":"(?<![-_])(?i:sysout-flush|sysin|stderr|stdout|csp|stdin|sysipt|sysout|sysprint|syslist|syslst|printer|syserr|console|c01|c02|c03|c04|c05|c06|c07|c08|c09|c10|c11|c12|formfeed|switch-0|switch-10|switch-11|switch-12|switch-13|switch-14|switch-15?|switch-2|switch-3|switch-4|switch-5|switch-6|switch-7|switch-8|switch-9|sw0|sw11|sw12|sw13|sw14|sw15?|sw2|sw3|sw4|sw5|sw6|sw7|sw8|sw9|sw10|lc_all|lc_collate|lc_ctype|lc_messages|lc_monetary|lc_numeric|lc_time|ucs-4|utf-8|utf-16)(?![-0-9A-Z_a-z])","name":"support.type.cobol"},{"match":"(?<![-_])(?i:processing.*procedure|xml-information|xml-text|xml-schemal|xml-declaration)(?![-0-9A-Z_a-z])","name":"keyword.xml.cobol"},{"match":"(?<![-_])(?i:json\\\\s+generate|json|end-json|name\\\\sof)(?![-0-9A-Z_a-z])","name":"keyword.json.cobol"},{"match":"(?<![-_])(?i:modify|inquire|tab|title|event|center|label-offset|cell|help-id|cells|push-button|radio-button|page-layout-screen|entry-field|list-box|label|default-font|id|no-tab|unsorted|color|height|width|bind|thread|erase|modeless|scroll|system|menu|title-bar|wrap|destroy|resizeable|user-gray|large-font|newline|3-d|data-columns|display-columns|alignment|separation|cursor-frame-width|divider-color|drag-color|heading-color|heading-divider-color|num-rows|record-data|tiled-headings|vpadding|centered-headings|column-headings|self-act|cancel-button|vscroll|report-composer|clsid|primary-interface|active-x-control|default-interface|default-source|auto-minimize|auto-resize|resource|engraved|initial-state|frame|acuactivexcontrol|activex-res|grid|box|message|namespace|class-name|module|constructor|version|strong|culture|method|handle|exception-value|read-only|dividers|graphical|indexed|termination-value|permanent|boxed|visible|centered|record-position|convert)(?=[,.;\\\\s]|$)","name":"invalid.illegal.acu.cobol"},{"match":"(?<![-_])(?i:actual|auto|automatic|based-storage|complex|connect|contained|core-index|db-access-control-key|db-data-name|db-exception|db-record-name|db-set-name|db-status|dead-lock|endcobol|end-disable|end-enable|end-send|end-transceive|eos|file-limits?|formatted|sort-status|usage-mode)(?=[,.;\\\\s]|$)","name":"invalid.illegal.netcobol.cobol"},{"match":"(?<![-_])(?i:(?:System|Terminal)-Info)(?![-0-9A-Z_a-z])","name":"support.type.cobol.acu strong"},{"match":"(?<![-_])(?i:alter)(?=[.\\\\s])","name":"invalid.illegal.cobol"},{"match":"(?<![-_])(?i:apply|areas?|clock-units|code|com-reg|controls|dbcs|destination|detail|display-1|ending|every|insert|kanjikey|last|left|less|limits?|memory|metaclass|modules|more-labels|multiple|native_binary|native|negative|number|numeric-edited|other|padding|password|pf|ph|postive|processing|queue|recording|reload|removal|rerun|reserved??|rewind|segment-limit|segment|separate|sequence|skip1|skip2|skip3|standard-1|standard-2|sub-queue-1|sub-queue-2|sub-queue-3|sum|symbolic|synchronized|sync|table|test|text|than|top|trace|trailing|unit|words|write-only|at|basis|beginning|bottom|cbl|cf|ch|de|positive|egcs|egi|emi|end|reversed|rf|rh|run|same|order|heading|esi)(?![-0-9A-Z_a-z])","name":"keyword.ibmreserved.cobol"},{"match":"(?<![-_])(?i:active-class|aligned|anycase|boolean|cols?|condition|ec|eo|system-default|function-pointer)(?![-0-9A-Z_a-z])","name":"strong keyword.potential.reserved.cobol"},{"match":"(?i:filler)","name":"keyword.filler.cobol"},{"match":"(?<![-_])(?i:address-of|date|day-of-week|day|debug-content|debug-item|debug-line|debug-item|debug-sub-1|debug-sub-2|debug-sub-3|shift-in|shift-out|sort-control|sort-core-size|sort-file-size|sort-message|sort-return|sort-mode-size|sort-return|tally|time|when-compiled|line-counter|page-counter|return-code|linage-counter|debug-line|debug-name|debug-contents|json-code|json-status|xml-code|xml-event|xml-information|xml-namespace-prefix|xml-namespace|xml-nnamespace-repfix|xml-nnamespace|xml-ntext|jnienvptr|igy-javaiop-call-exception)(?![-0-9A-Z_a-z])","name":"variable.language"},{"match":"(?<![-_])(?i:shortint1|shortint2|shortint3|shortint4|shortint5|shortint6|shortint7|longint1|longint2|longint3|longint4|longint5|longint6|bigint1|bigint2|blob-locator|clob-locator|dbclob-locator|dbclob-file|blob-file|clob-file|clob|dbclob|blob|varbinary|long-varbinary|time-record|timestamp-record|timestamp-offset-record|timestamp-offset|timestamp|rowid|xml|long-varchar)(?=[().\\\\s])","name":"storage.type.sql.picture.cobol"},{"match":"(?<![-_])(?i:self)","name":"keyword.other.self.cobol"},{"match":"(?<![-_])(?i:super)","name":"keyword.other.super.cobol"},{"match":"^([0-9][0-9][0-9][0-9][0-9][0-9])","name":"constant.numeric.cobol"},{"captures":{"1":{"name":"meta.symbol.cobol"},"2":{"name":"constant.numeric.integer"},"3":{"name":"meta.symbol.cobol"},"4":{"name":"constant.numeric.integer"},"5":{"name":"meta.symbol.cobol"}},"match":"(\\\\()([0-9]*)(:)([0-9]*)(\\\\))"},{"match":"([-0-9A-Z_a-z]*[0-9A-Za-z]|(#?[0-9A-Za-z]+[-0-9A-Z_a-z]*[0-9A-Za-z]))","name":"meta.symbol.cobol"}],"repository":{"cics-keywords":{"match":"(?<![-\\\\w])(?i:abcode|abdump|abend|abort|abprogram|abstime|accum|acee|acqactivity|acqprocess|acquactivity|action|activity|activityid|actpartn|add|address|after|aid|alarm|all|allocate|alter|alternate|altscrnht|altscrnwd|and|anykey|aplkybd|apltext|applid|asa??|asis|asktime|asraintrpt|asrakey|asrapsw|asraregs|asraspc|asrastg|assign|asynchronous|at|attach|attachid|attributes|authenticate|autopage|auxiliary|base64|basicauth|below|bif|binary|bit|bodycharset|bookmark|brdata|brdatalength|brexit|bridge|browsetoken|btrans|buffer|build|burgeability|caddrlength|cancel|card|cbuff|ccsid|certificate|change|changetime|channel|char|characterset|check|chunkend|chunking|chunkno|chunkyes|cicsdatakey|ciphers|class|clear|cliconvert|client|clientaddr|clientaddrnu|clientconv|clientname|clntaddr6nu|clntipfamily|close|closestatus|clrpartn|cmdsec|cnamelength|cnotcompl|codepage|color|commarea|commonname|commonnamlen|comparemax|comparemin|complete|composite|compstatus|condition|confirm|confirmation|connect|consistent|console|container|contexttype|control|convdata|converse|convertst|converttime|convid|copy|counter|country|countrylen|create|critical|ctlchar|current|cursor|cwa|cwaleng|data1??|data2|datalength|datalenth|dataonly|datapointer|dataset|datastr|datatoxml|datatype|datcontainer|date|dateform|datesep|datestring|day|daycount|dayofmonth|dayofweek|dayofyear|days|daysleft|day-of-week|dcounter|ddmmyy|ddmmyyyy|debkey|debrec|debug-contents|debug-item|debug-line|debug-name|debug-sub-1|debug-sub-2|debug-sub-3|deedit|default|define|defresp|defscrnht|defscrnwd|delay|deleteq??|delimiter|deq|destcount|destid|destidleng|detail|detaillength|dfhresp|dfhvalue|digest|digesttype|disconnect|docdelete|docsize|docstatus|doctoken|document|ds3270|dsscs|dump|dumpcode|dumpid|duprec|ecaddr|ecblist|eib|elemname|elemnamelen|elemns|elemnslen|end|endactivity|endbr|endbrowse|endfile|endoutput|enq|enter|entry|entryname|eoc|eods|eprfield|eprfrom|eprinto|eprlength|eprset|eprtype|equal|erase|eraseaup|error|errterm|esmreason|esmresp|event|eventtype|eventual|ewasupp|exception|expect|expirytime|extds|external|extract|facility|facilitytokn|false|faultactlen|faultactor|faultcode|faultcodelen|faultcodestr|faultstring|faultstrlen|fci|fct|field|file|firestatus|flength|fmh|fmhparm|for|force|formattime|formfeed|formfield|free|freekb|freemain|from|fromactivity|fromccsid|fromchannel|fromcodepage|fromdoc|fromflength|fromlength|fromprocess|frset|fulldate|function|gchars|gcodes|gds|generic|get|getmain|getnext|gmmi|groupid|gtec|gteq|handle|head|header|hex|high-values??|hilight|hold|honeom|host|hostcodepage|hostlength|hosttype|hours|httpheader|httpmethod|httprnum|httpversion|httpvnum|ignore|immediate|in|increment|initimg|initparm|initparmlen|inpartn|input|inputevent|inputmsg|inputmsglen|inquire|insert|integer|interval|into|intoccsid|intocodepage|invalidcount|invite|invmpsz|invoke|invokingprog|invpartn|invreq|issuer??|item|iutype|journalname|jtypeid|jusfirst|juslast|justify|katakana|keep|keylength|keynumber|l40|l64|l80|label|langinuse|languagecode|last|lastusetime|ldc|ldcmnem|ldcnum|leavekb|length|lengthlist|level|lightpen|linage-counter|line|lineaddr|line-counter|link|list|listlength|llid|load|locality|localitylen|logmessage|logmode|logonlogmode|logonmsg|low-values??|luname|main|map|mapcolumn|mapfail|mapheight|mapline|maponly|mapped|mappingdev|mapset|mapwidth|massinsert|maxdatalen|maxflength|maximum|maxlength|maxlifetime|maxproclen|mcc|mediatype|message|messageid|metadata|metadatalen|method|methodlength|milliseconds|minimum|minutes|mmddyy|mmddyyyy|mode|modename|monitor|month|monthofyear|move|msr|msrcontrol|name|namelength|natlang|natlanginuse|netname|newpassword|newphrase|newphraselen|next|nexttransid|nleom|noautopage|nocc|nocheck|nocliconvert|noclose|nodata|node|nodocdelete|nodump|noedit|noflush|nohandle|noinconvert|none|nooutconert|noqueue|noquiesce|nosrvconvert|nosuspend|note|notpurgeable|notruncate|nowait|nscontainer|nulls??|numciphers|numevents|numitems|numrec|numroutes|numsegments|numtab|of|oidcard|on|opclass|open|operation|operator|operid|operkeys|operpurge|opid|opsecurity|options|or|orgabcode|organization|organizatlen|orgunit|orgunitlen|outdescr|outline|outpartn|output|owner|pa1|pa2|pa3|page|pagenum|page-counter|paging|parse|partn|partner|partnfail|partnpage|partns|partnset|pass|passbk|password|passwordlen|path|pathlength|pct|pf10??|pf11|pf12|pf13|pf14|pf15|pf16|pf17|pf18|pf19|pf20??|pf21|pf22|pf23|pf24|pf3|pf4|pf5|pf6|pf7|pf8|pf9|pfxleng|phrase|phraselen|piplength|piplist|point|pool|pop|portnumber|portnumnu|post|ppt|predicate|prefix|prepare|princonvid|prinsysid|print|priority|privacy|process|processtype|proclength|procname|profile|program|protect|ps|punch|purge|purgeable|push|put|qname|query|queryparm|querystring|querystrlen|queue|quotes??|random|rba|rbn|rdatt|read|readnext|readprev|readq|reattach|receiver??|recfm|record|recordlen|recordlength|reduce|refparms|refparmslen|relatesindex|relatestype|relatesuri|release|remove|repeatable|repetable|replace|reply|replylength|reqid|requesttype|resclass|reset|resetbr|resid|residlength|resource|resp2??|ressec|restart|restype|result|resume|retain|retcode|retcord|retriece|retrieve|return|returnprog|return-code|rewind|rewrite|ridfld|role|rolelength|rollback|route|routecodes|rprocess|rresource|rrn|rtermid|rtransid|run|saddrlength|scheme|schemename|scope|scopelen|scrnht|scrnwd|seconds|security|segmentlist|send|sender|serialnum|serialnumlen|server|serveraddr|serveraddrnu|serverconv|servername|service|session|sesstoken|set|shared|shift-in|shift-out|sigdata|signal|signoff|signon|sit|snamelength|soapfault|sort-control|sort-core-size|sort-file-size|sort-message|sort-mode-size|sort-return|sosi|spaces??|spoolclose|spoolopen|spoolread|spoolwrite|srvconvert|srvraddr6nu|srvripfamily|ssltype|start|startbr|startbrowse|startcode|state|statelen|stationid|status|statuscode|statuslen|statustext|storage|strfield|stringformat|subaddr|subcodelen|subcodestr|subevent1??|subevent2|subevent3|subevent4|subevent5|subevent6|subevent7|subevent8|sum|suspend|suspstatus|symbol|symbollist|synchronous|synclevel|synconreturn|syncpoint|sysid|tables|tally|task|taskpriority|tcpip|tcpipservice|tct|tctua|tctualeng|td|tellerid|template|termcode|termid|terminal|termpriority|test|text|textkybd|textlength|textprint|time|timeout|timer|timesep|title|to|toactivity|tochannel|tocontainer|toflength|token|tolength|toprocess|trace|tracenum|trailer|tranpriority|transaction|transform|transid|trigger|trt|true|ts|twa|twaleng|type|typename|typenamelen|typens|typenslen|unattend|uncommitted|unescaped|unexpin|unlock|until|uow|update|uri|urimap|url|urllength|userdatakey|userid|username|usernamelen|userpriority|using|validation|value|valuelength|verify|versionlen|volume|volumeleng|wait|waitcics|web|when-compiled|wpmedia1|wpmedia2|wpmedia3|wpmedia4|wrap|writeq??|wsacontext|wsaepr|xctl|xmlcontainer|xmltodata|xmltransform|xrba|year|yyddd|yyddmm|yymmdd|yyyyddd|yyyyddmm|yyyymmdd|zero|zeroes|zeros)(?![-\\\\w])","name":"keyword.verb.cics"},"dli-keywords":{"match":"(?<![-\\\\w])(?i:accept|chkp|deq|dlet|gnp?|gu|isrt|load|log|pos|query|refresh|repl|retrieve|rolb|roll|rols|schd|sets|setu|symchkp|term|xrst)(?![-\\\\w])","name":"keyword.verb.dli"},"dli-options":{"match":"(?<![-\\\\w])(?i:statusgroup|checkpoint|chkp|id|lockclass|segment|info|where|from|using|keyfeedback|feedbacklen|variable|first|last|current|seglength|offset|locked|movenext|getfirst|set|setcond|setzero|setparent|fieldlength|keys|maxlength|length[0-9]*|area[0-9]*|psc|pcs|pcb|sysserve|into)(?![-\\\\w])","name":"keyword.other.dli"},"number-complex-constant":{"match":"([-+])?((([0-9]+(\\\\.[0-9]+))|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([DFLUdflu]|UL|ul)?(?=\\\\s|\\\\.$|[),])","name":"constant.numeric.cobol"},"number-simple-constant":{"match":"([-+])?([0-9]+)(?=\\\\s|\\\\.$|[),])","name":"constant.numeric.cobol"},"string-double-quoted-constant":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"end":"(\\"|$)","endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},"string-quoted-constant":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"end":"('|$)","endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}},"name":"string.quoted.single.cobol"}},"scopeName":"source.cobol","embeddedLangs":["html","java"]}`)),r=[...e,...t,n];export{r as default};
1
+ import{t as e}from"./html-Cayj_2GP.js";import{t}from"./java-Buy07jGn.js";var n=Object.freeze(JSON.parse(`{"displayName":"COBOL","fileTypes":["ccp","scbl","cobol","cbl","cblsrce","cblcpy","lks","pdv","cpy","copybook","cobcopy","fd","sel","scb","scbl","cob","dds","def","src","ss","wks","bib","pco"],"name":"cobol","patterns":[{"match":"^([ *][ *][ *][ *][ *][ *])([Dd]\\\\s.*)$","name":"token.info-token.cobol"},{"captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"comment.line.cobol.newpage"}},"match":"^([ *][ *][ *][ *][ *][ *])(/.*)$"},{"captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"comment.line.cobol.fixed"}},"match":"^([ *][ *][ *][ *][ *][ *])(\\\\*.*)$"},{"captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"comment.line.cobol.newpage"}},"match":"^([0-9\\\\s][0-9\\\\s][0-9\\\\s][0-9\\\\s][0-9\\\\s][0-9\\\\s])(/.*)$"},{"match":"^[0-9\\\\s][0-9\\\\s][0-9\\\\s][0-9\\\\s][0-9\\\\s][0-9\\\\s]$","name":"constant.numeric.cobol"},{"captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"comment.line.cobol.fixed"}},"match":"^([0-9\\\\s][0-9\\\\s][0-9\\\\s][0-9\\\\s][0-9\\\\s][0-9\\\\s])(\\\\*.*)$"},{"captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"comment.line.cobol.fixed"}},"match":"^([- #$%+.0-9@-Za-z\\\\s][- #$%+.0-9@-Za-z\\\\s][- #$%+.0-9@-Za-z\\\\s][- #$%+.0-9@-Za-z\\\\s][- #$%+.0-9@-Za-z\\\\s][- #$%+.0-9@-Za-z\\\\s])(\\\\*.*)$"},{"captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"variable.other.constant"}},"match":"^\\\\s+(78)\\\\s+([0-9A-Za-z][-0-9A-Z_a-z]+)"},{"captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"variable.other.constant"},"3":{"name":"keyword.identifers.cobol"}},"match":"^\\\\s+([0-9]+)\\\\s+([0-9A-Za-z][-0-9A-Z_a-z]+)\\\\s+((?i:constant))"},{"captures":{"1":{"name":"constant.cobol"},"2":{"name":"comment.line.cobol.newpage"}},"match":"^([#$%.0-9@-Za-z\\\\s][#$%.0-9@-Za-z\\\\s][#$%.0-9@-Za-z\\\\s][#$%.0-9@-Za-z\\\\s][#$%.0-9@-Za-z\\\\s][#$%.0-9@-Za-z\\\\s])(/.*)$"},{"match":"^\\\\*.*$","name":"comment.line.cobol.fixed"},{"captures":{"1":{"name":"keyword.control.directive.conditional.cobol"},"2":{"name":"entity.name.function.preprocessor.cobol"},"3":{"name":"entity.name.function.cobol"},"4":{"name":"keyword.control.directive.conditional.cobol"}},"match":"((?:^|\\\\s+)(?i:\\\\$set)\\\\s+)((?i:constant)\\\\s+)([0-9A-Za-z][-0-9A-Za-z]+\\\\s*)([-0-9A-Za-z]*)"},{"captures":{"1":{"name":"entity.name.function.preprocessor.cobol"},"2":{"name":"storage.modifier.import.cobol"},"3":{"name":"punctuation.begin.bracket.round.cobol"},"4":{"name":"string.quoted.other.cobol"},"5":{"name":"punctuation.end.bracket.round.cobol"}},"match":"((?i:\\\\$\\\\s*set\\\\s+)(ilusing)(\\\\()(.*)(\\\\)))"},{"captures":{"1":{"name":"entity.name.function.preprocessor.cobol"},"2":{"name":"storage.modifier.import.cobol"},"3":{"name":"punctuation.definition.string.begin.cobol"},"4":{"name":"string.quoted.other.cobol"},"5":{"name":"punctuation.definition.string.begin.cobol"}},"match":"((?i:\\\\$\\\\s*set\\\\s+)(ilusing)(\\")(.*)(\\"))"},{"captures":{"1":{"name":"keyword.control.directive.conditional.cobol"},"2":{"name":"entity.name.function.preprocessor.cobol"},"3":{"name":"punctuation.definition.string.begin.cobol"},"4":{"name":"string.quoted.other.cobol"},"5":{"name":"punctuation.definition.string.begin.cobol"}},"match":"((?i:\\\\$set))\\\\s+(\\\\w+)\\\\s*(\\")(\\\\w*)(\\")"},{"captures":{"1":{"name":"keyword.control.directive.conditional.cobol"},"2":{"name":"entity.name.function.preprocessor.cobol"},"3":{"name":"punctuation.begin.bracket.round.cobol"},"4":{"name":"string.quoted.other.cobol"},"5":{"name":"punctuation.end.bracket.round.cobol"}},"match":"((?i:\\\\$set))\\\\s+(\\\\w+)\\\\s*(\\\\()(.*)(\\\\))"},{"captures":{"0":{"name":"keyword.control.directive.conditional.cobol"},"1":{"name":"invalid.illegal.directive"},"2":{"name":"comment.line.set.cobol"}},"match":"(?:^|\\\\s+)(?i:\\\\$\\\\s*set\\\\s)((?i:01SHUFFLE|64KPARA|64KSECT|AUXOPT|CHIP|DATALIT|EANIM|EXPANDDATA|FIXING|FLAG-CHIP|MASM|MODEL|OPTSIZE|OPTSPEED|PARAS|PROTMODE|REGPARM|SEGCROSS|SEGSIZE|SIGNCOMPARE|SMALLDD|TABLESEGCROSS|TRICKLECHECK|\\\\s)+).*$"},{"captures":{"1":{"name":"keyword.control.directive.cobol"},"2":{"name":"entity.other.attribute-name.preprocessor.cobol"}},"match":"(\\\\$(?:(?i:region)|(?i:end-region)))(.*)$"},{"begin":"\\\\$(?i:doc)(.*)$","end":"\\\\$(?i:end-doc)(.*)$","name":"invalid.illegal.iscobol"},{"match":">>\\\\s*(?i:turn|page|listing|leap-seconds|d)\\\\s+.*$","name":"invalid.illegal.meta.preprocessor.cobolit"},{"match":"(?i:substitute(?:-case|))\\\\s+","name":"invalid.illegal.functions.cobolit"},{"captures":{"1":{"name":"invalid.illegal.keyword.control.directive.conditional.cobol"},"2":{"name":"invalid.illegal.entity.name.function.preprocessor.cobol"},"3":{"name":"invalid.illegal.entity.name.function.preprocessor.cobol"}},"match":"((((>>|\\\\$)\\\\s*)(?i:elif))(.*))$"},{"captures":{"1":{"name":"keyword.control.directive.conditional.cobol"},"2":{"name":"entity.name.function.preprocessor.cobol"},"3":{"name":"entity.name.function.preprocessor.cobol"}},"match":"((((>>|\\\\$)\\\\s*)(?i:if|else|elif|end-if|end-evaluate|end|define|evaluate|when|display|call-convention|set))(.*))$"},{"captures":{"1":{"name":"comment.line.scantoken.cobol"},"2":{"name":"keyword.cobol"},"3":{"name":"string.cobol"}},"match":"(\\\\*>)\\\\s+(@[0-9A-Za-z][-0-9A-Za-z]+)\\\\s+(.*)$"},{"match":"(\\\\*>.*)$","name":"comment.line.modern"},{"match":"(>>.*)$","name":"strong comment.line.set.cobol"},{"match":"([NUnu][Xx]|[HXhx])'\\\\h*'","name":"constant.numeric.integer.hexadecimal.cobol"},{"match":"([NUnu][Xx]|[HXhx])'.*'","name":"invalid.illegal.hexadecimal.cobol"},{"match":"([NUnu][Xx]|[HXhx])\\"\\\\h*\\"","name":"constant.numeric.integer.hexadecimal.cobol"},{"match":"([NUnu][Xx]|[HXhx])\\".*\\"","name":"invalid.illegal.hexadecimal.cobol"},{"match":"[Bb]\\"[01]\\"","name":"constant.numeric.integer.boolean.cobol"},{"match":"[Bb]'[01]'","name":"constant.numeric.integer.boolean.cobol"},{"match":"[Oo]\\"[0-7]*\\"","name":"constant.numeric.integer.octal.cobol"},{"match":"[Oo]\\".*\\"","name":"invalid.illegal.octal.cobol"},{"match":"(#)([0-9A-Za-z][-0-9A-Za-z]+)","name":"meta.symbol.forced.cobol"},{"begin":"((?<![-()0-9A-Z_a-z])(?i:installation|author|source-computer|object-computer|date-written|security|date-compiled)(\\\\.|$))","beginCaptures":{"0":{"name":"keyword.identifiers.cobol"}},"end":"(?=((?<![-_])(?i:remarks|author|date-written|source-computer|object-computer|installation|date-compiled|special-names|security|environment\\\\s+division|data\\\\s+division|working-storage\\\\s+section|input-output\\\\s+section|linkage\\\\s+section|procedure\\\\s+division|local-storage\\\\s+section)|^[ *][ *][ *][ *][ *][ *]\\\\*.*$|^\\\\+$))","name":"comment.block.cobol.remark","patterns":[{"match":"^([ 0-9][ 0-9][ 0-9][ 0-9][ 0-9][ 0-9])","name":"constant.numeric.cobol"}]},{"captures":{"1":{"name":"keyword.start.bracket.cobol"},"2":{"name":"constant.numeric.cobol"},"3":{"name":"keyword.end.bracket.cobol"}},"match":"(?<=([(\\\\[]))((-\\\\+)*\\\\s*[ *-9]+)(?=([])]))","name":"constant.numeric.cobol"},{"include":"#number-complex-constant"},{"include":"#number-simple-constant"},{"match":"(?<![-_])(?i:true|false|nulls??)(?![-0-9A-Z_a-z])","name":"constant.language.cobol"},{"match":"(?<![-_])(?i:zeroes|alphabetic-lower|alphabetic-upper|alphanumeric-edited|alphabetic|alphabet|alphanumeric|zeros?|spaces?|quotes?|low-values?|high-values?)(?=\\\\s+|[),.])","name":"constant.language.figurative.cobol"},{"begin":"(?i:exec(?:\\\\s+sqlims|\\\\s+sql))","contentName":"meta.embedded.block.openesql","end":"(?i:end-exec)","name":"keyword.verb.cobol","patterns":[{"match":"^(\\\\s*\\\\*.*)$","name":"comment.line.sql"},{"match":"(--.*)$","name":"comment.line.sql"},{"match":"(\\\\*>.*)$","name":"comment.line.modern"},{"match":"(:([-0-9A-Z_a-z])*)","name":"variable.cobol"},{"include":"source.openesql"}]},{"begin":"(?i:exec\\\\s+cics)","contentName":"meta.embedded.block.cics","end":"(?i:end-exec)","name":"keyword.verb.cobol","patterns":[{"match":"(\\\\()","name":"meta.symbol.cobol"},{"include":"#cics-keywords"},{"include":"#string-double-quoted-constant"},{"include":"#string-quoted-constant"},{"include":"#number-complex-constant"},{"include":"#number-simple-constant"},{"match":"([-0-9A-Z_a-z]*[0-9A-Za-z]|(#?[0-9A-Za-z]+[-0-9A-Z_a-z]*[0-9A-Za-z]))","name":"variable.cobol"}]},{"begin":"(?i:exec\\\\s+dli)","contentName":"meta.embedded.block.dli","end":"(?i:end-exec)","name":"keyword.verb.cobol","patterns":[{"match":"(\\\\()","name":"meta.symbol.cobol"},{"include":"#dli-keywords"},{"include":"#dli-options"},{"include":"#string-double-quoted-constant"},{"include":"#string-quoted-constant"},{"include":"#number-complex-constant"},{"include":"#number-simple-constant"},{"match":"([-0-9A-Z_a-z]*[0-9A-Za-z]|(#?[0-9A-Za-z]+[-0-9A-Z_a-z]*[0-9A-Za-z]))","name":"variable.cobol"}]},{"begin":"(?i:exec\\\\s+sqlims)","contentName":"meta.embedded.block.openesql","end":"(?i:end-exec)","name":"keyword.verb.cobol","patterns":[{"match":"(\\\\*>.*)$","name":"comment.line.modern"},{"match":"(:([-A-Za-z])*)","name":"variable.cobol"},{"include":"source.openesql"}]},{"begin":"(?i:exec\\\\s+ado)","contentName":"meta.embedded.block.openesql","end":"(?i:end-exec)","name":"keyword.verb.cobol","patterns":[{"match":"(--.*)$","name":"comment.line.sql"},{"match":"(\\\\*>.*)$","name":"comment.line.modern"},{"match":"(:([-A-Za-z])*)","name":"variable.cobol"},{"include":"source.openesql"}]},{"begin":"(?i:exec\\\\s+html)","contentName":"meta.embedded.block.html","end":"(?i:end-exec)","name":"keyword.verb.cobol","patterns":[{"include":"text.html.basic"}]},{"begin":"(?i:exec\\\\s+java)","contentName":"meta.embedded.block.java","end":"(?i:end-exec)","name":"keyword.verb.cobol","patterns":[{"include":"source.java"}]},{"captures":{"1":{"name":"punctuation.definition.string.begin.cobol"},"2":{"name":"support.function.cobol"},"3":{"name":"punctuation.definition.string.end.cobol"}},"match":"(\\")(CBL_.*)(\\")"},{"captures":{"1":{"name":"punctuation.definition.string.begin.cobol"},"2":{"name":"support.function.cobol"},"3":{"name":"punctuation.definition.string.end.cobol"}},"match":"(\\")(PC_.*)(\\")"},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"end":"(\\"|$)","endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}},"name":"string.quoted.double.cobol"},{"captures":{"1":{"name":"punctuation.definition.string.begin.cobol"},"2":{"name":"support.function.cobol"},"3":{"name":"punctuation.definition.string.end.cobol"}},"match":"(')(CBL_.*)(')"},{"captures":{"1":{"name":"punctuation.definition.string.begin.cobol"},"2":{"name":"support.function.cobol"},"3":{"name":"punctuation.definition.string.end.cobol"}},"match":"(')(PC_.*)(')"},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"end":"('|$)","endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}},"name":"string.quoted.single.cobol"},{"begin":"(?<![-\\\\w])[GZgz]\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"end":"(\\"|$)","endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}},"name":"string.quoted.double.cobol"},{"begin":"(?<![-\\\\w])[GZgz]'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}},"name":"string.quoted.single.cobol"},{"begin":"(?<![-\\\\w])[GNgn]\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"end":"(\\"|$)","endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}},"name":"string.quoted.double.cobol"},{"begin":"(?<![-\\\\w])[GNgn]'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}},"name":"string.quoted.single.cobol"},{"begin":"(?<![-\\\\w])[Uu]\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"end":"(\\"|$)","endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}},"name":"string.quoted.utf8.double.cobol"},{"begin":"(?<![-\\\\w])[Uu]'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}},"name":"string.quoted.utf8.single.cobol"},{"match":"(?<![-_])(?i:id\\\\s+division|identification\\\\s+division|identification|id|property-id|getter|setter|entry|function-id|end\\\\s+attribute|attribute|interface-id|indexer-id|factory|ctl|class-control|options|environment\\\\s+division|environment-name|environment-value|environment|configuration\\\\s+section|configuration|decimal-point\\\\s+is|decimal-point|console\\\\s+is|call-convention|special-names|cursor\\\\s+is|update|picture\\\\s+symbol|currency\\\\s+sign|currency|repository|input-output\\\\s+section|input-output|file\\\\s+section|file-control|select|optional|i-o-control|data\\\\s+division|working-storage\\\\s+section|working-storage|section|local-storage|linkage\\\\s+section|linkage|communication|report|screen\\\\s+section|object-storage|object\\\\s+section|class-object|fd|rd|cd|sd|printing|procedure\\\\s+division|procedure|division|references|debugging|end\\\\s+declaratives|declaratives|end\\\\s+static|end\\\\s+factory|end\\\\s+class-object|based-storage|size|font|national-edited|national)(?![-0-9A-Z_a-z])","name":"keyword.identifiers.cobol"},{"captures":{"1":{"name":"keyword.verb.cobol"},"2":{"name":"entity.name.function.cobol"}},"match":"(?<![-_])((?i:valuetype-id|operator-id|method-id|method|property-id|attribute-id|enum-id|iterator-id|class-id|program-id|operator-id|end\\\\s+program|end\\\\s+valuetype|extension))\\\\.*\\\\s+([-0-9A-Z_a-z]*)"},{"match":"(?<![-_])(?i:implements|inherits|constraints|constrain)(?=[.\\\\s])","name":"keyword.verb.cobol"},{"match":"(?<![-_])(?i:end\\\\s+enum|end\\\\s+interface|end\\\\s+class|end\\\\s+property|end\\\\s+method|end\\\\s+object|end\\\\s+iterator|end\\\\s+function|end\\\\s+operator|end\\\\s+program|end\\\\s+indexer|create|reset|instance|delegate|end-delegate|delegate-id|declare|exception-object|as|stop\\\\s+iterator|stop\\\\s+run|stop)(?=[),.\\\\s])","name":"keyword.identifiers.cobol"},{"match":"\\\\s+(?i:attach\\\\s+method|attach\\\\s+del|attach|detach\\\\s+del|detach\\\\s+method|detach|method|del)(?=[.\\\\s]|$)","name":"keyword.identifiers.cobol"},{"match":"\\\\s+(?i:sync\\\\s+(?i:on))(?=[.\\\\s])","name":"keyword.other.sync.cobol"},{"match":"\\\\s+(?i:try|finally|catch|end-try|throw)(?=[.\\\\s]|$)","name":"keyword.control.catch-exception.cobol"},{"match":"(?<![-_])(?i:select|use|thru|varying|giving|remainder|tallying|through|until|execute|returning|using|chaining|yielding|\\\\+\\\\+include|copy|replace)(?=\\\\s)","name":"keyword.otherverb.cobol"},{"match":"(?i:dynamic)\\\\s+(?i:length)(?=[.\\\\s])","name":"storage.type.dynamiclength.cobol"},{"match":"(?<![-_])(?i:assign|external|prototype|organization|organisation|indexed|column|plus|line\\\\*s*sequential|sequential|access|dynamic|relative|label|block|contains|standard|records|record\\\\s+key|record|is|alternate|duplicates|reel|tape|terminal|disk\\\\sfilename|disk|disc|recording\\\\smode|mode|random)(?=[.\\\\s])","name":"keyword.identifers.cobol"},{"match":"(?<![-_])(?i:max|min|integer-of-date|integer-of-day|integer-part|integer|date-to-yyyymmdd|year-to-yyyy|day-to-yyyyddd|exp|exception-file|exception-location|exception-statement|exception-status|e|variance|integer-of-date|rem|pi|factorial|sqrt|log10|fraction-part|mean|exp|log|char|day-of-integer|date-of-integer|exp10|atan|integer-part|tan|sin|cos|midrange|addr|acos|asin|annuity|present-value|integer-of-day|ord-max|ord-min|ord|random|integer-of-date|sum|standard-deviation|median|reverse|abs|upper-case|lower-case|char-national|numval|mod|range|length|locale-date|locale-time-from-seconds|locale-time|seconds-past-midnight|stored-char-length|seconds-from-formatted-time|seconds-past-midnight|trim|length-an|numval-c|current-date|national-of|display-of|when-compiled|integer-of-boolean|combined-datetime|concatenate)(?=[().\\\\s])","name":"support.function.cobol"},{"captures":{"0":{"name":"support.function.cics.cobol"},"1":{"name":"punctuation.definition.string.end.cobol"},"2":{"name":"keyword.identifers.cobol"},"3":{"name":"punctuation.definition.string.end.cobol"}},"match":"(?<![-_])(?i:DFH(?:RESP|VALUE))(\\\\s*\\\\(\\\\s*)([A-Za-z]*)(\\\\s*\\\\))"},{"match":"(?<![-_])(?i:function)(?=[.\\\\s])","name":"keyword.verb.cobol"},{"match":"(?<![-_])(?i:end-accept|end-add|end-sync|end-compute|end-delete|end-display|end-divide|end-set|end-multiply|end-of-page|end-read|end-receive|end-return|end-rewrite|end-search|end-start|end-string|end-subtract|end-unstring|end-write|program|class|interface|enum|interface)(?![-0-9A-Z_a-z])","name":"keyword.verb.cobol"},{"match":"(?<![-_])(?:by value|by reference|by content|property-value)(?![-0-9A-Z_a-z])","name":"keyword.other.cobol"},{"match":"(?<![-_])(?i:attr-string|automatic|auto-skip|footing|next|group|indicate|source|control|full|required|of|input|output|i-o|extend|file|error|exception|overflow|goto|off|on|proceed|procedures?|through|invalid|data|normal|eop|returning|to|for|giving|into|by|params|remainder|also|numeric|free|depending|converting|replacing|after|before|all|leading|first|recursive|initialized|global|common|initial|resident|reference|content|are\\\\sstandard|are|renames|like|format\\\\stime|values|omitted|value|constant|ascending|descending|key|retry|until|varying|with|no|advancing|up|down|uccurs|ignore\\\\s+lock|lock|length|delimited|count|delimiter|redefines|from\\\\s+console|from\\\\s+command-line|from\\\\s+user\\\\s+name|from\\\\s+day\\\\s+yyyyddd|from\\\\s+day|from\\\\s+time|from\\\\s+day-of-week|from\\\\s+escape|from\\\\s+day\\\\s+yyyyddd|from\\\\s+date\\\\s+yyyymmdd|from\\\\s+date|from|raising|crt\\\\s+status|status|class|upon\\\\s+crt|upon|lines|columns|step|linage|auto|line|position|col|reports|code-set|reporting|arithmetic|localize|program|class|interface|in|at\\\\s+end|page|name)(?![-0-9A-Z_a-z])","name":"keyword.identifers.cobol"},{"captures":{"0":{"name":"keyword.verb.cobol"},"1":{"name":"storage.type.cobol"}},"match":"(?<![-_])(?i:type|new)\\\\s+([A-Za-z][-$.0-9A-Z_a-z]*|[A-Za-z])(?=\\\\.$)"},{"match":"(?<![-_])(?i:string)(?=\\\\s+value|\\\\.)","name":"storage.type.cobol"},{"match":"(?<![-_])(?i:bit|byte|binary-char|binary-char-unsigned|binary-short|binary-short-unsigned|binary.long|binary-c-long|binary-long-unsigned|binary-long|binary-double|binary-double-unsigned|float-short|float-extended|float-long|bit|condition-value|characters|character\\\\s+type|character|comma|crt|decimal|object\\\\+sreference|object-reference|object|list|dictionary|unsigned)(?=[],.\\\\[\\\\s])","name":"storage.type.cobol"},{"captures":{"1":{"name":"keyword.other.verb.cobol"},"2":{"name":"meta.symbol.cobol"}},"match":"(operator-id\\\\s+[-*+/])","name":"keyword.operator-id.cobol"},{"captures":{"1":{"name":"punctuation.accessor.cobol.b3"},"2":{"name":"entity.name.function.b3"}},"match":"(?i:self)(::)([-.0-9A-Z_a-z]*)(?=\\\\.$)"},{"captures":{"1":{"name":"punctuation.accessor.cobol"},"2":{"name":"entity.name.function.cobol"}},"match":"(::)([-.0-9A-Z_a-z]*)"},{"captures":{"0":{"name":"keyword.verb.cobol.aa"},"1":{"name":"storage.type.cobol.bb"}},"match":"(?<![-_])(?i:type)\\\\s+([.0-9A-Za-z]*)"},{"match":"(?<![-_])(?i:if|else|end-if|exit\\\\s+iterator|exit\\\\s+program|exit\\\\s+method|evaluate|end-evaluate|exit\\\\s+perform|perform|end-perform|when\\\\s+other|when|continue|call|end-call|chain|end-chain|invoke|end\\\\s+invoke|end-xml|go\\\\s+to|go|sort|merge|use|xml\\\\s+parse|xml|top\\\\s+run|goback\\\\s+returning|goback|raise|exit\\\\s+function|exit\\\\sparagraph|await)(?![-0-9A-Z_a-z])","name":"keyword.control.cobol"},{"captures":{"1":{"name":"storage.type.picture10.cobol"},"2":{"name":"constant.numeric.cobol"},"3":{"name":"storage.type.picture10.cobol"},"4":{"name":"constant.numeric.cobol"}},"match":"(?<![-_])((?i:pic(?:ture\\\\s+is|ture|\\\\s+is|))\\\\s+[$*-09ABNPSUXZabnpsuxz]*)\\\\(([0-9]*)\\\\)([Vv][$*-09ABNPSUXZabnpsuxz]*)\\\\(([0-9]*)\\\\)[-+|]"},{"captures":{"1":{"name":"storage.type.picture9.cobol"},"2":{"name":"constant.numeric.cobol"},"3":{"name":"storage.type.picture9.cobol"},"4":{"name":"constant.numeric.cobol"}},"match":"(?<![-_])((?i:pic(?:ture\\\\s+is|ture|\\\\s+is|))\\\\s+[$*-09ABNPSUXZabnpsuxz]*)\\\\(([0-9]*)\\\\)([Vv][$*-09ABNPSUXZabnpsuxz]*)\\\\(([0-9]*)\\\\)"},{"captures":{"1":{"name":"storage.type.picture8.cobol"},"2":{"name":"constant.numeric.cobol"},"3":{"name":"storage.type.picture8.cobol"}},"match":"(?<![-_])((?i:pic(?:ture\\\\s+is|ture|\\\\s+is|))\\\\s+[$*-09ABNPSUXZabnpsuxz]*)\\\\(([0-9]*)\\\\)([.Vv][$*-\\\\-/09ABNSUXZabnsuxz]*[().0-9])*"},{"match":"(?<![-_])(?i:pic(?:ture\\\\s+is|ture|\\\\s+is|))\\\\s+[$*-09ABNPSUXZabnpsuxz]*\\\\([0-9]*\\\\)[.Vv][$*-\\\\-/09ABNPSUXZabnpsuxz]*","name":"storage.type.picture7.cobol"},{"match":"(?<![-_])(?i:pic(?:ture\\\\s+is|ture|\\\\s+is|))\\\\s+[$*-09ABNPSUXZabnpsuxz]*\\\\([0-9]*\\\\)[$*-\\\\-/09ABNPSUXZabnpsuxz]*[.Vv][$*-\\\\-/09ABNPSUXZabnpsuxz]*","name":"storage.type.picture6.cobol"},{"captures":{"1":{"name":"storage.type.picture5.cobol"},"2":{"name":"constant.numeric.cobol"}},"match":"(?<![-_])((?i:pic(?:ture\\\\s+is|ture|\\\\s+is|))\\\\s+[$*-09ABNPSUXZabnpsuxz]*)\\\\(([0-9]*)\\\\)[$*-\\\\-/09ABNPSUXZabnpsuxz]*"},{"match":"(?<![-_])(?i:pic(?:ture\\\\s+is|ture|\\\\s+is|))\\\\s+[$*-09ABNSUXZabnpsuxz]*\\\\([0-9]*\\\\)","name":"storage.type.picture4.cobol"},{"match":"(?<![-_])(?i:pic(?:ture\\\\s+is|ture|\\\\s+is|))\\\\s+[Ss]?[9ABNSUXZabnsuxz]*[Vv][9AUXZabuxz]*\\\\([0-9]*\\\\)","name":"storage.type.picture3.cobol"},{"match":"(?<![-_])(?i:pic(?:ture\\\\s+is|ture|\\\\s+is|))\\\\s+[Ss]?[9ABNSUXZabnsuxz]*[Vv][9AUXZabuxz]*","name":"storage.type.picture2.cobol"},{"match":"(?<![-_])(?i:pic(?:ture\\\\s+is|ture|\\\\s+is|))\\\\s+[$*-/9ABNPSUVXZabnpsuvxz]*","name":"storage.type.picture1.cobol"},{"captures":{"1":{"name":"invalid.illegal.keyword.verb.acu.cobol"},"2":{"name":"invalid.illegal.constant.numeric.integer"}},"match":"((?<![-_])(?i:binary|computational-4|comp-4|computational-5|comp-5))\\\\(([0-9]*)\\\\)"},{"match":"(?i:cblt-(?:x1-compx-const|x2-compx-const|x4-compx-const|alphanum-const|x9-compx|x8-compx|x8-comp5|x4-compx|x4-comp5|x2-compx|x2-comp5|x1-compx|x1-comp5|x1|vfile-status|vfile-handle|sx8-comp5|sx4-comp5|sx2-comp5|sx1-comp5|subsys-params|splitjoin-buf|screen-position|rtncode|request-context|reqhand-service-info|reqhand-service-funcs|reqhand-response|reqhand-funcs|prog-info-params|prog-info-arg-info|printer-properties|printer-name|printer-info|printer-default|ppointer|pointer|os-ssize|os-size|os-offset|os-info-params|os-flags|node-name|nls-msg-params|nls-msg-number-pair|nls-msg-ins-struct|nls-msg-buffer|mouse-shape|mouse-rect|mouse-pos|mouse-event|mem-validate-param|idp-exit-service-funcs|idp-exit-info|HWND|HINSTANCE|get-scr-line-draw-buffer|get-scr-graphics-buffer|generic-attr-value|generic-attr-rgb-values|generic-attr-information|file-status|fileexist-buf|exit-params|exit-info-params|cancel-proc-params|bytestream-handle|alphanum))","name":"support.function.cbltypes.cobol"},{"match":"(?<![-_])(?i:computational-1|comp-1|computational-2|comp-2|computational-3|comp-3|computational-4|comp-4|computational-x|comp-x|computational-5|comp-5|computational-6|comp-6|computational-n|comp-n|packed-decimal|index|float|double|signed-short|unsigned-short|signed-int|unsigned-int|signed-long|unsigned-long|comp|computational|group-usage|usage\\\\sis\\\\sdisplay|usage\\\\sis\\\\sfont|usage\\\\s+display|binary|mutex-pointer|data-pointer|thread-pointer|sempahore-pointer|event-pointer|program-pointer|procedure-pointer|pointer-32|pointer|window|subwindow|control-type|thread|menu|variant|layout-manager|occurs|typedef|any|times|display\\\\s+blank\\\\s+when|blank\\\\s+when|blank\\\\s+screen|blank|usage\\\\sis|is\\\\spartial|usage|justified|just|right|signed|trailing\\\\s+separate|sign|seperate|sql)(?=[).\\\\s])","name":"storage.type.picture.cobol"},{"match":"(?i:byte-length)\\\\s+[0-9]+","name":"storage.type.length.cobol"},{"match":"(?<![-_])(?i:accept|add|address|allocate|cancel|close|commit|compute|continue|delete|disable|display|bell|divide|eject|enable|enter|evaluate|exhibit|named|exit|free|generate|go\\\\s+to|initialize\\\\sonly|initialize|initiate|inspect|merge|end-set|set|end-invoke|invoke\\\\s+run|invoke|move|corresponding|corr|multiply|otherwise|open|sharing|sort-merge|purge|ready?|kept|receive|release|return|rewrite|rounded|rollback|search|send|sort|collating\\\\s+sequence|collating|start|service|subtract|suppress|terminate|then|unlock|string|unstring|validate|write|next|statement|sentence)(?![-0-9A-Z_a-z])","name":"keyword.verb.cobol"},{"match":"(?<![-_])(?i:thread-local)(?![-0-9A-Z_a-z])","name":"keyword.verb.cobol"},{"match":"(\\\\s+|^)(?i:foreground-color|background-color|prompt|underline|reverse-video|no-echo|highlight|blink)(?![-0-9A-Z_a-z])","name":"keyword.screens.cobol"},{"match":"(\\\\s+|^)(?i:bold|high|lowlight|low|background-high|background-low|background-standard)(?![-0-9A-Z_a-z])","name":"invalid.illegal.screens.acu.cobol"},{"match":"(?<![-_])(?i:internal|public|protected|final|private|static|new|abstract|override|readonly|property|async-void|async-value|async)(?=[.\\\\s])","name":"storage.modifier.cobol"},{"match":"[<=>]|<=|>=|<>|[-*+/]|(?<![-_])(?i:b-and|b-or|b-xor|b-exor|b-not|b-left|b-right|and|or|equals?|greater\\\\s+than|less\\\\s+than|greater)(?![-0-9A-Z_a-z])","name":"keyword.operator.cobol"},{"match":"(?i:not\\\\s+at\\\\s+end)(?![-0-9A-Z_a-z])","name":"keyword.verb.cobol"},{"match":"(?<![-_])(?i:not)(?![-0-9A-Z_a-z])","name":"keyword.operator.cobol"},{"match":"(?<![-_])(?i:sysout-flush|sysin|stderr|stdout|csp|stdin|sysipt|sysout|sysprint|syslist|syslst|printer|syserr|console|c01|c02|c03|c04|c05|c06|c07|c08|c09|c10|c11|c12|formfeed|switch-0|switch-10|switch-11|switch-12|switch-13|switch-14|switch-15?|switch-2|switch-3|switch-4|switch-5|switch-6|switch-7|switch-8|switch-9|sw0|sw11|sw12|sw13|sw14|sw15?|sw2|sw3|sw4|sw5|sw6|sw7|sw8|sw9|sw10|lc_all|lc_collate|lc_ctype|lc_messages|lc_monetary|lc_numeric|lc_time|ucs-4|utf-8|utf-16)(?![-0-9A-Z_a-z])","name":"support.type.cobol"},{"match":"(?<![-_])(?i:processing.*procedure|xml-information|xml-text|xml-schemal|xml-declaration)(?![-0-9A-Z_a-z])","name":"keyword.xml.cobol"},{"match":"(?<![-_])(?i:json\\\\s+generate|json|end-json|name\\\\sof)(?![-0-9A-Z_a-z])","name":"keyword.json.cobol"},{"match":"(?<![-_])(?i:modify|inquire|tab|title|event|center|label-offset|cell|help-id|cells|push-button|radio-button|page-layout-screen|entry-field|list-box|label|default-font|id|no-tab|unsorted|color|height|width|bind|thread|erase|modeless|scroll|system|menu|title-bar|wrap|destroy|resizeable|user-gray|large-font|newline|3-d|data-columns|display-columns|alignment|separation|cursor-frame-width|divider-color|drag-color|heading-color|heading-divider-color|num-rows|record-data|tiled-headings|vpadding|centered-headings|column-headings|self-act|cancel-button|vscroll|report-composer|clsid|primary-interface|active-x-control|default-interface|default-source|auto-minimize|auto-resize|resource|engraved|initial-state|frame|acuactivexcontrol|activex-res|grid|box|message|namespace|class-name|module|constructor|version|strong|culture|method|handle|exception-value|read-only|dividers|graphical|indexed|termination-value|permanent|boxed|visible|centered|record-position|convert)(?=[,.;\\\\s]|$)","name":"invalid.illegal.acu.cobol"},{"match":"(?<![-_])(?i:actual|auto|automatic|based-storage|complex|connect|contained|core-index|db-access-control-key|db-data-name|db-exception|db-record-name|db-set-name|db-status|dead-lock|endcobol|end-disable|end-enable|end-send|end-transceive|eos|file-limits?|formatted|sort-status|usage-mode)(?=[,.;\\\\s]|$)","name":"invalid.illegal.netcobol.cobol"},{"match":"(?<![-_])(?i:(?:System|Terminal)-Info)(?![-0-9A-Z_a-z])","name":"support.type.cobol.acu strong"},{"match":"(?<![-_])(?i:alter)(?=[.\\\\s])","name":"invalid.illegal.cobol"},{"match":"(?<![-_])(?i:apply|areas?|clock-units|code|com-reg|controls|dbcs|destination|detail|display-1|ending|every|insert|kanjikey|last|left|less|limits?|memory|metaclass|modules|more-labels|multiple|native_binary|native|negative|number|numeric-edited|other|padding|password|pf|ph|postive|processing|queue|recording|reload|removal|rerun|reserved??|rewind|segment-limit|segment|separate|sequence|skip1|skip2|skip3|standard-1|standard-2|sub-queue-1|sub-queue-2|sub-queue-3|sum|symbolic|synchronized|sync|table|test|text|than|top|trace|trailing|unit|words|write-only|at|basis|beginning|bottom|cbl|cf|ch|de|positive|egcs|egi|emi|end|reversed|rf|rh|run|same|order|heading|esi)(?![-0-9A-Z_a-z])","name":"keyword.ibmreserved.cobol"},{"match":"(?<![-_])(?i:active-class|aligned|anycase|boolean|cols?|condition|ec|eo|system-default|function-pointer)(?![-0-9A-Z_a-z])","name":"strong keyword.potential.reserved.cobol"},{"match":"(?i:filler)","name":"keyword.filler.cobol"},{"match":"(?<![-_])(?i:address-of|date|day-of-week|day|debug-content|debug-item|debug-line|debug-item|debug-sub-1|debug-sub-2|debug-sub-3|shift-in|shift-out|sort-control|sort-core-size|sort-file-size|sort-message|sort-return|sort-mode-size|sort-return|tally|time|when-compiled|line-counter|page-counter|return-code|linage-counter|debug-line|debug-name|debug-contents|json-code|json-status|xml-code|xml-event|xml-information|xml-namespace-prefix|xml-namespace|xml-nnamespace-repfix|xml-nnamespace|xml-ntext|jnienvptr|igy-javaiop-call-exception)(?![-0-9A-Z_a-z])","name":"variable.language"},{"match":"(?<![-_])(?i:shortint1|shortint2|shortint3|shortint4|shortint5|shortint6|shortint7|longint1|longint2|longint3|longint4|longint5|longint6|bigint1|bigint2|blob-locator|clob-locator|dbclob-locator|dbclob-file|blob-file|clob-file|clob|dbclob|blob|varbinary|long-varbinary|time-record|timestamp-record|timestamp-offset-record|timestamp-offset|timestamp|rowid|xml|long-varchar)(?=[().\\\\s])","name":"storage.type.sql.picture.cobol"},{"match":"(?<![-_])(?i:self)","name":"keyword.other.self.cobol"},{"match":"(?<![-_])(?i:super)","name":"keyword.other.super.cobol"},{"match":"^([0-9][0-9][0-9][0-9][0-9][0-9])","name":"constant.numeric.cobol"},{"captures":{"1":{"name":"meta.symbol.cobol"},"2":{"name":"constant.numeric.integer"},"3":{"name":"meta.symbol.cobol"},"4":{"name":"constant.numeric.integer"},"5":{"name":"meta.symbol.cobol"}},"match":"(\\\\()([0-9]*)(:)([0-9]*)(\\\\))"},{"match":"([-0-9A-Z_a-z]*[0-9A-Za-z]|(#?[0-9A-Za-z]+[-0-9A-Z_a-z]*[0-9A-Za-z]))","name":"meta.symbol.cobol"}],"repository":{"cics-keywords":{"match":"(?<![-\\\\w])(?i:abcode|abdump|abend|abort|abprogram|abstime|accum|acee|acqactivity|acqprocess|acquactivity|action|activity|activityid|actpartn|add|address|after|aid|alarm|all|allocate|alter|alternate|altscrnht|altscrnwd|and|anykey|aplkybd|apltext|applid|asa??|asis|asktime|asraintrpt|asrakey|asrapsw|asraregs|asraspc|asrastg|assign|asynchronous|at|attach|attachid|attributes|authenticate|autopage|auxiliary|base64|basicauth|below|bif|binary|bit|bodycharset|bookmark|brdata|brdatalength|brexit|bridge|browsetoken|btrans|buffer|build|burgeability|caddrlength|cancel|card|cbuff|ccsid|certificate|change|changetime|channel|char|characterset|check|chunkend|chunking|chunkno|chunkyes|cicsdatakey|ciphers|class|clear|cliconvert|client|clientaddr|clientaddrnu|clientconv|clientname|clntaddr6nu|clntipfamily|close|closestatus|clrpartn|cmdsec|cnamelength|cnotcompl|codepage|color|commarea|commonname|commonnamlen|comparemax|comparemin|complete|composite|compstatus|condition|confirm|confirmation|connect|consistent|console|container|contexttype|control|convdata|converse|convertst|converttime|convid|copy|counter|country|countrylen|create|critical|ctlchar|current|cursor|cwa|cwaleng|data1??|data2|datalength|datalenth|dataonly|datapointer|dataset|datastr|datatoxml|datatype|datcontainer|date|dateform|datesep|datestring|day|daycount|dayofmonth|dayofweek|dayofyear|days|daysleft|day-of-week|dcounter|ddmmyy|ddmmyyyy|debkey|debrec|debug-contents|debug-item|debug-line|debug-name|debug-sub-1|debug-sub-2|debug-sub-3|deedit|default|define|defresp|defscrnht|defscrnwd|delay|deleteq??|delimiter|deq|destcount|destid|destidleng|detail|detaillength|dfhresp|dfhvalue|digest|digesttype|disconnect|docdelete|docsize|docstatus|doctoken|document|ds3270|dsscs|dump|dumpcode|dumpid|duprec|ecaddr|ecblist|eib|elemname|elemnamelen|elemns|elemnslen|end|endactivity|endbr|endbrowse|endfile|endoutput|enq|enter|entry|entryname|eoc|eods|eprfield|eprfrom|eprinto|eprlength|eprset|eprtype|equal|erase|eraseaup|error|errterm|esmreason|esmresp|event|eventtype|eventual|ewasupp|exception|expect|expirytime|extds|external|extract|facility|facilitytokn|false|faultactlen|faultactor|faultcode|faultcodelen|faultcodestr|faultstring|faultstrlen|fci|fct|field|file|firestatus|flength|fmh|fmhparm|for|force|formattime|formfeed|formfield|free|freekb|freemain|from|fromactivity|fromccsid|fromchannel|fromcodepage|fromdoc|fromflength|fromlength|fromprocess|frset|fulldate|function|gchars|gcodes|gds|generic|get|getmain|getnext|gmmi|groupid|gtec|gteq|handle|head|header|hex|high-values??|hilight|hold|honeom|host|hostcodepage|hostlength|hosttype|hours|httpheader|httpmethod|httprnum|httpversion|httpvnum|ignore|immediate|in|increment|initimg|initparm|initparmlen|inpartn|input|inputevent|inputmsg|inputmsglen|inquire|insert|integer|interval|into|intoccsid|intocodepage|invalidcount|invite|invmpsz|invoke|invokingprog|invpartn|invreq|issuer??|item|iutype|journalname|jtypeid|jusfirst|juslast|justify|katakana|keep|keylength|keynumber|l40|l64|l80|label|langinuse|languagecode|last|lastusetime|ldc|ldcmnem|ldcnum|leavekb|length|lengthlist|level|lightpen|linage-counter|line|lineaddr|line-counter|link|list|listlength|llid|load|locality|localitylen|logmessage|logmode|logonlogmode|logonmsg|low-values??|luname|main|map|mapcolumn|mapfail|mapheight|mapline|maponly|mapped|mappingdev|mapset|mapwidth|massinsert|maxdatalen|maxflength|maximum|maxlength|maxlifetime|maxproclen|mcc|mediatype|message|messageid|metadata|metadatalen|method|methodlength|milliseconds|minimum|minutes|mmddyy|mmddyyyy|mode|modename|monitor|month|monthofyear|move|msr|msrcontrol|name|namelength|natlang|natlanginuse|netname|newpassword|newphrase|newphraselen|next|nexttransid|nleom|noautopage|nocc|nocheck|nocliconvert|noclose|nodata|node|nodocdelete|nodump|noedit|noflush|nohandle|noinconvert|none|nooutconert|noqueue|noquiesce|nosrvconvert|nosuspend|note|notpurgeable|notruncate|nowait|nscontainer|nulls??|numciphers|numevents|numitems|numrec|numroutes|numsegments|numtab|of|oidcard|on|opclass|open|operation|operator|operid|operkeys|operpurge|opid|opsecurity|options|or|orgabcode|organization|organizatlen|orgunit|orgunitlen|outdescr|outline|outpartn|output|owner|pa1|pa2|pa3|page|pagenum|page-counter|paging|parse|partn|partner|partnfail|partnpage|partns|partnset|pass|passbk|password|passwordlen|path|pathlength|pct|pf10??|pf11|pf12|pf13|pf14|pf15|pf16|pf17|pf18|pf19|pf20??|pf21|pf22|pf23|pf24|pf3|pf4|pf5|pf6|pf7|pf8|pf9|pfxleng|phrase|phraselen|piplength|piplist|point|pool|pop|portnumber|portnumnu|post|ppt|predicate|prefix|prepare|princonvid|prinsysid|print|priority|privacy|process|processtype|proclength|procname|profile|program|protect|ps|punch|purge|purgeable|push|put|qname|query|queryparm|querystring|querystrlen|queue|quotes??|random|rba|rbn|rdatt|read|readnext|readprev|readq|reattach|receiver??|recfm|record|recordlen|recordlength|reduce|refparms|refparmslen|relatesindex|relatestype|relatesuri|release|remove|repeatable|repetable|replace|reply|replylength|reqid|requesttype|resclass|reset|resetbr|resid|residlength|resource|resp2??|ressec|restart|restype|result|resume|retain|retcode|retcord|retriece|retrieve|return|returnprog|return-code|rewind|rewrite|ridfld|role|rolelength|rollback|route|routecodes|rprocess|rresource|rrn|rtermid|rtransid|run|saddrlength|scheme|schemename|scope|scopelen|scrnht|scrnwd|seconds|security|segmentlist|send|sender|serialnum|serialnumlen|server|serveraddr|serveraddrnu|serverconv|servername|service|session|sesstoken|set|shared|shift-in|shift-out|sigdata|signal|signoff|signon|sit|snamelength|soapfault|sort-control|sort-core-size|sort-file-size|sort-message|sort-mode-size|sort-return|sosi|spaces??|spoolclose|spoolopen|spoolread|spoolwrite|srvconvert|srvraddr6nu|srvripfamily|ssltype|start|startbr|startbrowse|startcode|state|statelen|stationid|status|statuscode|statuslen|statustext|storage|strfield|stringformat|subaddr|subcodelen|subcodestr|subevent1??|subevent2|subevent3|subevent4|subevent5|subevent6|subevent7|subevent8|sum|suspend|suspstatus|symbol|symbollist|synchronous|synclevel|synconreturn|syncpoint|sysid|tables|tally|task|taskpriority|tcpip|tcpipservice|tct|tctua|tctualeng|td|tellerid|template|termcode|termid|terminal|termpriority|test|text|textkybd|textlength|textprint|time|timeout|timer|timesep|title|to|toactivity|tochannel|tocontainer|toflength|token|tolength|toprocess|trace|tracenum|trailer|tranpriority|transaction|transform|transid|trigger|trt|true|ts|twa|twaleng|type|typename|typenamelen|typens|typenslen|unattend|uncommitted|unescaped|unexpin|unlock|until|uow|update|uri|urimap|url|urllength|userdatakey|userid|username|usernamelen|userpriority|using|validation|value|valuelength|verify|versionlen|volume|volumeleng|wait|waitcics|web|when-compiled|wpmedia1|wpmedia2|wpmedia3|wpmedia4|wrap|writeq??|wsacontext|wsaepr|xctl|xmlcontainer|xmltodata|xmltransform|xrba|year|yyddd|yyddmm|yymmdd|yyyyddd|yyyyddmm|yyyymmdd|zero|zeroes|zeros)(?![-\\\\w])","name":"keyword.verb.cics"},"dli-keywords":{"match":"(?<![-\\\\w])(?i:accept|chkp|deq|dlet|gnp?|gu|isrt|load|log|pos|query|refresh|repl|retrieve|rolb|roll|rols|schd|sets|setu|symchkp|term|xrst)(?![-\\\\w])","name":"keyword.verb.dli"},"dli-options":{"match":"(?<![-\\\\w])(?i:statusgroup|checkpoint|chkp|id|lockclass|segment|info|where|from|using|keyfeedback|feedbacklen|variable|first|last|current|seglength|offset|locked|movenext|getfirst|set|setcond|setzero|setparent|fieldlength|keys|maxlength|length[0-9]*|area[0-9]*|psc|pcs|pcb|sysserve|into)(?![-\\\\w])","name":"keyword.other.dli"},"number-complex-constant":{"match":"([-+])?((([0-9]+(\\\\.[0-9]+))|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([DFLUdflu]|UL|ul)?(?=\\\\s|\\\\.$|[),])","name":"constant.numeric.cobol"},"number-simple-constant":{"match":"([-+])?([0-9]+)(?=\\\\s|\\\\.$|[),])","name":"constant.numeric.cobol"},"string-double-quoted-constant":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"end":"(\\"|$)","endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},"string-quoted-constant":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"end":"('|$)","endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}},"name":"string.quoted.single.cobol"}},"scopeName":"source.cobol","embeddedLangs":["html","java"]}`)),r=[...e,...t,n];export{r as default};
@@ -0,0 +1,7 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/markdown-renderer-Bcaf9_bA.js","assets/vendor-mermaid-BitiXJlL.js","assets/rolldown-runtime-FhOqtrmT.js","assets/vendor-ui-DmZ-Mb-H.js","assets/vendor-markdown-CuWCHIVb.js","assets/markdown-renderer-DGJp8HC3.js","assets/index-DU68xk06.js","assets/button-B9CTrsEf.js","assets/utils-Bmf_8h7Y.js","assets/createLucideIcon-DoiEKeJ_.js","assets/api-client-C1ZwRL4Y.js","assets/react-Bghu0NUO.js","assets/settings-store-krC6bc79.js","assets/file-store-ojgMXgAw.js","assets/window-store-UC1jJeLM.js","assets/window-pip-registry-yD6esSju.js","assets/panel-store-CboGJAwh.js","assets/format-file-meta-C77h04cZ.js","assets/context-menu-C6pIsf83.js","assets/portal-container-context-BarKmT4S.js","assets/icons-DQjqk0lJ.js","assets/dialog-B84_DJQ8.js","assets/input-C7Q8FxeL.js","assets/mobile-bottom-sheet-C3TniEP-.js","assets/use-visual-viewport-Lp878uzs.js","assets/scroll-area-BzeiOd-B.js","assets/use-is-mobile-TkcwP1Gx.js","assets/file-icons-BXdvggK2.js","assets/project-framework-store-B70Q3dNM.js","assets/git-repo-store-88Z8v-pF.js","assets/project-store-B87hLRSk.js","assets/ws-auth-CEYVQ8NH.js","assets/streaming-store-BYukdB56.js","assets/tab-store-OJa1GPCq.js","assets/apply-theme-CbR31K6I.js","assets/resolve-theme-B_ukrg_8.js","assets/index-BH99TIE0.css","assets/image-gallery-CGvlv8zR.js","assets/run-in-terminal-CdefEe_R.js","assets/editor-language-service-DJmaKVY0.js","assets/use-lsp-CsuZu49X.js","assets/csv-preview-DbwEmG7o.js","assets/lib-CD6pOS4u.js","assets/csv-parser-_oDBUkwQ.js","assets/image-preview-CzCc4_Do.js","assets/use-blob-url-CPtCcY3i.js","assets/pdf-preview-CmBI6E7d.js","assets/video-preview-Byj8P_jA.js","assets/can-open-in-ppm-cv5--yHX.js","assets/media-url-yfqHpPz0.js","assets/audio-preview-DsYvgKqj.js","assets/docx-preview-CXuk-emm.js"])))=>i.map(i=>d[i]);
2
+ import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{C as t,S as n}from"./vendor-markdown-CuWCHIVb.js";import"./vendor-ui-DmZ-Mb-H.js";import{Br as r,Dr as i,Et as a,Gn as o,Gr as s,It as c,Mr as l,Qn as u,Wr as d,Z as f,Zn as p,_t as m,at as ee,ct as h,dr as te,dt as g,ft as _,j as v,ln as y,lt as b,nt as x,q as ne,r as re,st as S,ur as ie,vr as ae,vt as oe,w as se,yt as ce,zr as le}from"./icons-DQjqk0lJ.js";import{t as ue}from"./createLucideIcon-DoiEKeJ_.js";import{i as de,n as C}from"./api-client-C1ZwRL4Y.js";import{t as w}from"./settings-store-krC6bc79.js";import{q as T}from"./vendor-mermaid-BitiXJlL.js";import{t as fe}from"./utils-Bmf_8h7Y.js";import"./portal-container-context-BarKmT4S.js";import{t as pe}from"./panel-store-CboGJAwh.js";import"./window-store-UC1jJeLM.js";import{i as me}from"./project-store-B87hLRSk.js";import"./project-framework-store-B70Q3dNM.js";import{t as he}from"./tab-store-OJa1GPCq.js";import{o as E}from"./file-store-ojgMXgAw.js";import{n as ge,t as _e}from"./use-is-mobile-TkcwP1Gx.js";import"./git-repo-store-88Z8v-pF.js";import{d as ve}from"./format-file-meta-C77h04cZ.js";import{t as D}from"./button-B9CTrsEf.js";import{a as ye,i as O,n as be,o as xe,t as k}from"./dialog-B84_DJQ8.js";import"./file-icons-BXdvggK2.js";import{t as Se}from"./mobile-bottom-sheet-C3TniEP-.js";import"./use-visual-viewport-Lp878uzs.js";import{t as Ce}from"./input-C7Q8FxeL.js";import"./scroll-area-BzeiOd-B.js";import{$t as we,Ht as A,Jt as j,Rt as Te,Vt as M,X as Ee,Xt as N,Y as De,Yt as P,Z as Oe,c as ke,i as Ae,qt as je,zt as Me}from"./index-DU68xk06.js";import"./data-grid-types-C5bthITf.js";import{t as Ne}from"./use-monaco-theme-BIVYJBIn.js";import{n as Pe,t as Fe}from"./editor-font-ClTC9gaD.js";import{t as Ie}from"./use-inline-blame-vrfFHuaR.js";import{n as Le,r as Re}from"./monaco-dotenv-language-uB-wok6C.js";import{i as ze,n as Be,r as Ve,t as He}from"./can-open-in-ppm-cv5--yHX.js";import{a as Ue,i as We,o as Ge,r as Ke,t as qe}from"./glide-data-grid-DnQwYSmQ.js";var Je=ue(`file-braces`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1`,key:`1oajmo`}],[`path`,{d:`M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1`,key:`mpwhp6`}]]),F=e(t(),1),I=[`completionItems`,`hovers`,`documentSymbols`,`definitions`,`references`,`documentHighlights`,`rename`,`diagnostics`,`documentRangeFormattingEdits`,`signatureHelp`,`onTypeFormattingEdits`,`codeActions`,`inlayHints`];function L(e){return Object.fromEntries(I.map(t=>[t,e]))}var Ye=L(!1),Xe=L(!0),Ze={noSemanticValidation:!0,noSyntaxValidation:!0,noSuggestionDiagnostics:!0},Qe=1;function $e(e,t){for(let n of[e,t])n.setModeConfiguration({...Ye}),n.setDiagnosticsOptions({...Ze})}function et(e,t){for(let n of[e,t])n.setCompilerOptions({...n.getCompilerOptions(),jsx:Qe,allowJs:!0,allowNonTsExtensions:!0}),n.setModeConfiguration({...Xe}),n.setDiagnosticsOptions({...Ze})}function tt(e,t,n){e?$e(t,n):et(t,n)}var R=n();function nt({enabled:e,onToggle:t,status:n,diagnostics:r}){let[i,a]=(0,F.useState)(!1),o=ge();if(!e)return(0,R.jsxs)(`button`,{type:`button`,onClick:()=>t(!0),title:`Language server: off. Turn it on for completions, hover, go to definition, rename and quick fix from a real server. It runs as a process on the host.`,className:`flex items-center gap-1 rounded px-1.5 text-xs text-muted-foreground hover:bg-muted active:scale-95 transition-colors ${o?`min-h-11`:`py-0.5`}`,children:[(0,R.jsx)(s,{className:`size-3 shrink-0`}),(0,R.jsx)(`span`,{children:`LSP off`})]});if(!n)return null;let c=r.filter(e=>e.severity===1).length,l=r.filter(e=>e.severity===2).length,u=n.state===`ready`?n.server.displayName:n.state===`opening`?`Starting…`:n.server?.displayName??`No server`,f=n.state===`unavailable`&&n.reason===`not-installed`;return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`button`,{type:`button`,onClick:()=>a(!0),title:n.state===`ready`?`${n.server.displayName} — rooted at ${n.server.rootPath}`:n.state===`unavailable`?n.message:`Starting the language server`,className:`flex items-center gap-1 rounded px-1.5 hover:bg-muted active:scale-95 transition-colors text-xs ${o?`min-h-11`:`py-0.5`} ${f?`text-amber-500`:`text-muted-foreground`}`,children:[n.state===`opening`?(0,R.jsx)(y,{className:`size-3 animate-spin shrink-0`}):f?(0,R.jsx)(re,{className:`size-3 shrink-0`}):(0,R.jsx)(d,{className:`size-3 shrink-0`}),(0,R.jsx)(`span`,{className:`max-w-24 truncate`,children:u}),c>0&&(0,R.jsx)(`span`,{className:`text-red-500`,children:c}),c===0&&l>0&&(0,R.jsx)(`span`,{className:`text-amber-500`,children:l})]}),i&&(0,R.jsx)(rt,{status:n,errors:c,warnings:l,isMobile:o,onToggle:t,onClose:()=>a(!1)})]})}function rt({status:e,errors:t,warnings:n,isMobile:r,onToggle:i,onClose:a}){let o=(0,R.jsx)(it,{status:e,errors:t,warnings:n,isMobile:r,onToggle:i});return r?(0,R.jsx)(Se,{open:!0,onClose:a,className:`popover-solid max-h-[85dvh] flex flex-col`,children:o}):(0,R.jsx)(k,{open:!0,onOpenChange:e=>!e&&a(),children:(0,R.jsxs)(be,{className:`sm:max-w-lg`,children:[(0,R.jsx)(xe,{children:`Language server`}),o]})})}function it({status:e,errors:t,warnings:n,isMobile:r,onToggle:i}){return(0,R.jsxs)(`div`,{className:`p-4 space-y-4 overflow-y-auto text-sm leading-relaxed`,children:[e.state===`ready`&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(z,{label:`Server`,value:e.server.displayName}),(0,R.jsx)(z,{label:`Language`,value:e.languageId}),(0,R.jsx)(z,{label:`Project root`,value:e.server.rootPath,mono:!0}),(0,R.jsx)(z,{label:`Problems`,value:`${t} error${t===1?``:`s`}, ${n} warning${n===1?``:`s`}`}),(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Completions, hover, go to definition (F12), find references (Shift+F12), rename (F2), quick fix (Ctrl+.) and format (Shift+Alt+F) all come from this server.`})]}),e.state===`opening`&&(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:`Starting the language server. A cold start reads the project's dependencies, so the first completion in a large project can take a few seconds.`}),e.state===`unavailable`&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`p`,{children:e.message}),e.server&&(0,R.jsxs)(`div`,{className:`space-y-2`,children:[(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Install it, then reopen this file. PPM does not install it for you — that would mean fetching and running a binary because you opened a file.`}),(0,R.jsx)(B,{command:e.server.installHint,isMobile:r})]}),e.reason===`no-language`&&(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No language server is registered for this file type.`})]}),(0,R.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-t border-border pt-3`,children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`p`,{className:`text-xs font-medium`,children:`Language server`}),(0,R.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`On for this device. Turning it off stops the process.`})]}),(0,R.jsx)(De,{checked:!0,onCheckedChange:e=>i(e)})]})]})}function z({label:e,value:t,mono:n}){return(0,R.jsxs)(`div`,{className:`flex gap-2 items-baseline`,children:[(0,R.jsx)(`span`,{className:`text-muted-foreground shrink-0 w-24 text-xs`,children:e}),(0,R.jsx)(`span`,{className:`min-w-0 break-all ${n?`font-mono text-xs`:``}`,children:t})]})}function B({command:e,isMobile:t}){let[n,r]=(0,F.useState)(!1);return(0,R.jsxs)(`button`,{type:`button`,onClick:()=>{navigator.clipboard?.writeText(e).then(()=>{r(!0),setTimeout(()=>r(!1),1500)})},className:`w-full flex items-center gap-2 rounded border border-border bg-muted/40 px-3 text-left font-mono text-xs hover:bg-muted active:scale-[0.99] transition ${t?`min-h-11 py-3`:`py-2`}`,children:[(0,R.jsx)(`span`,{className:`flex-1 break-all`,children:e}),n?(0,R.jsx)(se,{className:`size-3.5 shrink-0 text-green-500`}):(0,R.jsx)(x,{className:`size-3.5 shrink-0 opacity-60`})]})}function at(e){let t=e.startsWith(`/`),n=e.split(/[/\\]/).filter(Boolean),r=e=>{let r=(t?`/`:``)+n.slice(0,e+1).join(`/`);return/^[A-Za-z]:$/.test(r)?r+`/`:r},i=t?`/`:(n[0]??``)+`/`;return n.map((e,t)=>({name:e,absPath:r(t),parentDir:t>0?r(t-1):i}))}async function V(e){return(await C.get(`/api/fs/browse?path=${encodeURIComponent(e)}`)).entries}function H({filePath:e,projectName:t,tabId:n,className:r}){let{updateTab:i,openTab:a}=he(Te(e=>({updateTab:e.updateTab,openTab:e.openTab}))),o=(0,F.useRef)(null),s=(0,F.useMemo)(()=>at(e),[e]);(0,F.useEffect)(()=>{o.current&&(o.current.scrollLeft=o.current.scrollWidth)},[s]);let c=(0,F.useCallback)((e,r)=>{let o=fe(e),s={filePath:e,projectName:t};r.metaKey||r.ctrlKey?a({type:`editor`,title:o,metadata:s,projectId:t,closable:!0}):i(n,{title:o,metadata:s})},[t,n,a,i]);return(0,R.jsx)(`div`,{ref:o,className:r,children:s.map((e,t)=>(0,R.jsxs)(`div`,{className:`flex items-center shrink-0`,children:[t>0&&(0,R.jsx)(v,{className:`size-3 text-muted-foreground shrink-0 mx-0.5`}),(0,R.jsx)(U,{segment:e,isLast:t===s.length-1,onFileClick:c})]},e.absPath))})}function U({segment:e,isLast:t,onFileClick:n}){let[r,i]=(0,F.useState)(null),[a,o]=(0,F.useState)(null);function s(t){t&&r===null&&V(e.parentDir).then(i).catch(e=>{o(e.message||`Failed to browse`),i([])})}return(0,R.jsxs)(Me,{onOpenChange:s,children:[(0,R.jsx)(N,{asChild:!0,children:(0,R.jsx)(`button`,{type:`button`,className:`text-xs px-1 py-0.5 rounded hover:bg-muted transition-colors truncate max-w-[120px] ${t?`text-foreground font-medium`:`text-muted-foreground`}`,children:e.name})}),(0,R.jsx)(M,{align:`start`,className:`max-h-[300px] overflow-y-auto p-1`,children:r===null?(0,R.jsx)(A,{disabled:!0,className:`text-xs text-muted-foreground`,children:`Loading…`}):a?(0,R.jsx)(A,{disabled:!0,className:`text-xs text-destructive`,children:a}):r.length===0?(0,R.jsx)(A,{disabled:!0,className:`text-xs text-muted-foreground`,children:`Empty`}):r.map(t=>(0,R.jsx)(ot,{entry:t,activePath:e.absPath,onFileClick:n},t.path))})]})}function ot({entry:e,activePath:t,onFileClick:n}){let r=W(e.name,e.type===`directory`),i=e.path===t,[a,o]=(0,F.useState)(null);if(e.type===`directory`){function s(t){t&&a===null&&V(e.path).then(o).catch(()=>o([]))}return(0,R.jsxs)(je,{onOpenChange:s,children:[(0,R.jsxs)(P,{className:`text-xs gap-1.5 ${i?`bg-muted`:``}`,children:[(0,R.jsx)(r,{className:`size-3.5 shrink-0 text-muted-foreground`}),(0,R.jsx)(`span`,{className:`truncate`,children:e.name})]}),(0,R.jsx)(j,{className:`max-h-[300px] overflow-y-auto p-1`,children:a===null?(0,R.jsx)(A,{disabled:!0,className:`text-xs text-muted-foreground`,children:`Loading…`}):a.length===0?(0,R.jsx)(A,{disabled:!0,className:`text-xs text-muted-foreground`,children:`Empty`}):a.map(e=>(0,R.jsx)(ot,{entry:e,activePath:t,onFileClick:n},e.path))})]})}return(0,R.jsxs)(A,{className:`text-xs gap-1.5 cursor-pointer ${i?`bg-muted`:``}`,onClick:t=>n(e.path,t),children:[(0,R.jsx)(r,{className:`size-3.5 shrink-0 text-muted-foreground`}),(0,R.jsx)(`span`,{className:`truncate`,children:e.name})]})}var st={ts:_,tsx:_,js:_,jsx:_,py:_,rs:_,go:_,html:_,css:_,scss:_,json:Je,md:m,txt:m,yaml:oe,yml:oe};function W(e,t){return t?a:st[e.split(`.`).pop()?.toLowerCase()??``]??g}function ct(e,t){let n=[],r=e,i=``;for(let e=0;e<t.length;e++){let a=t[e],o=t.slice(0,e+1).join(`/`),s=r.find(e=>e.name===a);if(n.push({name:a,fullPath:o,node:s??null,siblings:r,parentPath:i}),s?.children)i=s.path,r=s.children;else{for(let r=e+1;r<t.length;r++)n.push({name:t[r],fullPath:t.slice(0,r+1).join(`/`),node:null,siblings:[],parentPath:t.slice(0,r).join(`/`)});break}}return n}function lt(e){return[...e].sort((e,t)=>e.type===t.type?e.name.localeCompare(t.name):e.type===`directory`?-1:1)}function ut({filePath:e,projectName:t,tabId:n,className:r}){let i=E(e=>e.tree),{updateTab:a,openTab:o}=he(Te(e=>({updateTab:e.updateTab,openTab:e.openTab}))),s=me(e=>e.projects.find(e=>e.name===t)?.path??``),c=(0,F.useRef)(null),{prefixParts:l,relativePath:u,isExternal:d}=(0,F.useMemo)(()=>{let t=e.startsWith(`/`)?e.slice(1):e,n=s.startsWith(`/`)?s.slice(1):s;if(n&&t.startsWith(n+`/`)){let e=t.slice(n.length+1);return{prefixParts:n.split(`/`),relativePath:e,isExternal:!1}}return{prefixParts:[],relativePath:t,isExternal:/^(\/|[A-Za-z]:[/\\])/.test(e)}},[e,s]),f=(0,F.useMemo)(()=>ct(i,u.split(`/`).filter(Boolean)),[i,u]);(0,F.useEffect)(()=>{c.current&&(c.current.scrollLeft=c.current.scrollWidth)},[f]);function p(e,r){let i=fe(e);r.metaKey||r.ctrlKey?o({type:`editor`,title:i,metadata:{filePath:e,projectName:t},projectId:t,closable:!0}):a(n,{title:i,metadata:{filePath:e,projectName:t}})}return d?(0,R.jsx)(H,{filePath:e,projectName:t,tabId:n,className:r}):(0,R.jsxs)(`div`,{ref:c,className:r,children:[l.map((e,t)=>(0,R.jsxs)(`div`,{className:`flex items-center shrink-0`,children:[t>0&&(0,R.jsx)(v,{className:`size-3 text-muted-foreground shrink-0 mx-0.5`}),(0,R.jsx)(`span`,{className:`text-xs text-muted-foreground px-1 py-0.5`,children:e})]},`prefix-${t}`)),f.map((e,n)=>(0,R.jsxs)(`div`,{className:`flex items-center shrink-0`,children:[(n>0||l.length>0)&&(0,R.jsx)(v,{className:`size-3 text-muted-foreground shrink-0 mx-0.5`}),(0,R.jsx)(dt,{segment:e,isLast:n===f.length-1,projectName:t,onFileClick:p})]},e.fullPath))]})}function dt({segment:e,isLast:t,projectName:n,onFileClick:r}){let i=E(e=>e.loadChildren),a=E(e=>e.loadedPaths),o=(0,F.useMemo)(()=>lt(e.siblings),[e.siblings]),s=a.has(e.parentPath);function c(t){if(t&&!s){let t=e.parentPath.split(`/`).filter(Boolean);(async()=>{for(let e=0;e<=t.length;e++)await i(n,t.slice(0,e).join(`/`))})()}}return(0,R.jsxs)(Me,{onOpenChange:c,children:[(0,R.jsx)(N,{asChild:!0,children:(0,R.jsx)(`button`,{type:`button`,className:`text-xs px-1 py-0.5 rounded hover:bg-muted transition-colors truncate max-w-[120px] ${t?`text-foreground font-medium`:`text-muted-foreground`}`,children:e.name})}),(0,R.jsx)(M,{align:`start`,className:`max-h-[300px] p-1`,children:o.length===0?(0,R.jsx)(A,{disabled:!0,className:`text-xs text-muted-foreground`,children:`Loading…`}):o.map(t=>(0,R.jsx)(G,{node:t,projectName:n,activePath:e.fullPath,onFileClick:r},t.path))})]})}function G({node:e,projectName:t,activePath:n,onFileClick:r}){let i=W(e.name,e.type===`directory`),a=e.path===n,o=E(e=>e.loadChildren),s=E(e=>e.loadedPaths);if(e.type===`directory`){let c=e.children??[],l=s.has(e.path);function u(n){n&&!l&&o(t,e.path)}return(0,R.jsxs)(je,{onOpenChange:u,children:[(0,R.jsxs)(P,{className:`text-xs gap-1.5 ${a?`bg-muted`:``}`,children:[(0,R.jsx)(i,{className:`size-3.5 shrink-0 text-muted-foreground`}),(0,R.jsx)(`span`,{className:`truncate`,children:e.name})]}),(0,R.jsx)(j,{className:`max-h-[300px] overflow-y-auto p-1`,children:c.length===0?(0,R.jsx)(A,{disabled:!0,className:`text-xs text-muted-foreground`,children:`Loading…`}):lt(c).map(e=>(0,R.jsx)(G,{node:e,projectName:t,activePath:n,onFileClick:r},e.path))})]})}return(0,R.jsxs)(A,{className:`text-xs gap-1.5 cursor-pointer ${a?`bg-muted`:``}`,onSelect:e=>{},onClick:t=>{r(e.path,t)},children:[(0,R.jsx)(i,{className:`size-3.5 shrink-0 text-muted-foreground`}),(0,R.jsx)(`span`,{className:`truncate`,children:e.name})]})}function K({active:e,onClick:t,icon:n,label:r,title:i}){return(0,R.jsxs)(`button`,{type:`button`,title:i,onClick:t,className:`flex items-center gap-1 px-2 py-1 rounded text-xs transition-colors ${e?`bg-muted text-foreground`:`text-muted-foreground hover:text-foreground`}`,children:[(0,R.jsx)(n,{className:`size-3`}),(0,R.jsx)(`span`,{className:`hidden sm:inline`,children:r})]})}function ft({ext:e,mdMode:t,onMdModeChange:n,csvMode:r,onCsvModeChange:i,wordWrap:a,onToggleWordWrap:o,inlineBlame:s,onToggleInlineBlame:c,blameStale:d,onRefresh:p,refreshing:m,filePath:ee,projectName:h,className:te}){return(0,R.jsxs)(`div`,{className:te,children:[(e===`md`||e===`mdx`)&&n&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(K,{active:t===`edit`,onClick:()=>n(`edit`),icon:f,label:`Edit`}),(0,R.jsx)(K,{active:t===`preview`,onClick:()=>n(`preview`),icon:b,label:`Preview`})]}),e===`csv`&&i&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(K,{active:r===`table`,onClick:()=>i(`table`),icon:ae,label:`Table`}),(0,R.jsx)(K,{active:r===`raw`,onClick:()=>i(`raw`),icon:f,label:`Raw`})]}),(0,R.jsx)(K,{active:a,onClick:o,icon:le,label:`Wrap`}),c&&(0,R.jsx)(K,{active:s===!0,onClick:c,icon:l,label:`Blame`,title:s&&d?`Blame is hidden until this file is saved — the line numbers have moved`:`Inline blame (Alt+B)`}),p&&(0,R.jsxs)(`button`,{type:`button`,onClick:p,disabled:m,title:`Reload file from disk`,className:`flex items-center gap-1 px-2 py-1 rounded text-xs text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50`,children:[(0,R.jsx)(u,{className:`size-3 ${m?`animate-spin`:``}`}),(0,R.jsx)(`span`,{className:`hidden sm:inline`,children:`Refresh`})]}),ee&&h&&(0,R.jsx)(K,{active:!1,onClick:()=>ve(h,ee),icon:S,label:`Download`})]})}var pt=[{id:`plaintext`,label:`Plain Text`},{id:`javascript`,label:`JavaScript`},{id:`typescript`,label:`TypeScript`},{id:`sql`,label:`SQL`},{id:`json`,label:`JSON`},{id:`xml`,label:`XML`},{id:`html`,label:`HTML`},{id:`css`,label:`CSS`},{id:`python`,label:`Python`},{id:`markdown`,label:`Markdown`},{id:`yaml`,label:`YAML`},{id:`shell`,label:`Shell`},{id:`dotenv`,label:`Dotenv`}];function mt({value:e,onChange:t}){return(0,R.jsxs)(`div`,{className:`shrink-0 flex items-center gap-1 px-2 border-l border-border`,children:[(0,R.jsx)(_,{className:`size-3 text-muted-foreground`}),(0,R.jsx)(`select`,{value:e,onChange:e=>t(e.target.value),className:`h-5 text-[10px] bg-transparent border border-border rounded px-1 text-foreground outline-none max-w-[120px]`,title:`Select editor language`,children:pt.map(e=>(0,R.jsx)(`option`,{value:e.id,children:e.label},e.id))})]})}function ht({open:e,defaultName:t,content:n,onSave:r,onCancel:i}){let[a,o]=(0,F.useState)(t),[s,c]=(0,F.useState)(!1),[l,u]=(0,F.useState)(``),d=me(e=>e.activeProject),f=(0,F.useCallback)(()=>{let e=a.trim();if(!e){u(`Filename cannot be empty`);return}if(/[/\\]/.test(e)){u(`Filename cannot contain / or \\`);return}u(``),c(!0)},[a]),p=(0,F.useCallback)(e=>{let t=e.includes(`\\`)?`\\`:`/`;r(e.endsWith(t)?`${e}${a.trim()}`:`${e}${t}${a.trim()}`,n)},[a,n,r]);return s?(0,R.jsx)(Oe,{open:!0,mode:`folder`,root:d?.path,title:`Save "${a.trim()}" to...`,onSelect:p,onCancel:()=>c(!1)}):(0,R.jsx)(k,{open:e,onOpenChange:e=>{e||i()},children:(0,R.jsxs)(be,{className:`sm:max-w-md`,children:[(0,R.jsx)(ye,{children:(0,R.jsx)(xe,{children:`Save As`})}),(0,R.jsxs)(`div`,{className:`flex flex-col gap-2 py-2`,children:[(0,R.jsx)(`label`,{className:`text-sm text-muted-foreground`,children:`Filename`}),(0,R.jsx)(Ce,{value:a,onChange:e=>{o(e.target.value),u(``)},onKeyDown:e=>{e.key===`Enter`&&f()},placeholder:`e.g. my-file.ts`,autoFocus:!0}),l&&(0,R.jsx)(`p`,{className:`text-xs text-destructive`,children:l})]}),(0,R.jsxs)(O,{children:[(0,R.jsx)(D,{variant:`outline`,onClick:i,children:`Cancel`}),(0,R.jsx)(D,{onClick:f,children:`Choose Folder...`})]})]})})}var q=typeof window<`u`&&window.isSecureContext,gt=[`(`,`)`,`{`,`}`,`[`,`]`,`<`,`>`,`;`,`:`,`=`,`"`,`'`,"`",`/`,`\\`,`_`,`#`],J=`px-2 py-1.5 rounded text-xs min-w-[36px] min-h-[32px] bg-surface-elevated text-text-primary active:bg-primary active:text-primary-foreground transition-colors select-none`,_t=`px-3 py-1.5 rounded text-xs font-mono min-w-[36px] min-h-[32px] bg-surface-elevated text-text-primary active:bg-primary active:text-primary-foreground transition-colors select-none`,Y=`w-px h-5 bg-border mx-0.5 shrink-0`;function vt({editorRef:e,readOnly:t,wrapOn:n,onToggleWrap:a}){let o=(0,F.useCallback)(()=>e.current,[e]),s=(0,F.useCallback)(e=>{let t=o();if(!t)return;t.focus();let n=t.getSelection();n&&t.executeEdits(`mobile-toolbar`,[{range:n,text:e}])},[o]),[c,l]=(0,F.useState)(!1),u=(0,F.useRef)(null),d=(0,F.useCallback)(async()=>{try{let e=await navigator.clipboard.readText();e&&s(e)}catch{}},[s]),f=(0,F.useCallback)(()=>{l(!0),requestAnimationFrame(()=>u.current?.focus())},[]),m=(0,F.useCallback)(e=>{e.preventDefault();let t=e.clipboardData.getData(`text/plain`);t&&(l(!1),s(t))},[s]),ee=(0,F.useCallback)(()=>{let e=o();e&&(e.focus(),e.trigger(`mobile-toolbar`,`undo`,null))},[o]),h=(0,F.useCallback)(()=>{let e=o();e&&(e.focus(),e.trigger(`mobile-toolbar`,`redo`,null))},[o]),te=(0,F.useCallback)(()=>{let e=o();e&&(e.focus(),e.trigger(`mobile-toolbar`,`tab`,null))},[o]);return t?null:(0,R.jsxs)(`div`,{className:`shrink-0 border-t border-border bg-surface`,children:[!q&&c&&(0,R.jsxs)(`div`,{className:`flex items-center gap-2 px-2 py-1.5 border-b border-border bg-muted/50`,children:[(0,R.jsx)(`textarea`,{ref:u,onPaste:m,placeholder:`Long-press here → Paste`,className:`flex-1 h-8 rounded border border-border bg-background text-foreground text-xs px-2 py-1.5 resize-none focus:outline-none focus:ring-1 focus:ring-primary`}),(0,R.jsx)(`button`,{type:`button`,onClick:()=>l(!1),className:`p-1.5 rounded text-muted-foreground active:bg-muted transition-colors`,children:(0,R.jsx)(r,{size:14})})]}),(0,R.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1.5 overflow-x-auto`,children:[(0,R.jsx)(`button`,{type:`button`,onClick:q?d:f,className:J,title:`Paste`,children:(0,R.jsx)(ne,{size:14})}),(0,R.jsx)(`button`,{type:`button`,onClick:ee,className:J,title:`Undo`,children:(0,R.jsx)(i,{size:14})}),(0,R.jsx)(`button`,{type:`button`,onClick:h,className:J,title:`Redo`,children:(0,R.jsx)(p,{size:14})}),(0,R.jsx)(`button`,{type:`button`,onClick:a,className:`${J} ${n?`text-primary`:``}`,title:n?`Wrapping long lines — tap to scroll sideways instead`:`Wrap long lines`,children:(0,R.jsx)(le,{size:14})}),(0,R.jsx)(`div`,{className:Y}),(0,R.jsx)(`button`,{type:`button`,onClick:te,className:_t,children:`Tab`}),(0,R.jsx)(`div`,{className:Y}),gt.map(e=>(0,R.jsx)(`button`,{type:`button`,onClick:()=>s(e),className:_t,children:e},e))]})]})}var yt=(0,F.lazy)(()=>T(()=>import(`./markdown-renderer-Bcaf9_bA.js`).then(e=>({default:e.MarkdownRenderer})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38]))),bt=(0,F.lazy)(()=>T(()=>import(`./editor-language-service-DJmaKVY0.js`).then(e=>({default:e.EditorLanguageService})),__vite__mapDeps([39,2,3,4,10,40,6,1,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36]))),xt=(0,F.lazy)(()=>T(()=>import(`./csv-preview-DbwEmG7o.js`).then(e=>({default:e.CsvPreview})),__vite__mapDeps([41,2,6,1,3,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,42,43]))),St=(0,F.lazy)(()=>T(()=>import(`./image-preview-CzCc4_Do.js`).then(e=>({default:e.ImagePreview})),__vite__mapDeps([44,3,2,4,10,45,20]))),Ct=(0,F.lazy)(()=>T(()=>import(`./pdf-preview-CmBI6E7d.js`).then(e=>({default:e.PdfPreview})),__vite__mapDeps([46,2,3,4,10,20]))),wt=(0,F.lazy)(()=>T(()=>import(`./video-preview-Byj8P_jA.js`).then(e=>({default:e.VideoPreview})),__vite__mapDeps([47,2,6,1,3,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,48,49]))),Tt=(0,F.lazy)(()=>T(()=>import(`./audio-preview-DsYvgKqj.js`).then(e=>({default:e.AudioPreview})),__vite__mapDeps([50,2,3,4,8,10,20,49]))),Et=(0,F.lazy)(()=>T(()=>import(`./docx-preview-CXuk-emm.js`).then(e=>({default:e.DocxPreview})),__vite__mapDeps([51,2,3,4,10,20])));function Dt(e){return e.split(`.`).pop()?.toLowerCase()??``}function Ot(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`,sql:`sql`}[Dt(e)]??(Le(e)?`dotenv`:`plaintext`)}var kt=(0,F.memo)(function({metadata:e,tabId:t}){let n=e?.filePath,r=e?.projectName,i=e?.inlineContent,a=e?.inlineLanguage,[s,c]=(0,F.useState)(i??null),[l,u]=(0,F.useState)(`utf-8`),[d,f]=(0,F.useState)(!0),[p,m]=(0,F.useState)(null),[h,g]=(0,F.useState)(!1),_=(0,F.useRef)(null),v=(0,F.useRef)(``),b=(0,F.useRef)(null),[x,ne]=(0,F.useState)(null),{tabs:re,updateTab:S}=he(Te(e=>({tabs:e.tabs,updateTab:e.updateTab}))),{wordWrap:ae,toggleWordWrap:oe,mobileWordWrap:se,toggleMobileWordWrap:le}=w(Te(e=>({wordWrap:e.wordWrap,toggleWordWrap:e.toggleWordWrap,mobileWordWrap:e.mobileWordWrap,toggleMobileWordWrap:e.toggleMobileWordWrap}))),ue=w(e=>e.inlineBlame),me=w(e=>e.toggleInlineBlame),E=w(e=>e.lspEnabled),ve=w(e=>e.setLspEnabled),D=ge(),ye=Ae(),O=D?se:ae,be=D?le:oe,xe=Ne(),k=e?.isUntitled===!0,Se=e?.unsavedContent,[Ce,A]=(0,F.useState)(!1),j=re.find(e=>e.id===t),M=n?Dt(n):``,N=Be.has(M),De=M===`pdf`,P=M===`docx`,Oe=ze.has(M),je=He.has(M),Me=Ve.has(M),Le=M===`md`||M===`mdx`,qe=M===`csv`,Je=e?.language,I=a??Je??Ot(n??``),L=I===`sql`,[Ye,Xe]=(0,F.useState)(`preview`),[Ze,Qe]=(0,F.useState)(`table`),{connections:$e,cachedTables:et,refreshTables:rt,updateConnection:it}=Ee(),z=n?`ppm:sql-conn:${n}`:t?`ppm:sql-conn:tab:${t}`:null,[B,at]=(0,F.useState)(()=>{if(!z)return null;let e=localStorage.getItem(z);return e?Number(e):null}),V=(0,F.useRef)(null),H=(0,F.useRef)(null),U=(0,F.useMemo)(()=>$e.find(e=>e.id===B)??null,[$e,B]),ot=i!=null&&(a===`json`||a===`xml`),[st,W]=(0,F.useState)(!1),ct=(0,F.useCallback)(()=>{if(i)if(st)c(i),W(!1);else{let e=i.trimStart();if(a===`json`)try{c(JSON.stringify(JSON.parse(e),null,2)),W(!0)}catch{}else if(a===`xml`){let t=0;c(e.replace(/(>)(<)(\/*)/g,`$1
3
+ $2$3`).split(`
4
+ `).map(e=>{let n=e.trim();n.startsWith(`</`)&&(t=Math.max(0,t-1));let r=` `.repeat(t)+n;return n.startsWith(`<`)&&!n.startsWith(`</`)&&!n.endsWith(`/>`)&&!n.includes(`</`)&&t++,r}).join(`
5
+ `)),W(!0)}}},[i,a,st]),lt=(0,F.useCallback)(e=>{at(e),z&&localStorage.setItem(z,String(e)),rt(e).catch(()=>{})},[z,rt]),dt=(0,F.useCallback)(n=>{t&&S(t,{metadata:{...e,language:n}})},[t,e,S]),G=(0,F.useMemo)(()=>{if(!L||!B)return;let e=(et.get(B)??[]).map(e=>({name:e.tableName,schema:e.schemaName}));if(e.length!==0)return{tables:e,getColumns:async(e,t)=>C.get(`/api/db/connections/${B}/schema?table=${encodeURIComponent(e)}${t?`&schema=${encodeURIComponent(t)}`:``}`)}},[L,B,et]);(0,F.useEffect)(()=>{if(!(!V.current||!G))return H.current?.dispose(),Ke(),H.current=V.current.languages.registerCompletionItemProvider(`sql`,We(V.current,G)),()=>{H.current?.dispose()}},[G]);let K=he(e=>e.openTab),[pt,q]=(0,F.useState)(null),[gt,J]=(0,F.useState)(null),[_t,Y]=(0,F.useState)(!1),[yt,kt]=(0,F.useState)(``),X=(0,F.useCallback)(async e=>{if(U){Y(!0),J(null),kt(e);try{q(await C.post(`/api/db/connections/${U.id}/query`,{sql:e}))}catch(e){J(e.message),q(null)}finally{Y(!1)}}},[U]),Nt=(0,F.useCallback)(()=>{!U||!yt||K({type:`database`,title:`${U.name} · Query`,projectId:null,closable:!0,metadata:{connectionId:U.id,connectionName:U.name,dbType:U.type,initialSql:yt}})},[U,K,yt]),Pt=(0,F.useCallback)(()=>{if(!b.current||!U)return;let e=b.current,t=e.getSelection();X(t&&!t.isEmpty()?e.getModel()?.getValueInRange(t)??e.getValue():e.getValue())},[U,X]),Ft=typeof window<`u`&&`ontouchstart`in window,It=(0,F.useRef)(null),[Lt,Rt]=(0,F.useState)(null);(0,F.useEffect)(()=>{if(!Ft)return;let e=window.visualViewport;if(!e)return;let t=()=>{let t=It.current;if(!t)return;let n=t.getBoundingClientRect().top;Rt(e.height-Math.max(0,n))};return e.addEventListener(`resize`,t),e.addEventListener(`scroll`,t),()=>{e.removeEventListener(`resize`,t),e.removeEventListener(`scroll`,t)}},[Ft]),(0,F.useEffect)(()=>we(It.current,()=>b.current?.layout()),[d,p]);let Z=(0,F.useRef)([]),zt=(0,F.useRef)(X);zt.current=X,(0,F.useEffect)(()=>()=>{Z.current.forEach(e=>e.dispose()),Z.current=[]},[]),(0,F.useEffect)(()=>{Me&&t&&S(t,{type:`sqlite`})},[Me,t,S]);let Q=n?/^(\/|[A-Za-z]:[/\\])/.test(n):!1;(0,F.useEffect)(()=>{if(i!=null){f(!1);return}if(k){c(Se??``),v.current=Se??``,f(!1),Se&&g(!0);return}if(!n||!Q&&!r)return;if(N||De||P||Oe||je){f(!1);return}f(!0),m(null);let e=Q?`/api/fs/read?path=${encodeURIComponent(n)}`:`${de(r)}/files/read?path=${encodeURIComponent(n)}`;return C.get(e).then(e=>{c(e.content),e.encoding&&u(e.encoding),v.current=e.content,f(!1)}).catch(e=>{m(e instanceof Error?e.message:`Failed to load file`),f(!1)}),()=>{_.current&&clearTimeout(_.current)}},[n,r,N,De,P,Q,k]);let[Bt,Vt]=(0,F.useState)(!1),Ht=(0,F.useCallback)(()=>{if(!n||i!=null||k||!Q&&!r)return;let e=Q?`/api/fs/read?path=${encodeURIComponent(n)}`:`${de(r)}/files/read?path=${encodeURIComponent(n)}`;Vt(!0),C.get(e).then(e=>{c(e.content),v.current=e.content,e.encoding&&u(e.encoding),g(!1),m(null)}).catch(e=>m(e instanceof Error?e.message:`Failed to reload file`)).finally(()=>Vt(!1))},[n,r,Q,i,k]),Ut=(0,F.useRef)(h);Ut.current=h,(0,F.useEffect)(()=>{if(!n||!r||i!=null||k)return;let e=e=>{let t=e.detail;if(t.projectName!==r||t.path!==n||Ut.current)return;let i=Q?`/api/fs/read?path=${encodeURIComponent(n)}`:`${de(r)}/files/read?path=${encodeURIComponent(n)}`;C.get(i).then(e=>{e.content!==v.current&&(c(e.content),v.current=e.content,e.encoding&&u(e.encoding))}).catch(()=>{})};return window.addEventListener(`file:changed`,e),()=>window.removeEventListener(`file:changed`,e)},[n,r,Q,i,k]),(0,F.useEffect)(()=>{if(!j||i!=null)return;let t=k?`Untitled-${e?.untitledNumber??1}`:n?fe(n):`Untitled`,r=h?`${t} \u25CF`:t;j.title!==r&&S(j.id,{title:r})},[h]);let Wt=!k&&i==null&&!!n&&!!r&&!D,Gt=Ie({editor:x?.editor??null,monaco:x?.monaco??null,projectName:r,filePath:Wt?n:void 0,enabled:ue&&Wt}),Kt=!k&&!Q&&i==null&&!!n&&!!r,qt=E&&!ye,Jt=qt&&Kt,[Yt,Xt]=(0,F.useState)({status:null,diagnostics:[]}),Zt=(0,F.useCallback)(e=>Xt(e),[]),Qt=(0,F.useCallback)(async e=>{if(n&&!(!Q&&!r))try{Q?await C.put(`/api/fs/write`,{path:n,content:e}):await C.put(`${de(r)}/files/write`,{path:n,content:e}),g(!1),Gt.refresh(),Jt&&r&&n&&T(()=>import(`./use-lsp-CsuZu49X.js`).then(t=>t.notifyLspSave(r,n,e)),__vite__mapDeps([40,2,6,1,3,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36]))}catch{}},[n,r,Q,Jt,Gt.refresh]);function $t(n){let r=n??``;c(r),v.current=r,g(!0),_.current&&clearTimeout(_.current),k?_.current=setTimeout(()=>{t&&S(t,{metadata:{...e,unsavedContent:v.current}})},2e3):_.current=setTimeout(()=>Qt(v.current),1e3)}let en=(0,F.useCallback)(async(e,n)=>{try{if(_.current&&clearTimeout(_.current),await C.put(`/api/fs/write`,{path:e,content:n}),t){let{closeTab:n,openTab:r}=pe.getState();n(t),r({type:`editor`,title:fe(e),projectId:null,metadata:{filePath:e},closable:!0})}g(!1),A(!1)}catch{}},[t]),$=e?.lineNumber,tn=e?.endLine,nn=e?.revealAt,rn=(0,F.useCallback)(()=>{let e=b.current;if(!(!e||!$||$<=0)){if(e.revealLineInCenter($),e.setPosition({lineNumber:$,column:1}),tn&&tn>=$){let t=e.getModel(),n=t?.getLineCount()??$,r=Math.min(tn,n),i=t?.getLineMaxColumn(r)??1;e.setSelection({startLineNumber:$,startColumn:1,endLineNumber:r,endColumn:i})}e.focus()}},[$,tn]);(0,F.useEffect)(()=>{nn!=null&&rn()},[nn,rn]),(0,F.useEffect)(()=>{let e=x?.monaco;e&&tt(qt,e.languages.typescript.typescriptDefaults,e.languages.typescript.javascriptDefaults)},[x,qt]);let an=(0,F.useCallback)((e,t)=>{if(b.current=e,V.current=t,ne({editor:e,monaco:t}),$&&$>0&&setTimeout(()=>rn(),100),k&&e.addCommand(t.KeyMod.CtrlCmd|t.KeyCode.KeyS,()=>A(!0)),e.addCommand(t.KeyMod.Alt|t.KeyCode.KeyZ,()=>{let e=w.getState();_e()?e.toggleMobileWordWrap():e.toggleWordWrap()}),e.addCommand(t.KeyMod.Alt|t.KeyCode.KeyB,()=>w.getState().toggleInlineBlame()),G&&(H.current?.dispose(),H.current=t.languages.registerCompletionItemProvider(`sql`,We(t,G))),L){e.addAction({id:`run-sql-at-cursor`,label:`Run Statement at Cursor`,keybindings:[t.KeyMod.CtrlCmd|t.KeyCode.Enter],run:e=>{let t=e.getPosition();if(!t)return;let n=Ue(e.getValue(),t.lineNumber);n&&zt.current(n)}}),Z.current.forEach(e=>e.dispose()),Z.current=[];let n=e.getModel(),r=e.addCommand(0,(e,t)=>{t&&zt.current(t)});if(r&&n){let e=t.languages.registerCodeLensProvider(`sql`,{provideCodeLenses:e=>{if(e!==n)return{lenses:[],dispose:()=>{}};let t=[],i=(e,n,i=`▷ Run`)=>{let a=n.trim();a&&t.push({range:{startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1},command:{id:r,title:i,arguments:[a]}})},a=/^(BEGIN|COMMIT|ROLLBACK|END)(;|\s|$)/i,o=-1,s=[];for(let{sql:t,startLine:n}of Ge(e.getValue())){let e=/^BEGIN(;|\s|$)/i.test(t),r=/^(COMMIT|ROLLBACK|END)(;|\s|$)/i.test(t);o===-1&&e?(o=n,s=[t]):o>-1?(s.push(t),!r&&!a.test(t)&&i(n,t),r&&(i(o,s.join(`
6
+ `),`▷ Run Transaction`),o=-1,s=[])):i(n,t)}return o>-1&&s.length>1&&i(o,s.join(`
7
+ `),`▷ Run Transaction`),{lenses:t,dispose:()=>{}}}});Z.current.push(e);let i=t.languages.registerFoldingRangeProvider(`sql`,{provideFoldingRanges:e=>{if(e!==n)return[];let r=[],i=e.getLineCount(),a=[];for(let n=1;n<=i;n++){let i=e.getLineContent(n).trim();if(/^BEGIN(;|\s|$)/i.test(i))a.push(n);else if(/^(COMMIT|ROLLBACK|END)(;|\s|$)/i.test(i)&&a.length>0){let e=a.pop();r.push({start:e,end:n,kind:t.languages.FoldingRangeKind.Region})}}return r}});Z.current.push(i)}}},[G,L]);if(!i&&!k&&(!n||!Q&&!r))return(0,R.jsx)(`div`,{className:`flex items-center justify-center h-full text-text-secondary text-sm`,children:`No file selected.`});if(d)return(0,R.jsxs)(`div`,{className:`flex items-center justify-center h-full gap-2 text-text-secondary`,children:[(0,R.jsx)(y,{className:`size-5 animate-spin`}),(0,R.jsx)(`span`,{className:`text-sm`,children:`Loading file...`})]});if(p)return(0,R.jsx)(`div`,{className:`flex items-center justify-center h-full text-error text-sm`,children:p});if(N)return(0,R.jsx)(F.Suspense,{fallback:(0,R.jsx)(jt,{}),children:(0,R.jsx)(St,{filePath:n,projectName:r})});if(De)return(0,R.jsx)(F.Suspense,{fallback:(0,R.jsx)(jt,{}),children:(0,R.jsx)(Ct,{filePath:n,projectName:r})});if(P)return(0,R.jsx)(F.Suspense,{fallback:(0,R.jsx)(jt,{}),children:(0,R.jsx)(Et,{filePath:n,projectName:r})});if(Oe)return(0,R.jsx)(F.Suspense,{fallback:(0,R.jsx)(jt,{}),children:(0,R.jsx)(wt,{filePath:n,projectName:r})});if(je)return(0,R.jsx)(F.Suspense,{fallback:(0,R.jsx)(jt,{}),children:(0,R.jsx)(Tt,{filePath:n,projectName:r})});if(l===`base64`)return(0,R.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-text-secondary`,children:[(0,R.jsx)(ce,{className:`size-10 text-text-subtle`}),(0,R.jsx)(`p`,{className:`text-sm`,children:`This file is a binary format and cannot be displayed.`}),(0,R.jsx)(`p`,{className:`text-xs text-text-subtle`,children:n})]});let on=L?(0,R.jsxs)(`div`,{className:`shrink-0 flex items-center gap-1 px-2 border-l border-border`,children:[(0,R.jsx)(ee,{className:`size-3 text-muted-foreground`}),(0,R.jsxs)(`select`,{value:B??``,onChange:e=>{let t=Number(e.target.value);t&&lt(t)},className:`h-5 text-[10px] bg-transparent border border-border rounded px-1 text-foreground outline-none max-w-[140px]`,title:`Select connection for autocomplete`,children:[(0,R.jsx)(`option`,{value:``,children:`Connection…`}),$e.map(e=>(0,R.jsx)(`option`,{value:e.id,children:e.name},e.id))]}),(0,R.jsx)(`button`,{type:`button`,onClick:Pt,disabled:!U,className:`p-0.5 rounded text-muted-foreground hover:text-primary disabled:opacity-30 transition-colors`,title:`Run SQL`,children:(0,R.jsx)(o,{className:`size-3.5`})}),U&&(0,R.jsx)(`button`,{type:`button`,onClick:()=>it(U.id,{readonly:U.readonly?0:1}),className:`flex items-center gap-0.5 px-1 py-0.5 rounded text-[10px] transition-colors ${U.readonly?`text-muted-foreground hover:text-foreground`:`bg-destructive/15 text-destructive`}`,title:U.readonly?`Readonly — click to allow writes`:`WRITE mode — click to enable readonly`,children:U.readonly?(0,R.jsx)(ie,{className:`size-3`}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(te,{className:`size-3`}),(0,R.jsx)(`span`,{className:`font-medium`,children:`WRITE`})]})})]}):null;return(0,R.jsxs)(`div`,{ref:It,className:`flex flex-col h-full w-full overflow-hidden`,style:Lt?{height:`${Lt}px`,maxHeight:`${Lt}px`}:void 0,children:[Jt&&x&&n&&r&&(0,R.jsx)(F.Suspense,{fallback:null,children:(0,R.jsx)(bt,{editor:x.editor,monaco:x.monaco,projectName:r,filePath:n,onState:Zt})}),i!=null&&ot&&(0,R.jsx)(`div`,{className:`flex items-center h-7 border-b border-border bg-background shrink-0 px-2 gap-2`,children:(0,R.jsx)(`button`,{type:`button`,onClick:ct,className:`text-[10px] px-2 py-0.5 rounded border border-border hover:bg-muted transition-colors text-foreground`,children:st?`Raw`:`Beautify`})}),n&&r&&t&&(0,R.jsxs)(`div`,{className:`hidden md:flex items-center h-7 border-b border-border bg-background shrink-0`,children:[(0,R.jsx)(ut,{filePath:n,projectName:r,tabId:t,className:`flex items-center flex-1 min-w-0 overflow-x-auto scrollbar-none px-2 gap-0.5`}),Kt&&!ye&&(0,R.jsx)(nt,{enabled:qt,onToggle:ve,status:Yt.status,diagnostics:Yt.diagnostics}),(0,R.jsx)(mt,{value:I,onChange:dt}),on,(0,R.jsx)(ft,{ext:M,mdMode:Ye,onMdModeChange:Xe,csvMode:Ze,onCsvModeChange:Qe,wordWrap:O,onToggleWordWrap:be,inlineBlame:ue,onToggleInlineBlame:Wt?me:void 0,blameStale:Gt.stale,onRefresh:Ht,refreshing:Bt,filePath:n,projectName:r,className:`shrink-0 flex items-center gap-1 px-2`})]}),i==null&&t&&(k||n&&!r)&&(0,R.jsxs)(`div`,{className:`hidden md:flex items-center h-7 border-b border-border bg-background shrink-0 px-2`,children:[(0,R.jsx)(`span`,{className:`text-xs text-muted-foreground truncate flex-1`,children:k?`Untitled-${e?.untitledNumber??1}`:n?fe(n):`Untitled`}),(0,R.jsx)(mt,{value:I,onChange:dt}),on]}),qe&&Ze===`table`?(0,R.jsx)(F.Suspense,{fallback:(0,R.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,R.jsx)(y,{className:`size-5 animate-spin text-text-subtle`})}),children:(0,R.jsx)(xt,{content:s??``,onContentChange:$t,wordWrap:O})}):Le&&Ye===`preview`?(0,R.jsx)(Mt,{content:s??``}):(0,R.jsx)(`div`,{className:`flex-1 overflow-hidden min-h-0`,children:(0,R.jsx)(ke,{height:`100%`,language:I,beforeMount:Re,value:s??``,onChange:i==null?$t:void 0,onMount:an,theme:xe,options:{fontSize:14,fontFamily:Fe,fontLigatures:Pe,wordWrap:O?`on`:`off`,minimap:{enabled:!1},scrollBeyondLastLine:!1,automaticLayout:!0,lineNumbers:`on`,folding:!0,bracketPairColorization:{enabled:!0},readOnly:i!=null,quickSuggestions:{other:!0,comments:!1,strings:!1},suggestOnTriggerCharacters:!0,acceptSuggestionOnEnter:`on`,suggestSelection:`first`,parameterHints:{enabled:!0},inlayHints:{enabled:`on`},"semanticHighlighting.enabled":!0,stickyScroll:{enabled:!Ft},peekWidgetDefaultFocus:`editor`},loading:(0,R.jsx)(y,{className:`size-5 animate-spin text-text-subtle`})},I)}),L&&(pt||gt||_t)&&(0,R.jsx)(At,{result:pt,error:gt,loading:_t,connName:U?.name,onClose:()=>{q(null),J(null),Y(!1)},onOpenInTab:Nt}),Ft&&(0,R.jsx)(vt,{editorRef:b,readOnly:i!=null,wrapOn:O,onToggleWrap:be}),Ce&&(0,R.jsx)(ht,{open:Ce,defaultName:`Untitled-${e?.untitledNumber??1}`,content:v.current,onSave:en,onCancel:()=>A(!1)})]})}),X=()=>{};function At({result:e,error:t,loading:n,connName:i,onClose:a,onOpenInTab:o}){let s=(0,F.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,F.useMemo)(()=>(e?.columns??[]).map(e=>({name:e,type:`text`,nullable:!0,pk:!1,defaultValue:null})),[e?.columns]),[u,d]=(0,F.useState)(250),f=(0,F.useCallback)(e=>{e.preventDefault();let t=e.clientY,n=u,r=e.currentTarget.ownerDocument,i=e=>d(Math.max(80,n+(t-e.clientY))),a=()=>{r.removeEventListener(`mousemove`,i),r.removeEventListener(`mouseup`,a)};r.addEventListener(`mousemove`,i),r.addEventListener(`mouseup`,a)},[u]);return(0,R.jsxs)(`div`,{className:`shrink-0 border-t border-border flex flex-col`,style:{height:u},children:[(0,R.jsx)(`div`,{onMouseDown:f,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,R.jsx)(c,{className:`size-3 text-muted-foreground/50`})}),(0,R.jsxs)(`div`,{className:`flex items-center gap-2 px-2 py-1 bg-muted/50 border-b border-border shrink-0`,children:[(0,R.jsx)(ee,{className:`size-3 text-muted-foreground`}),(0,R.jsxs)(`span`,{className:`text-xs font-medium text-foreground truncate flex-1`,children:[i?`${i} · Results`:`Query Results`,e?.executionTimeMs!=null&&(0,R.jsxs)(`span`,{className:`text-muted-foreground ml-1.5 font-normal`,children:[e.executionTimeMs,`ms`]})]}),(0,R.jsxs)(`button`,{type:`button`,onClick:o,title:`Open in DB Viewer tab`,className:`flex items-center gap-1 px-1.5 py-0.5 rounded text-[10px] text-muted-foreground hover:text-foreground hover:bg-muted transition-colors`,children:[(0,R.jsx)(h,{className:`size-3`}),(0,R.jsx)(`span`,{className:`hidden sm:inline`,children:`Open in Tab`})]}),(0,R.jsx)(`button`,{type:`button`,onClick:a,title:`Close results`,className:`p-0.5 rounded text-muted-foreground hover:text-foreground transition-colors`,children:(0,R.jsx)(r,{className:`size-3`})})]}),(0,R.jsxs)(`div`,{className:`flex-1 overflow-hidden min-h-0`,children:[n&&(0,R.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,R.jsx)(y,{className:`size-4 animate-spin text-muted-foreground`})}),t&&(0,R.jsx)(`div`,{className:`px-3 py-2 text-xs text-destructive bg-destructive/5`,children:t}),e?.changeType===`modify`&&(0,R.jsxs)(`div`,{className:`px-3 py-2 text-xs text-success`,children:[e.rowsAffected,` row(s) affected`]}),s&&(0,R.jsx)(qe,{columns:s.columns,rows:s.rows,total:s.total,limit:s.limit,schema:l,loading:!1,page:1,onPageChange:X,onCellUpdate:X,readOnly:!0,orderBy:null,orderDir:`ASC`,onToggleSort:X,connectionName:i}),e?.changeType===`select`&&e.rows.length===0&&(0,R.jsx)(`div`,{className:`px-3 py-2 text-xs text-muted-foreground`,children:`No results`})]})]})}function jt(){return(0,R.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,R.jsx)(y,{className:`size-5 animate-spin text-text-subtle`})})}function Mt({content:e}){return(0,R.jsx)(F.Suspense,{fallback:(0,R.jsx)(`div`,{className:`animate-pulse h-4 bg-muted rounded m-4`}),children:(0,R.jsx)(yt,{content:e,className:`flex-1 overflow-auto p-4`})})}export{kt as CodeEditor};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{C as t,S as n}from"./vendor-markdown-CuWCHIVb.js";import{Br as r,Qn as i,V as a,Xt as o,lt as s,st as c,wr as l}from"./icons-DQjqk0lJ.js";import{t as u}from"./button-VW4QGKCn.js";import{Z as d,_n as f,gn as p,vn as m}from"./index-ZtfxZOyb.js";import{getAccounts as h,getActiveAccount as g,getAllAccountUsages as _,patchAccount as v}from"./api-settings-BcNjZIvG.js";function y(e){return e>=90?`text-error`:e>=70?`text-warning`:`text-success`}function b(e){return e>=90?`bg-error`:e>=70?`bg-warning`:`bg-success`}function x(e){if(!e)return null;let t=null;if(e.resetsInMinutes!=null)t=e.resetsInMinutes;else if(e.resetsInHours!=null)t=Math.round(e.resetsInHours*60);else if(e.resetsAt){let n=new Date(e.resetsAt).getTime()-Date.now();t=n>0?Math.ceil(n/6e4):0}if(t==null)return null;if(t<=0)return`now`;let n=Math.floor(t/1440),r=Math.floor(t%1440/60),i=t%60;return n>0?i>0?`${n}d ${r}h ${i}m`:r>0?`${n}d ${r}h`:`${n}d`:r>0?i>0?`${r}h ${i}m`:`${r}h`:`${i}m`}function S(e){if(!e)return null;let t=new Date(e).getTime();return Number.isFinite(t)?new Date(t).toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`}):null}function C(e){let t=e-Date.now();if(t<=0)return`expired`;let n=Math.ceil(t/6e4),r=Math.floor(n/60),i=Math.floor(r/24);return i>0?`${i}d ${r%24}h`:r>0?`${r}h ${n%60}m`:`${n}m`}function w(e){if(!e)return{label:`unknown`,tip:`No account info available`,color:`text-text-subtle`};if(!e.expiresAt)return{label:`key`,tip:`API key (no expiry)`,color:`text-text-subtle`};if(e.reauthRequired)return{label:`sign in again`,tip:`Anthropic rejected this account's refresh token. Sign in again to restore it.`,color:`text-error`};let t=e.expiresAt*1e3<Date.now();return t&&e.hasRefreshToken?{label:`expired`,tip:`Token expired but has refresh token — will auto-renew`,color:`text-warning`}:t?{label:`expired`,tip:`Token expired, no refresh token`,color:`text-error`}:e.hasRefreshToken?{label:`long-lived`,tip:`OAuth token with refresh — long-lived`,color:`text-success`}:{label:`temp`,tip:`Temporary token without refresh — will expire`,color:`text-warning`}}function T(e){if(!e)return null;let t=Math.round((Date.now()-e)/1e3);if(t<5)return`just now`;if(t<60)return`${t}s ago`;let n=Math.floor(t/60);if(n<60)return`${n}m ago`;let r=Math.floor(n/60),i=n%60;return r<24?i>0?`${r}h ${i}m ago`:`${r}h ago`:`${Math.floor(r/24)}d ago`}var E=n();function D({label:e,pct:t,reset:n,resetsAt:r}){let i=S(r);return(0,E.jsxs)(`div`,{className:`space-y-1`,"data-testid":`account-usage-bar`,children:[(0,E.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,E.jsx)(`span`,{className:`text-xs font-medium text-text-primary`,children:e}),n&&(0,E.jsxs)(p,{children:[(0,E.jsx)(m,{asChild:!0,children:(0,E.jsxs)(`span`,{className:`text-[10px] text-text-subtle cursor-default`,children:[`↻ `,n]})}),(0,E.jsx)(f,{side:`top`,children:i?`Resets ${i}`:`Resets in`})]})]}),(0,E.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,E.jsx)(`div`,{className:`flex-1 h-2 rounded-full bg-border overflow-hidden`,children:t!=null&&(0,E.jsx)(`div`,{className:`h-full rounded-full transition-all ${b(t)}`,style:{width:`${Math.min(t,100)}%`}})}),(0,E.jsx)(`span`,{className:`text-xs font-medium tabular-nums w-10 text-right ${t==null?`text-text-subtle`:y(t)}`,children:t==null?`—`:`${t}%`})]})]})}function O({label:e,bucket:t}){return t?(0,E.jsx)(D,{label:e,pct:Math.round(t.utilization*100),reset:x(t),resetsAt:t.resetsAt}):null}function k({hint:e,className:t,children:n}){return(0,E.jsxs)(p,{children:[(0,E.jsx)(m,{asChild:!0,children:(0,E.jsx)(`button`,{type:`button`,className:[`cursor-help text-left`,t].filter(Boolean).join(` `),children:n})}),(0,E.jsx)(f,{side:`top`,className:`max-w-[260px] text-xs leading-relaxed`,children:e})]})}function A({description:e,onRefresh:t,refreshing:n,disabled:r,actions:a}){return(0,E.jsxs)(`section`,{className:`space-y-2`,children:[(0,E.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,E.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e}),(0,E.jsx)(u,{variant:`ghost`,size:`icon`,className:`size-8 shrink-0 cursor-pointer`,onClick:t,disabled:r||n,title:`Refresh`,"aria-label":`Refresh accounts`,children:(0,E.jsx)(i,{className:`size-4 ${n?`animate-spin`:``}`})})]}),(0,E.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:a})]})}function j({message:e,onDismiss:t}){return e?(0,E.jsxs)(`div`,{className:`flex items-start gap-2 text-xs p-2 rounded bg-muted`,role:`status`,children:[(0,E.jsx)(`span`,{className:`flex-1`,children:e}),(0,E.jsx)(`button`,{onClick:t,className:`shrink-0 text-muted-foreground hover:text-foreground cursor-pointer`,"aria-label":`Dismiss message`,children:(0,E.jsx)(r,{className:`size-3.5`})})]}):null}function M({children:e}){return(0,E.jsx)(`div`,{className:`flex gap-2 overflow-x-auto pb-1 -mx-1 px-1 snap-x snap-mandatory scrollbar-thin`,children:e})}function N({active:e,flash:t,dense:n,children:r,...i}){return(0,E.jsx)(`div`,{...i,className:[`rounded-md border transition-colors duration-500`,n?`p-2.5 space-y-1.5`:`p-3 space-y-2`,t?`bg-primary/10 border-primary/40`:``,e?`border-primary/30 bg-primary/5`:`border-border/50`,i.className??``].filter(Boolean).join(` `),children:r})}var P={readOnly:`min-w-[220px]`,withActions:`min-w-[300px]`};function F({entry:e,isActive:t,accountInfo:n,onToggle:r,toggling:u,onDelete:h,onExport:g,onViewProfile:_,flash:v,onSelect:y,unselectableReason:b,selecting:x,planLabel:S,dailyGuard:D,onDailyGuardToggle:A,dailyGuardToggling:j,layout:M=`list`}){let{usage:F}=e,I=F.session||F.weekly||F.weeklyOpus||F.weeklySonnet,L=n?.status??e.accountStatus,R=!!(n&&!n.hasRefreshToken&&n.expiresAt&&n.expiresAt<Math.floor(Date.now()/1e3)),z=w(n),B=!!n?.reauthRequired,V=n?.grantExpiresAt?n.grantExpiresAt*1e3:null,H=!!V&&V-Date.now()<5*864e5,U=!!n&&(z.label===`temp`||z.label===`unknown`||z.label===`expired`&&!R&&!B),W=V?new Date(V).toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`}):null,G=!!(r||h||g||_),K=R?`Token expired — sign in again`:B?`Sign in again to use this account`:b??null,q=M===`list`?``:M===`grid`?`flex flex-col justify-evenly overflow-hidden min-h-0`:`shrink-0 snap-start ${G?P.withActions:P.readOnly}`;return(0,E.jsxs)(N,{active:t,flash:v,dense:M!==`list`,className:[q,R||B?`opacity-50`:``].filter(Boolean).join(` `)||void 0,"data-testid":`account-card`,"data-account-id":e.accountId,children:[(0,E.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,E.jsx)(`span`,{className:`text-sm font-medium truncate flex-1 min-w-0`,children:e.accountLabel??e.accountId.slice(0,8)}),t&&(0,E.jsx)(k,{className:`text-[10px] text-primary shrink-0 font-medium`,hint:`The next turn will run on this account.`,children:`Active`}),y&&!t&&(0,E.jsxs)(p,{children:[(0,E.jsx)(m,{asChild:!0,children:(0,E.jsx)(`button`,{type:`button`,onClick:()=>y(e.accountId),disabled:x,className:[`shrink-0 rounded px-1.5 py-0.5 text-[10px] font-medium transition-colors cursor-pointer disabled:cursor-wait`,K?`text-text-subtle hover:text-error hover:bg-error/10`:`text-text-secondary hover:text-foreground hover:bg-surface-elevated`].join(` `),children:x?`Switching…`:`Use`})}),(0,E.jsx)(f,{side:`top`,children:K??`Use this account for this chat`})]}),R&&(0,E.jsx)(k,{className:`text-[10px] text-error shrink-0 font-medium`,hint:`This token has expired and carries no refresh token, so nothing can renew it. Add the account again.`,children:`Expired`}),B&&!R&&(0,E.jsx)(k,{className:`text-[10px] text-error shrink-0 font-medium`,hint:`Anthropic rejected this account's refresh token, so no turn can run on it. Signing in again is the only thing that restores it.`,children:`Sign in again`}),!e.isOAuth&&!R&&(0,E.jsx)(k,{className:`text-[10px] text-text-subtle shrink-0`,hint:`A static API key rather than a sign-in: nothing to expire and nothing to renew.`,children:`API key`}),S&&(0,E.jsx)(k,{className:`text-[10px] uppercase tracking-wide text-text-subtle shrink-0`,hint:`The subscription this account is on. It decides which quota windows the account has — some plans have a weekly limit and no shorter one.`,children:S}),(0,E.jsxs)(`div`,{className:`flex items-center gap-0.5 shrink-0`,children:[!R&&_&&n?.profileData&&(0,E.jsxs)(p,{children:[(0,E.jsx)(m,{asChild:!0,children:(0,E.jsx)(`button`,{className:`p-2 rounded cursor-pointer text-text-subtle hover:text-foreground hover:bg-surface-elevated transition-colors`,onClick:()=>_(n.profileData,e.accountId),"aria-label":`View profile`,children:(0,E.jsx)(s,{className:`size-4`})})}),(0,E.jsx)(f,{side:`top`,children:`View profile`})]}),!R&&g&&e.isOAuth&&(0,E.jsxs)(p,{children:[(0,E.jsx)(m,{asChild:!0,children:(0,E.jsx)(`button`,{className:`p-2 rounded cursor-pointer text-text-subtle hover:text-primary hover:bg-surface-elevated transition-colors`,onClick:()=>g(e.accountId),"aria-label":`Export this account`,children:(0,E.jsx)(c,{className:`size-4`})})}),(0,E.jsx)(f,{side:`top`,children:`Export this account`})]}),!R&&r&&(0,E.jsx)(d,{checked:L!==`disabled`,onCheckedChange:()=>r(e.accountId,L),disabled:u||L===`cooldown`,"aria-label":L===`disabled`?`Enable account`:`Disable account`,className:`cursor-pointer`}),h&&(0,E.jsxs)(p,{children:[(0,E.jsx)(m,{asChild:!0,children:(0,E.jsx)(`button`,{className:`p-2 rounded cursor-pointer text-text-subtle hover:text-error hover:bg-surface-elevated transition-colors`,onClick:()=>h(e.accountId,e.accountLabel??e.accountId.slice(0,8)),"aria-label":`Remove account`,children:(0,E.jsx)(l,{className:`size-4`})})}),(0,E.jsx)(f,{side:`top`,children:`Remove account`})]})]})]}),I?(0,E.jsxs)(`div`,{className:`space-y-2`,children:[(0,E.jsx)(O,{label:`5-Hour Session`,bucket:F.session}),(0,E.jsx)(O,{label:`Weekly`,bucket:F.weekly}),(0,E.jsx)(O,{label:`Weekly (Opus)`,bucket:F.weeklyOpus}),(0,E.jsx)(O,{label:`Weekly (Sonnet)`,bucket:F.weeklySonnet})]}):(0,E.jsx)(`p`,{className:`text-xs text-text-subtle`,children:e.isOAuth?`No usage data yet`:`Usage tracking not available for API keys`}),D&&(0,E.jsxs)(`div`,{className:`flex min-h-12 items-center justify-between gap-3 rounded-md border px-2.5 py-1.5 ${D.enabled&&D.state.blocked?`border-error/40 bg-error/5`:`border-border/50 bg-surface/40`}`,children:[(0,E.jsxs)(`div`,{className:`min-w-0 space-y-0.5`,children:[(0,E.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs font-medium ${D.enabled&&D.state.blocked?`text-error`:`text-text-secondary`}`,children:[(0,E.jsx)(`span`,{children:`Daily guard`}),(0,E.jsxs)(p,{children:[(0,E.jsx)(m,{asChild:!0,children:(0,E.jsx)(`button`,{type:`button`,"aria-label":`About Daily guard`,className:`text-text-subtle hover:text-text-primary cursor-help`,children:(0,E.jsx)(a,{className:`size-3.5`})})}),(0,E.jsx)(f,{side:`top`,className:`max-w-64 text-xs leading-relaxed`,children:`Keeps a weekly-only Codex account on pace to last until its reset. Each day adds one seventh of the weekly quota. When usage reaches that day's cap, PPM pauses new turns until the next day.`})]})]}),(0,E.jsx)(`p`,{className:`text-[10px] tabular-nums ${D.enabled&&D.state.blocked?`text-error`:`text-text-subtle`}`,children:D.enabled&&D.state.blocked?`${Math.round(D.state.used*100)}% used / ${Math.round(D.state.cap*100)}% daily cap. New turns paused.`:`Day ${D.state.day}/7, ${Math.round(D.state.cap*100)}% daily cap`})]}),A&&(0,E.jsx)(d,{checked:D.enabled,onCheckedChange:A,disabled:j,"aria-label":D.enabled?`Disable Daily guard`:`Enable Daily guard`,className:`cursor-pointer shrink-0`})]}),(0,E.jsxs)(`div`,{className:`flex items-center gap-2 text-[10px] text-text-subtle flex-wrap`,children:[F.lastFetchedAt&&(0,E.jsxs)(k,{className:`inline-flex items-center gap-1`,hint:`Usage last read from Anthropic on ${new Date(F.lastFetchedAt).toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`})}. The bars above are only as current as this.`,children:[(0,E.jsx)(i,{className:`size-3 shrink-0`,"aria-hidden":!0}),T(new Date(F.lastFetchedAt).getTime())]}),V&&!B&&(0,E.jsxs)(k,{className:[`inline-flex items-center gap-1`,H?`text-warning`:``].filter(Boolean).join(` `),hint:`Sign-in stops working on ${W}. Anthropic ends every sign-in on a fixed schedule from the day it was made, whether or not the account gets used — refreshing does not extend it. After that the account fails until you sign in again.`,children:[(0,E.jsx)(o,{className:`size-3 shrink-0`,"aria-hidden":!0}),`sign-in `,C(V)]}),U&&(0,E.jsxs)(k,{className:z.color,hint:z.tip,children:[`© `,z.label]})]})]})}var I=e(t(),1);function L(e){let t=e.usage;return[t.session?.utilization,t.weekly?.utilization,t.weeklyOpus?.utilization,t.weeklySonnet?.utilization].join(`|`)}function R(e=!0){let[t,n]=(0,I.useState)([]),[r,i]=(0,I.useState)([]),[a,o]=(0,I.useState)(null),[s,c]=(0,I.useState)(!0),[l,u]=(0,I.useState)(!1),[d,f]=(0,I.useState)(new Set),[p,m]=(0,I.useState)(null),y=(0,I.useRef)([]),b=(0,I.useRef)(void 0),x=(0,I.useCallback)(async()=>{let e=y.current.length>0;e?u(!0):c(!0);let[t,r,a]=await Promise.allSettled([_(),h(),g()]);if(t.status===`fulfilled`){let r=t.value;if(e){let e=new Map(y.current.map(e=>[e.accountId,L(e)])),t=new Set(r.filter(t=>e.get(t.accountId)!==L(t)).map(e=>e.accountId));t.size>0&&(f(t),clearTimeout(b.current),b.current=setTimeout(()=>f(new Set),1500))}y.current=r,n(r)}r.status===`fulfilled`&&i(r.value),a.status===`fulfilled`&&o(a.value?.id??null),c(!1),u(!1)},[]),S=(0,I.useCallback)(async(e,t)=>{m(e);let n=null;try{await v(e,{status:t===`disabled`?`active`:`disabled`})}catch(e){n=e.message}return m(null),await x(),n},[x]);return(0,I.useEffect)(()=>(e&&x(),()=>clearTimeout(b.current)),[e,x]),{usages:t,accounts:r,activeAccountId:a,initialLoading:s,refreshing:l,flashIds:d,reload:x,toggle:S,togglingId:p}}function z(e){return e?.trim()?{free:`ChatGPT Free`,go:`ChatGPT Go`,plus:`ChatGPT Plus`,pro:`ChatGPT Pro`,team:`ChatGPT Team`,business:`ChatGPT Business`,self_serve_business_prolite:`ChatGPT Business`,enterprise:`ChatGPT Enterprise`,edu:`ChatGPT Edu`}[e.trim().toLowerCase()]??e:null}var B=1440*60*1e3,V=7;function H(e,t=Date.now()){if(!e||e.windowHours!==168)return null;let n=new Date(e.resetsAt).getTime();if(!Number.isFinite(n)||n<=t)return null;let r=n-V*B,i=Math.min(V,Math.max(1,Math.ceil((t-r)/B))),a=i/V;return{day:i,cap:a,used:e.utilization,blocked:e.utilization>=a}}export{M as a,j as c,T as d,x as f,F as i,O as l,z as n,N as o,R as r,A as s,H as t,D as u};
1
+ import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{C as t,S as n}from"./vendor-markdown-CuWCHIVb.js";import{Br as r,Qn as i,V as a,Xt as o,lt as s,st as c,wr as l}from"./icons-DQjqk0lJ.js";import{t as u}from"./button-B9CTrsEf.js";import{Cn as d,Sn as f,Y as p,wn as m}from"./index-DU68xk06.js";import{getAccounts as h,getActiveAccount as g,getAllAccountUsages as _,patchAccount as v}from"./api-settings-_7Q-ULxp.js";function y(e){return e>=90?`text-error`:e>=70?`text-warning`:`text-success`}function b(e){return e>=90?`bg-error`:e>=70?`bg-warning`:`bg-success`}function x(e){if(!e)return null;let t=null;if(e.resetsInMinutes!=null)t=e.resetsInMinutes;else if(e.resetsInHours!=null)t=Math.round(e.resetsInHours*60);else if(e.resetsAt){let n=new Date(e.resetsAt).getTime()-Date.now();t=n>0?Math.ceil(n/6e4):0}if(t==null)return null;if(t<=0)return`now`;let n=Math.floor(t/1440),r=Math.floor(t%1440/60),i=t%60;return n>0?i>0?`${n}d ${r}h ${i}m`:r>0?`${n}d ${r}h`:`${n}d`:r>0?i>0?`${r}h ${i}m`:`${r}h`:`${i}m`}function S(e){if(!e)return null;let t=new Date(e).getTime();return Number.isFinite(t)?new Date(t).toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`}):null}function C(e){let t=e-Date.now();if(t<=0)return`expired`;let n=Math.ceil(t/6e4),r=Math.floor(n/60),i=Math.floor(r/24);return i>0?`${i}d ${r%24}h`:r>0?`${r}h ${n%60}m`:`${n}m`}function w(e){if(!e)return{label:`unknown`,tip:`No account info available`,color:`text-text-subtle`};if(!e.expiresAt)return{label:`key`,tip:`API key (no expiry)`,color:`text-text-subtle`};if(e.reauthRequired)return{label:`sign in again`,tip:`Anthropic rejected this account's refresh token. Sign in again to restore it.`,color:`text-error`};let t=e.expiresAt*1e3<Date.now();return t&&e.hasRefreshToken?{label:`expired`,tip:`Token expired but has refresh token — will auto-renew`,color:`text-warning`}:t?{label:`expired`,tip:`Token expired, no refresh token`,color:`text-error`}:e.hasRefreshToken?{label:`long-lived`,tip:`OAuth token with refresh — long-lived`,color:`text-success`}:{label:`temp`,tip:`Temporary token without refresh — will expire`,color:`text-warning`}}function T(e){if(!e)return null;let t=Math.round((Date.now()-e)/1e3);if(t<5)return`just now`;if(t<60)return`${t}s ago`;let n=Math.floor(t/60);if(n<60)return`${n}m ago`;let r=Math.floor(n/60),i=n%60;return r<24?i>0?`${r}h ${i}m ago`:`${r}h ago`:`${Math.floor(r/24)}d ago`}var E=n();function D({label:e,pct:t,reset:n,resetsAt:r}){let i=S(r);return(0,E.jsxs)(`div`,{className:`space-y-1`,"data-testid":`account-usage-bar`,children:[(0,E.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,E.jsx)(`span`,{className:`text-xs font-medium text-text-primary`,children:e}),n&&(0,E.jsxs)(f,{children:[(0,E.jsx)(m,{asChild:!0,children:(0,E.jsxs)(`span`,{className:`text-[10px] text-text-subtle cursor-default`,children:[`↻ `,n]})}),(0,E.jsx)(d,{side:`top`,children:i?`Resets ${i}`:`Resets in`})]})]}),(0,E.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,E.jsx)(`div`,{className:`flex-1 h-2 rounded-full bg-border overflow-hidden`,children:t!=null&&(0,E.jsx)(`div`,{className:`h-full rounded-full transition-all ${b(t)}`,style:{width:`${Math.min(t,100)}%`}})}),(0,E.jsx)(`span`,{className:`text-xs font-medium tabular-nums w-10 text-right ${t==null?`text-text-subtle`:y(t)}`,children:t==null?`—`:`${t}%`})]})]})}function O({label:e,bucket:t}){return t?(0,E.jsx)(D,{label:e,pct:Math.round(t.utilization*100),reset:x(t),resetsAt:t.resetsAt}):null}function k({hint:e,className:t,children:n}){return(0,E.jsxs)(f,{children:[(0,E.jsx)(m,{asChild:!0,children:(0,E.jsx)(`button`,{type:`button`,className:[`cursor-help text-left`,t].filter(Boolean).join(` `),children:n})}),(0,E.jsx)(d,{side:`top`,className:`max-w-[260px] text-xs leading-relaxed`,children:e})]})}function A({description:e,onRefresh:t,refreshing:n,disabled:r,actions:a}){return(0,E.jsxs)(`section`,{className:`space-y-2`,children:[(0,E.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,E.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e}),(0,E.jsx)(u,{variant:`ghost`,size:`icon`,className:`size-8 shrink-0 cursor-pointer`,onClick:t,disabled:r||n,title:`Refresh`,"aria-label":`Refresh accounts`,children:(0,E.jsx)(i,{className:`size-4 ${n?`animate-spin`:``}`})})]}),(0,E.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:a})]})}function j({message:e,onDismiss:t}){return e?(0,E.jsxs)(`div`,{className:`flex items-start gap-2 text-xs p-2 rounded bg-muted`,role:`status`,children:[(0,E.jsx)(`span`,{className:`flex-1`,children:e}),(0,E.jsx)(`button`,{onClick:t,className:`shrink-0 text-muted-foreground hover:text-foreground cursor-pointer`,"aria-label":`Dismiss message`,children:(0,E.jsx)(r,{className:`size-3.5`})})]}):null}function M({children:e}){return(0,E.jsx)(`div`,{className:`flex gap-2 overflow-x-auto pb-1 -mx-1 px-1 snap-x snap-mandatory scrollbar-thin`,children:e})}function N({active:e,flash:t,dense:n,children:r,...i}){return(0,E.jsx)(`div`,{...i,className:[`rounded-md border transition-colors duration-500`,n?`p-2.5 space-y-1.5`:`p-3 space-y-2`,t?`bg-primary/10 border-primary/40`:``,e?`border-primary/30 bg-primary/5`:`border-border/50`,i.className??``].filter(Boolean).join(` `),children:r})}var P={readOnly:`min-w-[220px]`,withActions:`min-w-[300px]`};function F({entry:e,isActive:t,accountInfo:n,onToggle:r,toggling:u,onDelete:h,onExport:g,onViewProfile:_,flash:v,onSelect:y,unselectableReason:b,selecting:x,planLabel:S,dailyGuard:D,onDailyGuardToggle:A,dailyGuardToggling:j,layout:M=`list`}){let{usage:F}=e,I=F.session||F.weekly||F.weeklyOpus||F.weeklySonnet,L=n?.status??e.accountStatus,R=!!(n&&!n.hasRefreshToken&&n.expiresAt&&n.expiresAt<Math.floor(Date.now()/1e3)),z=w(n),B=!!n?.reauthRequired,V=n?.grantExpiresAt?n.grantExpiresAt*1e3:null,H=!!V&&V-Date.now()<5*864e5,U=!!n&&(z.label===`temp`||z.label===`unknown`||z.label===`expired`&&!R&&!B),W=V?new Date(V).toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`}):null,G=!!(r||h||g||_),K=R?`Token expired — sign in again`:B?`Sign in again to use this account`:b??null,q=M===`list`?``:M===`grid`?`flex flex-col justify-evenly overflow-hidden min-h-0`:`shrink-0 snap-start ${G?P.withActions:P.readOnly}`;return(0,E.jsxs)(N,{active:t,flash:v,dense:M!==`list`,className:[q,R||B?`opacity-50`:``].filter(Boolean).join(` `)||void 0,"data-testid":`account-card`,"data-account-id":e.accountId,children:[(0,E.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,E.jsx)(`span`,{className:`text-sm font-medium truncate flex-1 min-w-0`,children:e.accountLabel??e.accountId.slice(0,8)}),t&&(0,E.jsx)(k,{className:`text-[10px] text-primary shrink-0 font-medium`,hint:`The next turn will run on this account.`,children:`Active`}),y&&!t&&(0,E.jsxs)(f,{children:[(0,E.jsx)(m,{asChild:!0,children:(0,E.jsx)(`button`,{type:`button`,onClick:()=>y(e.accountId),disabled:x,className:[`shrink-0 rounded px-1.5 py-0.5 text-[10px] font-medium transition-colors cursor-pointer disabled:cursor-wait`,K?`text-text-subtle hover:text-error hover:bg-error/10`:`text-text-secondary hover:text-foreground hover:bg-surface-elevated`].join(` `),children:x?`Switching…`:`Use`})}),(0,E.jsx)(d,{side:`top`,children:K??`Use this account for this chat`})]}),R&&(0,E.jsx)(k,{className:`text-[10px] text-error shrink-0 font-medium`,hint:`This token has expired and carries no refresh token, so nothing can renew it. Add the account again.`,children:`Expired`}),B&&!R&&(0,E.jsx)(k,{className:`text-[10px] text-error shrink-0 font-medium`,hint:`Anthropic rejected this account's refresh token, so no turn can run on it. Signing in again is the only thing that restores it.`,children:`Sign in again`}),!e.isOAuth&&!R&&(0,E.jsx)(k,{className:`text-[10px] text-text-subtle shrink-0`,hint:`A static API key rather than a sign-in: nothing to expire and nothing to renew.`,children:`API key`}),S&&(0,E.jsx)(k,{className:`text-[10px] uppercase tracking-wide text-text-subtle shrink-0`,hint:`The subscription this account is on. It decides which quota windows the account has — some plans have a weekly limit and no shorter one.`,children:S}),(0,E.jsxs)(`div`,{className:`flex items-center gap-0.5 shrink-0`,children:[!R&&_&&n?.profileData&&(0,E.jsxs)(f,{children:[(0,E.jsx)(m,{asChild:!0,children:(0,E.jsx)(`button`,{className:`p-2 rounded cursor-pointer text-text-subtle hover:text-foreground hover:bg-surface-elevated transition-colors`,onClick:()=>_(n.profileData,e.accountId),"aria-label":`View profile`,children:(0,E.jsx)(s,{className:`size-4`})})}),(0,E.jsx)(d,{side:`top`,children:`View profile`})]}),!R&&g&&e.isOAuth&&(0,E.jsxs)(f,{children:[(0,E.jsx)(m,{asChild:!0,children:(0,E.jsx)(`button`,{className:`p-2 rounded cursor-pointer text-text-subtle hover:text-primary hover:bg-surface-elevated transition-colors`,onClick:()=>g(e.accountId),"aria-label":`Export this account`,children:(0,E.jsx)(c,{className:`size-4`})})}),(0,E.jsx)(d,{side:`top`,children:`Export this account`})]}),!R&&r&&(0,E.jsx)(p,{checked:L!==`disabled`,onCheckedChange:()=>r(e.accountId,L),disabled:u||L===`cooldown`,"aria-label":L===`disabled`?`Enable account`:`Disable account`,className:`cursor-pointer`}),h&&(0,E.jsxs)(f,{children:[(0,E.jsx)(m,{asChild:!0,children:(0,E.jsx)(`button`,{className:`p-2 rounded cursor-pointer text-text-subtle hover:text-error hover:bg-surface-elevated transition-colors`,onClick:()=>h(e.accountId,e.accountLabel??e.accountId.slice(0,8)),"aria-label":`Remove account`,children:(0,E.jsx)(l,{className:`size-4`})})}),(0,E.jsx)(d,{side:`top`,children:`Remove account`})]})]})]}),I?(0,E.jsxs)(`div`,{className:`space-y-2`,children:[(0,E.jsx)(O,{label:`5-Hour Session`,bucket:F.session}),(0,E.jsx)(O,{label:`Weekly`,bucket:F.weekly}),(0,E.jsx)(O,{label:`Weekly (Opus)`,bucket:F.weeklyOpus}),(0,E.jsx)(O,{label:`Weekly (Sonnet)`,bucket:F.weeklySonnet})]}):(0,E.jsx)(`p`,{className:`text-xs text-text-subtle`,children:e.isOAuth?`No usage data yet`:`Usage tracking not available for API keys`}),D&&(0,E.jsxs)(`div`,{className:`flex min-h-12 items-center justify-between gap-3 rounded-md border px-2.5 py-1.5 ${D.enabled&&D.state.blocked?`border-error/40 bg-error/5`:`border-border/50 bg-surface/40`}`,children:[(0,E.jsxs)(`div`,{className:`min-w-0 space-y-0.5`,children:[(0,E.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs font-medium ${D.enabled&&D.state.blocked?`text-error`:`text-text-secondary`}`,children:[(0,E.jsx)(`span`,{children:`Daily guard`}),(0,E.jsxs)(f,{children:[(0,E.jsx)(m,{asChild:!0,children:(0,E.jsx)(`button`,{type:`button`,"aria-label":`About Daily guard`,className:`text-text-subtle hover:text-text-primary cursor-help`,children:(0,E.jsx)(a,{className:`size-3.5`})})}),(0,E.jsx)(d,{side:`top`,className:`max-w-64 text-xs leading-relaxed`,children:`Keeps a weekly-only Codex account on pace to last until its reset. Each day adds one seventh of the weekly quota. When usage reaches that day's cap, PPM pauses new turns until the next day.`})]})]}),(0,E.jsx)(`p`,{className:`text-[10px] tabular-nums ${D.enabled&&D.state.blocked?`text-error`:`text-text-subtle`}`,children:D.enabled&&D.state.blocked?`${Math.round(D.state.used*100)}% used / ${Math.round(D.state.cap*100)}% daily cap. New turns paused.`:`Day ${D.state.day}/7, ${Math.round(D.state.cap*100)}% daily cap`})]}),A&&(0,E.jsx)(p,{checked:D.enabled,onCheckedChange:A,disabled:j,"aria-label":D.enabled?`Disable Daily guard`:`Enable Daily guard`,className:`cursor-pointer shrink-0`})]}),(0,E.jsxs)(`div`,{className:`flex items-center gap-2 text-[10px] text-text-subtle flex-wrap`,children:[F.lastFetchedAt&&(0,E.jsxs)(k,{className:`inline-flex items-center gap-1`,hint:`Usage last read from Anthropic on ${new Date(F.lastFetchedAt).toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`})}. The bars above are only as current as this.`,children:[(0,E.jsx)(i,{className:`size-3 shrink-0`,"aria-hidden":!0}),T(new Date(F.lastFetchedAt).getTime())]}),V&&!B&&(0,E.jsxs)(k,{className:[`inline-flex items-center gap-1`,H?`text-warning`:``].filter(Boolean).join(` `),hint:`Sign-in stops working on ${W}. Anthropic ends every sign-in on a fixed schedule from the day it was made, whether or not the account gets used — refreshing does not extend it. After that the account fails until you sign in again.`,children:[(0,E.jsx)(o,{className:`size-3 shrink-0`,"aria-hidden":!0}),`sign-in `,C(V)]}),U&&(0,E.jsxs)(k,{className:z.color,hint:z.tip,children:[`© `,z.label]})]})]})}var I=e(t(),1);function L(e){let t=e.usage;return[t.session?.utilization,t.weekly?.utilization,t.weeklyOpus?.utilization,t.weeklySonnet?.utilization].join(`|`)}function R(e=!0){let[t,n]=(0,I.useState)([]),[r,i]=(0,I.useState)([]),[a,o]=(0,I.useState)(null),[s,c]=(0,I.useState)(!0),[l,u]=(0,I.useState)(!1),[d,f]=(0,I.useState)(new Set),[p,m]=(0,I.useState)(null),y=(0,I.useRef)([]),b=(0,I.useRef)(void 0),x=(0,I.useCallback)(async()=>{let e=y.current.length>0;e?u(!0):c(!0);let[t,r,a]=await Promise.allSettled([_(),h(),g()]);if(t.status===`fulfilled`){let r=t.value;if(e){let e=new Map(y.current.map(e=>[e.accountId,L(e)])),t=new Set(r.filter(t=>e.get(t.accountId)!==L(t)).map(e=>e.accountId));t.size>0&&(f(t),clearTimeout(b.current),b.current=setTimeout(()=>f(new Set),1500))}y.current=r,n(r)}r.status===`fulfilled`&&i(r.value),a.status===`fulfilled`&&o(a.value?.id??null),c(!1),u(!1)},[]),S=(0,I.useCallback)(async(e,t)=>{m(e);let n=null;try{await v(e,{status:t===`disabled`?`active`:`disabled`})}catch(e){n=e.message}return m(null),await x(),n},[x]);return(0,I.useEffect)(()=>(e&&x(),()=>clearTimeout(b.current)),[e,x]),{usages:t,accounts:r,activeAccountId:a,initialLoading:s,refreshing:l,flashIds:d,reload:x,toggle:S,togglingId:p}}function z(e){return e?.trim()?{free:`ChatGPT Free`,go:`ChatGPT Go`,plus:`ChatGPT Plus`,pro:`ChatGPT Pro`,team:`ChatGPT Team`,business:`ChatGPT Business`,self_serve_business_prolite:`ChatGPT Business`,enterprise:`ChatGPT Enterprise`,edu:`ChatGPT Edu`}[e.trim().toLowerCase()]??e:null}var B=1440*60*1e3,V=7;function H(e,t=Date.now()){if(!e||e.windowHours!==168)return null;let n=new Date(e.resetsAt).getTime();if(!Number.isFinite(n)||n<=t)return null;let r=n-V*B,i=Math.min(V,Math.max(1,Math.ceil((t-r)/B))),a=i/V;return{day:i,cap:a,used:e.utilization,blocked:e.utilization>=a}}export{M as a,j as c,T as d,x as f,F as i,O as l,z as n,N as o,R as r,A as s,H as t,D as u};