@hienlh/ppm 0.19.12 → 0.20.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 (535) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/CLAUDE.md +8 -1
  3. package/assets/skills/ppm/SKILL.md +1 -1
  4. package/assets/skills/ppm/references/http-api.md +4 -1
  5. package/dist/web/assets/accounts-settings-section-BQyru31C.js +1 -0
  6. package/dist/web/assets/{ai-resource-editor-CqL-X2zu.js → ai-resource-editor-BgYIPGVP.js} +1 -1
  7. package/dist/web/assets/{ai-settings-section-CcqokdzF.js → ai-settings-section-Cywmtnps.js} +1 -1
  8. package/dist/web/assets/ai-settings-section-iBRCQvBR.js +1 -0
  9. package/dist/web/assets/{angular-html-C8nsn2VC.js → angular-html-BtJLNcMw.js} +1 -1
  10. package/dist/web/assets/{angular-ts-Caw9nRCH.js → angular-ts-CQiu5F_W.js} +1 -1
  11. package/dist/web/assets/api-client-QfreGirP.js +1 -0
  12. package/dist/web/assets/api-settings-D18Q4Ocp.js +1 -0
  13. package/dist/web/assets/{api-themes-BoOJPqwM.js → api-themes-sSv-6OLk.js} +1 -1
  14. package/dist/web/assets/{apl-Dhu1LORF.js → apl-CKZvgs-w.js} +1 -1
  15. package/dist/web/assets/{appearance-settings-section-2hZBnpPS.js → appearance-settings-section-mhu9T6Fk.js} +1 -1
  16. package/dist/web/assets/architecture-PBZL5I3N-DfR8k8Bc.js +1 -0
  17. package/dist/web/assets/{astro-DwkX9sLZ.js → astro-D0b8ssLD.js} +1 -1
  18. package/dist/web/assets/{audio-preview-CkGZO8Uy.js → audio-preview-B4E5_7TW.js} +1 -1
  19. package/dist/web/assets/{blade-D1fC9Osx.js → blade-DOIpINLw.js} +1 -1
  20. package/dist/web/assets/{bsl-pur-PRip.js → bsl-CJ7_JlQ8.js} +1 -1
  21. package/dist/web/assets/{button-2WCAS8dI.js → button-DX32ffge.js} +1 -1
  22. package/dist/web/assets/{cairo-DDJs9amR.js → cairo-5CpV2T1P.js} +1 -1
  23. package/dist/web/assets/chat-tab-Bs9OD6ss.js +15 -0
  24. package/dist/web/assets/{cobol-Bo0usdoM.js → cobol-BreMVrtc.js} +1 -1
  25. package/dist/web/assets/code-editor-Cv_pzHo7.js +7 -0
  26. package/dist/web/assets/{coffee-DBBsbX1e.js → coffee-D7DoKh5b.js} +1 -1
  27. package/dist/web/assets/{conflict-editor-NqFAJP47.js → conflict-editor-BnWaMSEa.js} +1 -1
  28. package/dist/web/assets/{context-menu-C13b1uT3.js → context-menu-CJL8L98s.js} +1 -1
  29. package/dist/web/assets/{cpp-6CTO78A-.js → cpp-BnWeWAoE.js} +1 -1
  30. package/dist/web/assets/{crystal-DAlvpAP7.js → crystal-D2pJbFUn.js} +1 -1
  31. package/dist/web/assets/{csv-preview-Dvriy18_.js → csv-preview-DG4YAabr.js} +1 -1
  32. package/dist/web/assets/{data-grid-overlay-editor-iRrpAV0e.js → data-grid-overlay-editor-CbBkhhJa.js} +1 -1
  33. package/dist/web/assets/{database-viewer-Bs2RMm5a.js → database-viewer-B-wA2qT-.js} +1 -1
  34. package/dist/web/assets/diff-viewer-DRtzdfXk.js +4 -0
  35. package/dist/web/assets/{docx-preview-Bgw838ry.js → docx-preview-Xy7SZ7Vf.js} +1 -1
  36. package/dist/web/assets/{edge-D0tZrpC7.js → edge-aqGMtbY3.js} +1 -1
  37. package/dist/web/assets/{edit-diff-preview-DUgmjNre.js → edit-diff-preview-6tzdk7Pn.js} +1 -1
  38. package/dist/web/assets/{elixir-C1E6-o4G.js → elixir-CsYMBLc5.js} +1 -1
  39. package/dist/web/assets/{elm-BKyTfeQX.js → elm-BU8C2gFp.js} +1 -1
  40. package/dist/web/assets/{erb-Cdnr4BMI.js → erb-Z_E49ab8.js} +1 -1
  41. package/dist/web/assets/{erlang-N1237mFq.js → erlang-BRqOjXH9.js} +1 -1
  42. package/dist/web/assets/{esm-ClNnmD9t.js → esm-B-vXxHUd.js} +1 -1
  43. package/dist/web/assets/{explorer-body-DfWunSf9.js → explorer-body-uh8oJp6J.js} +2 -2
  44. package/dist/web/assets/explorer-window-content-DLn_4egF.js +1 -0
  45. package/dist/web/assets/{extension-manager-section-Zc9yag2c.js → extension-manager-section-C_ZGYvWf.js} +1 -1
  46. package/dist/web/assets/{extension-webview-B5FayDPz.js → extension-webview-DbFWxJpj.js} +1 -1
  47. package/dist/web/assets/{files-settings-section-CxAtO3GL.js → files-settings-section-BrUbJglA.js} +1 -1
  48. package/dist/web/assets/{fortran-fixed-form-D_f9tVv0.js → fortran-fixed-form-CWbxmDGR.js} +1 -1
  49. package/dist/web/assets/{fsharp-DEJmdhc2.js → fsharp-DKMYbq6I.js} +1 -1
  50. package/dist/web/assets/{gdresource-Dmmrx2gP.js → gdresource-B3yFau4V.js} +1 -1
  51. package/dist/web/assets/{general-settings-section-9DfKrBns.js → general-settings-section-B9ZPZVso.js} +1 -1
  52. package/dist/web/assets/{git-commit-qwJ867ig.js → git-commit-BW0p3Ekk.js} +1 -1
  53. package/dist/web/assets/{git-log-panel-BsmDZurR.js → git-log-panel-C0jnhmgC.js} +1 -1
  54. package/dist/web/assets/{git-rebase-Dkv8Zw86.js → git-rebase-DrvmQCS7.js} +1 -1
  55. package/dist/web/assets/gitGraph-HDMCJU4V-CPd78aaT.js +1 -0
  56. package/dist/web/assets/{glide-data-grid-BuYwXIoS.js → glide-data-grid-CZVKIum-.js} +6 -6
  57. package/dist/web/assets/{glimmer-js-CcrXn8lQ.js → glimmer-js-BY1XApJJ.js} +1 -1
  58. package/dist/web/assets/{glimmer-ts-CLab3lU7.js → glimmer-ts-DPZtxF8N.js} +1 -1
  59. package/dist/web/assets/{glsl-DXhkG9dU.js → glsl-DZ8G_Hvf.js} +1 -1
  60. package/dist/web/assets/{graphql-Cuqsx8r3.js → graphql-Ck06uCZy.js} +1 -1
  61. package/dist/web/assets/group-chat-tab-DnPtmbPc.js +1 -0
  62. package/dist/web/assets/{hack-C_CBVdBc.js → hack-pLogDwAs.js} +1 -1
  63. package/dist/web/assets/{haml-CBWfzZpv.js → haml-CBqeCQ2A.js} +1 -1
  64. package/dist/web/assets/{handlebars-4e8OR-VI.js → handlebars-B66JmVtp.js} +1 -1
  65. package/dist/web/assets/{html-C5X4urn_.js → html-Dk4wmfwC.js} +1 -1
  66. package/dist/web/assets/{html-derivative-nH-jXfsL.js → html-derivative-CJWqfN51.js} +1 -1
  67. package/dist/web/assets/{http-CQgaG7eu.js → http-CexhotTh.js} +1 -1
  68. package/dist/web/assets/{hurl-B8gidJhu.js → hurl-BScKFk3Z.js} +1 -1
  69. package/dist/web/assets/{hxml-BAK94GX8.js → hxml-DAle7vtu.js} +1 -1
  70. package/dist/web/assets/{image-preview-1kGj4W9R.js → image-preview-fuU4h2nr.js} +1 -1
  71. package/dist/web/assets/index-CHQAPZIX.js +52 -0
  72. package/dist/web/assets/index-CoaVwAF6.css +2 -0
  73. package/dist/web/assets/info-3K5VOQVL-BciNds6R.js +1 -0
  74. package/dist/web/assets/{jinja-BuAjvj8M.js → jinja-yHpyD80t.js} +1 -1
  75. package/dist/web/assets/{jira-watcher-section-rJVz40wR.js → jira-watcher-section-Bjldyhru.js} +1 -1
  76. package/dist/web/assets/{jison-Dhhs26-L.js → jison-BY6WLJVu.js} +1 -1
  77. package/dist/web/assets/{julia-gZavIyll.js → julia-Dd_iYQDT.js} +1 -1
  78. package/dist/web/assets/{just-DDHrFReO.js → just-BTuUKpxF.js} +1 -1
  79. package/dist/web/assets/keybindings-store-DBVXZKp8.js +1 -0
  80. package/dist/web/assets/{keyboard-shortcuts-section-Dv4e3M8h.js → keyboard-shortcuts-section-D7jaCPrv.js} +1 -1
  81. package/dist/web/assets/{latex-BdGZa8ov.js → latex-Dt3OUlMZ.js} +1 -1
  82. package/dist/web/assets/{liquid-urFfd9Fr.js → liquid-BxPJU2ix.js} +1 -1
  83. package/dist/web/assets/{lua-CcS6tnB5.js → lua-DEGIvn7d.js} +1 -1
  84. package/dist/web/assets/{markdown-renderer-CEloCR06.js → markdown-renderer-B4B5oxQS.js} +3 -3
  85. package/dist/web/assets/markdown-renderer-DwHh-jd_.js +1 -0
  86. package/dist/web/assets/{marko-CSQqk4oG.js → marko-BDxwBJur.js} +1 -1
  87. package/dist/web/assets/{mdc-CYIe80m_.js → mdc-B8aXPTg7.js} +1 -1
  88. package/dist/web/assets/{media-url-DBmHJRft.js → media-url-BMeBaB0q.js} +1 -1
  89. package/dist/web/assets/{mobile-bottom-sheet-B3uDlD79.js → mobile-bottom-sheet-CmySDB6I.js} +1 -1
  90. package/dist/web/assets/mobile-explorer-sheet-JJxZYWkV.js +1 -0
  91. package/dist/web/assets/{nextflow-C-W8vX8I.js → nextflow-DBVZnnT_.js} +1 -1
  92. package/dist/web/assets/{nginx-COGi5you.js → nginx-Crpyd-Do.js} +1 -1
  93. package/dist/web/assets/{nim-CPitYGel.js → nim-BSqTBYDj.js} +1 -1
  94. package/dist/web/assets/notification-store-CCWNUHsS.js +1 -0
  95. package/dist/web/assets/{notifications-settings-section-B2GkfB0l.js → notifications-settings-section-DbbX7-Qp.js} +1 -1
  96. package/dist/web/assets/{number-overlay-editor-C_eD-Bdr.js → number-overlay-editor-DRjTIcPH.js} +1 -1
  97. package/dist/web/assets/{overview-panel-Cm2HRtEz.js → overview-panel-DiiA3B_Z.js} +1 -1
  98. package/dist/web/assets/packet-RMMSAZCW-ClD3l2Bs.js +1 -0
  99. package/dist/web/assets/{panel-store-BRrnDO_i.js → panel-store-BmdcSBNb.js} +1 -1
  100. package/dist/web/assets/{pdf-preview-Dmz8jkZZ.js → pdf-preview-DxNjWa1v.js} +1 -1
  101. package/dist/web/assets/{perl-B0yW3hbb.js → perl-BU0kbB-K.js} +1 -1
  102. package/dist/web/assets/{php-BNMYN5Jp.js → php-D9n1ikHN.js} +1 -1
  103. package/dist/web/assets/pie-UPGHQEXC-PU6kD0rW.js +1 -0
  104. package/dist/web/assets/{postgres-viewer-BtZbfC3f.js → postgres-viewer-BScvk5ev.js} +3 -3
  105. package/dist/web/assets/{ppmbot-settings-section-OYfVG5-l.js → ppmbot-settings-section-jFA9Ncgo.js} +1 -1
  106. package/dist/web/assets/{process-table-DRu3NyO_.js → process-table-BexeYWQm.js} +1 -1
  107. package/dist/web/assets/{project-store-BuY7rxn_.js → project-store-wWZ6bjwq.js} +1 -1
  108. package/dist/web/assets/{proxy-settings-section-xMbrcyr8.js → proxy-settings-section-C_seKq56.js} +1 -1
  109. package/dist/web/assets/{pug-CP5fxsxD.js → pug-BOpaczDr.js} +1 -1
  110. package/dist/web/assets/{qml-CHGpQosY.js → qml-B-cQXhrg.js} +1 -1
  111. package/dist/web/assets/{query-audit-section-CC5Mf6qp.js → query-audit-section-BWXJmPDV.js} +1 -1
  112. package/dist/web/assets/radar-KQ55EAFF-4LzjL0Zt.js +1 -0
  113. package/dist/web/assets/{razor-Cfe0AYo4.js → razor-DFB0pNCh.js} +1 -1
  114. package/dist/web/assets/remote-desktop-mobile-sheet-B--PeL5i.js +2 -0
  115. package/dist/web/assets/{remote-desktop-mobile-view-B4BSHIxU.js → remote-desktop-mobile-view-jgn8nmQa.js} +1 -1
  116. package/dist/web/assets/{remote-desktop-readiness-gate-C0d0PSX4.js → remote-desktop-readiness-gate-CjDth-W_.js} +1 -1
  117. package/dist/web/assets/{remote-desktop-window-content-DjeCZzqq.js → remote-desktop-window-content-CrHAUA03.js} +1 -1
  118. package/dist/web/assets/{rst-DxSSGshb.js → rst-DAXedsgm.js} +1 -1
  119. package/dist/web/assets/{ruby-rbK5SsJa.js → ruby-BCO4polC.js} +1 -1
  120. package/dist/web/assets/{run-in-terminal-DHAvC1AG.js → run-in-terminal-wHKwAnWP.js} +1 -1
  121. package/dist/web/assets/{sas-DDM28fbb.js → sas-DfB5dcFC.js} +1 -1
  122. package/dist/web/assets/schedules-settings-section-DMFn3mYL.js +1 -0
  123. package/dist/web/assets/{scss-TDl-6ro4.js → scss-BknIVgn7.js} +1 -1
  124. package/dist/web/assets/{send-to-chat-BOyUWNKw.js → send-to-chat-BI7-fFpG.js} +1 -1
  125. package/dist/web/assets/{separator-BzGoTlR7.js → separator-W_hJcXPk.js} +1 -1
  126. package/dist/web/assets/{settings-body-CXTQwhbM.js → settings-body-Dz2vPTEP.js} +2 -2
  127. package/dist/web/assets/settings-store-CzLnTR8p.js +2 -0
  128. package/dist/web/assets/settings-tab-B5QbsvS4.js +1 -0
  129. package/dist/web/assets/settings-window-content-iM2bPoX5.js +1 -0
  130. package/dist/web/assets/{shaderlab-CCvmDgGS.js → shaderlab-CPu31TpY.js} +1 -1
  131. package/dist/web/assets/{shellsession-BzKS9yKh.js → shellsession-CFX4c_TM.js} +1 -1
  132. package/dist/web/assets/{soy-QfO35nDh.js → soy-rz9hilgm.js} +1 -1
  133. package/dist/web/assets/{sparql-D29RDfp2.js → sparql-Bo8ZDeqE.js} +1 -1
  134. package/dist/web/assets/{sql-query-editor-B-VwfyTf.js → sql-query-editor-C0mGgLfX.js} +1 -1
  135. package/dist/web/assets/{sqlite-viewer-CpUhDEhN.js → sqlite-viewer-Bs3RKf1X.js} +1 -1
  136. package/dist/web/assets/{stata-Be6j_SNv.js → stata-B5J-QMyE.js} +1 -1
  137. package/dist/web/assets/{streaming-store-9_9j70zt.js → streaming-store-9XVmAMfV.js} +1 -1
  138. package/dist/web/assets/{surrealql-CykFjgNG.js → surrealql-Caw1ADnG.js} +1 -1
  139. package/dist/web/assets/{svelte-CdBF8z4-.js → svelte-D3oMVcxz.js} +1 -1
  140. package/dist/web/assets/{system-monitor-body-DzWXd1wM.js → system-monitor-body-DvUmEdNe.js} +2 -2
  141. package/dist/web/assets/system-monitor-tab-CHZ5F_ZE.js +1 -0
  142. package/dist/web/assets/{system-monitor-window-content-DIIP3dff.js → system-monitor-window-content-DjzqoeCN.js} +1 -1
  143. package/dist/web/assets/{tab-host-window-content-CLdcz84K.js → tab-host-window-content-DKeAr5mD.js} +1 -1
  144. package/dist/web/assets/{tab-store-PZsP5ZwG.js → tab-store-1xYJb0gM.js} +1 -1
  145. package/dist/web/assets/team-member-sheet-Cl9ZB3dl.js +2 -0
  146. package/dist/web/assets/team-member-window-content-DfP7WdFD.js +1 -0
  147. package/dist/web/assets/{templ-BVHE2CNb.js → templ-BAdNyIOL.js} +1 -1
  148. package/dist/web/assets/{terminal-tab-BeKLpaPM.js → terminal-tab-J1Fqa_rm.js} +2 -2
  149. package/dist/web/assets/{tex-C8XwrbBw.js → tex-IQ8mELOR.js} +1 -1
  150. package/dist/web/assets/tool-cards-DQghSuKX.js +9 -0
  151. package/dist/web/assets/treemap-KZPCXAKY-DiumLNMg.js +1 -0
  152. package/dist/web/assets/{ts-tags-BIHk5AM0.js → ts-tags-D1DDO2jl.js} +1 -1
  153. package/dist/web/assets/{twig-YcE6Q2Ox.js → twig-C8Fd5RvV.js} +1 -1
  154. package/dist/web/assets/use-accounts-data-KWcMgRlc.js +1 -0
  155. package/dist/web/assets/{use-blob-url-De-ZtcpX.js → use-blob-url-CrwoZJUJ.js} +1 -1
  156. package/dist/web/assets/use-inline-blame-C1G-_NjC.js +8 -0
  157. package/dist/web/assets/{use-monaco-theme-Kj2OGDlm.js → use-monaco-theme-aa4-wjKQ.js} +1 -1
  158. package/dist/web/assets/{use-open-team-member-DWhhWdmJ.js → use-open-team-member-CSUU7Z8N.js} +1 -1
  159. package/dist/web/assets/{use-remote-desktop-display-choice-8AkPpM_0.js → use-remote-desktop-display-choice-B-TpQ-Ua.js} +1 -1
  160. package/dist/web/assets/{use-websocket-kR1omKO1.js → use-websocket-BBslmv3D.js} +1 -1
  161. package/dist/web/assets/{vendor-mermaid-CKKtYuTV.js → vendor-mermaid-CfY1-PkA.js} +1 -1
  162. package/dist/web/assets/{video-preview-BdV7LjbZ.js → video-preview-Bd0lcK3d.js} +1 -1
  163. package/dist/web/assets/{vue-q7m01V0h.js → vue-EvccXlkP.js} +1 -1
  164. package/dist/web/assets/{vue-html-D1y9feOj.js → vue-html-Dg0xUJCh.js} +1 -1
  165. package/dist/web/assets/{vue-vine-DrIGs03v.js → vue-vine-BdrMg72k.js} +1 -1
  166. package/dist/web/assets/{window-pip-registry-CSLhJfpL.js → window-pip-registry-CrCYYTTf.js} +1 -1
  167. package/dist/web/assets/{window-store-DGKf9rPG.js → window-store-D0HbQ1pM.js} +1 -1
  168. package/dist/web/assets/ws-auth-D111jj32.js +1 -0
  169. package/dist/web/assets/{xml-oyvc1920.js → xml-MmDclzxK.js} +1 -1
  170. package/dist/web/assets/{xsl-BbIGdNPF.js → xsl-DQEFs6Dd.js} +1 -1
  171. package/dist/web/index.html +23 -23
  172. package/dist/web/sw.js +1 -1
  173. package/docs/extension-development-guide.md +47 -0
  174. package/docs/project-roadmap.md +3 -1
  175. package/package.json +2 -2
  176. package/packages/ext-git-graph/package.json +23 -5
  177. package/packages/ext-git-graph/src/blame-parser.test.ts +154 -0
  178. package/packages/ext-git-graph/src/blame-parser.ts +148 -0
  179. package/packages/ext-git-graph/src/blame-view.ts +389 -0
  180. package/packages/ext-git-graph/src/commit-search.test.ts +118 -0
  181. package/packages/ext-git-graph/src/commit-search.ts +102 -0
  182. package/packages/ext-git-graph/src/compare-args.test.ts +111 -0
  183. package/packages/ext-git-graph/src/compare-args.ts +109 -0
  184. package/packages/ext-git-graph/src/compare-view.ts +343 -0
  185. package/packages/ext-git-graph/src/extension-integration.test.ts +6 -3
  186. package/packages/ext-git-graph/src/extension.ts +202 -249
  187. package/packages/ext-git-graph/src/file-history-parser.test.ts +102 -0
  188. package/packages/ext-git-graph/src/file-history-parser.ts +89 -0
  189. package/packages/ext-git-graph/src/file-history-view.ts +386 -0
  190. package/packages/ext-git-graph/src/git-exec.ts +122 -0
  191. package/packages/ext-git-graph/src/git-state.ts +81 -0
  192. package/packages/ext-git-graph/src/panel-nav.ts +65 -0
  193. package/packages/ext-git-graph/src/panel-registry.ts +72 -0
  194. package/packages/ext-git-graph/src/ppm-api.ts +48 -0
  195. package/packages/ext-git-graph/src/rebase-todo.test.ts +196 -0
  196. package/packages/ext-git-graph/src/rebase-todo.ts +119 -0
  197. package/packages/ext-git-graph/src/rebase-view.ts +483 -0
  198. package/packages/ext-git-graph/src/reflog-parser.test.ts +93 -0
  199. package/packages/ext-git-graph/src/reflog-parser.ts +86 -0
  200. package/packages/ext-git-graph/src/reflog-view.ts +375 -0
  201. package/packages/ext-git-graph/src/register-view-command.ts +47 -0
  202. package/packages/ext-git-graph/src/submodule-parser.test.ts +79 -0
  203. package/packages/ext-git-graph/src/submodule-parser.ts +77 -0
  204. package/packages/ext-git-graph/src/types.ts +10 -1
  205. package/packages/ext-git-graph/src/webview-html.ts +438 -3
  206. package/packages/ext-git-graph/src/webview-shell.ts +236 -0
  207. package/src/providers/claude-agent-sdk.ts +7 -0
  208. package/src/providers/codex-app-server/codex-provider.ts +89 -1
  209. package/src/server/index.ts +1 -1
  210. package/src/server/routes/accounts.ts +25 -1
  211. package/src/server/routes/chat.ts +29 -1
  212. package/src/server/routes/codex-accounts.ts +41 -1
  213. package/src/server/routes/git.ts +97 -0
  214. package/src/server/routes/settings.ts +1 -0
  215. package/src/server/routes/teams.ts +14 -3
  216. package/src/services/account-selector.service.ts +125 -20
  217. package/src/services/account.service.ts +176 -54
  218. package/src/services/autostart-generator.ts +12 -1
  219. package/src/services/codex-account.service.ts +87 -13
  220. package/src/services/db.service.ts +58 -3
  221. package/src/services/extension.service.ts +55 -5
  222. package/src/services/git-blame/blame-porcelain.ts +89 -0
  223. package/src/services/git-blame/git-blame.service.ts +90 -0
  224. package/src/services/git-hunks/git-hunks.service.ts +264 -0
  225. package/src/services/git-hunks/unified-diff.ts +359 -0
  226. package/src/services/picked-account-binding.ts +57 -0
  227. package/src/services/team-member-activity/member-transcript-tail.ts +64 -0
  228. package/src/shared/blame.ts +79 -0
  229. package/src/web/components/chat/chat-history-bar.tsx +34 -5
  230. package/src/web/components/chat/chat-tab.tsx +120 -3
  231. package/src/web/components/chat/codex-usage-panel.tsx +132 -14
  232. package/src/web/components/chat/team-member-window-content.tsx +8 -39
  233. package/src/web/components/chat/usage-badge.tsx +176 -52
  234. package/src/web/components/editor/code-editor.tsx +33 -1
  235. package/src/web/components/editor/diff-viewer.tsx +83 -8
  236. package/src/web/components/editor/editor-toolbar.tsx +25 -1
  237. package/src/web/components/git/git-status-panel.tsx +46 -0
  238. package/src/web/components/git/hunk-selection.ts +132 -0
  239. package/src/web/components/git/hunk-stage-dialog.tsx +419 -0
  240. package/src/web/components/settings/accounts/account-bucket-row.tsx +19 -3
  241. package/src/web/components/settings/accounts/account-card.tsx +153 -33
  242. package/src/web/components/settings/accounts/account-hint.tsx +33 -0
  243. package/src/web/components/settings/accounts/account-usage-format.ts +26 -0
  244. package/src/web/components/settings/accounts/codex-accounts-section.tsx +24 -9
  245. package/src/web/components/settings/accounts/codex-usage-rows.tsx +2 -2
  246. package/src/web/components/settings/accounts/use-accounts-data.ts +32 -2
  247. package/src/web/components/settings/accounts/use-codex-accounts.ts +24 -2
  248. package/src/web/hooks/use-chat.ts +27 -0
  249. package/src/web/hooks/use-inline-blame.ts +175 -0
  250. package/src/web/hooks/use-member-transcript-tail.ts +95 -0
  251. package/src/web/lib/api-settings.ts +24 -0
  252. package/src/web/stores/settings-store.ts +12 -0
  253. package/dist/web/assets/accounts-settings-section-Cd1Nh04o.js +0 -1
  254. package/dist/web/assets/ai-settings-section-OaYGT5OF.js +0 -1
  255. package/dist/web/assets/api-client-BogqsFna.js +0 -1
  256. package/dist/web/assets/api-settings-BVfemzZW.js +0 -1
  257. package/dist/web/assets/architecture-PBZL5I3N-BZBxtErN.js +0 -1
  258. package/dist/web/assets/chat-tab-Cc1W2pTu.js +0 -15
  259. package/dist/web/assets/code-editor-gLRyCPWE.js +0 -7
  260. package/dist/web/assets/diff-viewer-ix1Ko0xk.js +0 -4
  261. package/dist/web/assets/explorer-window-content-B7HmteDI.js +0 -1
  262. package/dist/web/assets/gitGraph-HDMCJU4V-BHxJbXfV.js +0 -1
  263. package/dist/web/assets/group-chat-tab-DmZ1vLk-.js +0 -1
  264. package/dist/web/assets/index-N-pnuwFP.css +0 -2
  265. package/dist/web/assets/index-yV5RgBDh.js +0 -52
  266. package/dist/web/assets/info-3K5VOQVL-DI4p3vbH.js +0 -1
  267. package/dist/web/assets/keybindings-store-88_Zkn5F.js +0 -1
  268. package/dist/web/assets/markdown-renderer-UhszMWSn.js +0 -1
  269. package/dist/web/assets/mobile-explorer-sheet-D9cqcU3X.js +0 -1
  270. package/dist/web/assets/notification-store-B6X6RYqQ.js +0 -1
  271. package/dist/web/assets/packet-RMMSAZCW-YNQWTi_-.js +0 -1
  272. package/dist/web/assets/pie-UPGHQEXC-E3Wiw76n.js +0 -1
  273. package/dist/web/assets/radar-KQ55EAFF-BPQJUKON.js +0 -1
  274. package/dist/web/assets/remote-desktop-mobile-sheet-DefltAPl.js +0 -2
  275. package/dist/web/assets/schedules-settings-section-D76Ob6tI.js +0 -1
  276. package/dist/web/assets/settings-store-DWUx3865.js +0 -2
  277. package/dist/web/assets/settings-tab-DToHQXfC.js +0 -1
  278. package/dist/web/assets/settings-window-content-B2rlq-Dv.js +0 -1
  279. package/dist/web/assets/system-monitor-tab-CuDpwAZU.js +0 -1
  280. package/dist/web/assets/team-member-sheet-DLrT_Kxo.js +0 -2
  281. package/dist/web/assets/team-member-window-content-S8cdLcg3.js +0 -1
  282. package/dist/web/assets/tool-cards-CLxrQlUs.js +0 -9
  283. package/dist/web/assets/treemap-KZPCXAKY-C2CvKBQR.js +0 -1
  284. package/dist/web/assets/use-accounts-data-snYPJED_.js +0 -1
  285. package/dist/web/assets/ws-auth-ZSZkAT6p.js +0 -1
  286. /package/dist/web/assets/{abap-Cq9nYQyd.js → abap-D-o-bvtI.js} +0 -0
  287. /package/dist/web/assets/{actionscript-3-DL8rUIy0.js → actionscript-3-D2tIzAm8.js} +0 -0
  288. /package/dist/web/assets/{ada-BY8TLuhY.js → ada-DxatBcxS.js} +0 -0
  289. /package/dist/web/assets/{andromeeda-CyVfHsS0.js → andromeeda-D0LK9YJ3.js} +0 -0
  290. /package/dist/web/assets/{apache-DTQUy73x.js → apache-B7uMPNiW.js} +0 -0
  291. /package/dist/web/assets/{apex-CiSZngrZ.js → apex-B7GiXrAr.js} +0 -0
  292. /package/dist/web/assets/{api-client-oY1tC3tM.js → api-client-CEYCBt_0.js} +0 -0
  293. /package/dist/web/assets/{applescript-CzuRDd3h.js → applescript-D_SIFkKe.js} +0 -0
  294. /package/dist/web/assets/{apply-theme-r8tKDrCR.js → apply-theme-BVXAUYoN.js} +0 -0
  295. /package/dist/web/assets/{ara-CSFV93kR.js → ara-C3iECgdg.js} +0 -0
  296. /package/dist/web/assets/{asciidoc-hOQNnXhz.js → asciidoc-gc8z_MMY.js} +0 -0
  297. /package/dist/web/assets/{asm-DdG53NGR.js → asm-27qeoPOI.js} +0 -0
  298. /package/dist/web/assets/{aurora-x-DJ7ORZG6.js → aurora-x-C5J9fWe1.js} +0 -0
  299. /package/dist/web/assets/{awk-B3FFpX_J.js → awk-B7GBzF92.js} +0 -0
  300. /package/dist/web/assets/{ayu-dark-D_P1CfTe.js → ayu-dark-XlnQhuLL.js} +0 -0
  301. /package/dist/web/assets/{ayu-light-Cz3YLUqH.js → ayu-light-DKLLilkU.js} +0 -0
  302. /package/dist/web/assets/{ayu-mirage-JcMq5tgJ.js → ayu-mirage-Dv-XOprJ.js} +0 -0
  303. /package/dist/web/assets/{ballerina-7Hs4Rfpk.js → ballerina-DACRT-sT.js} +0 -0
  304. /package/dist/web/assets/{bat-COgQdnFA.js → bat-BlQCq2XE.js} +0 -0
  305. /package/dist/web/assets/{beancount-BJ3CutBG.js → beancount-DYDztRI0.js} +0 -0
  306. /package/dist/web/assets/{berry-D7so2Cui.js → berry-BE5YKqvx.js} +0 -0
  307. /package/dist/web/assets/{bibtex-Ct3acHa1.js → bibtex-CAm7mgEm.js} +0 -0
  308. /package/dist/web/assets/{bicep-jXDwCQcm.js → bicep-BKgAbfVa.js} +0 -0
  309. /package/dist/web/assets/{bird2-CjLD2cna.js → bird2-yrBNbW1G.js} +0 -0
  310. /package/dist/web/assets/{c-CdgZojnL.js → c-txZFr4RM.js} +0 -0
  311. /package/dist/web/assets/{c3-DtpZYego.js → c3-D_DrzBUd.js} +0 -0
  312. /package/dist/web/assets/{cadence-CPLkixoh.js → cadence-CUFCEgG9.js} +0 -0
  313. /package/dist/web/assets/{can-open-in-ppm-BntPywsy.js → can-open-in-ppm-_yqa69dV.js} +0 -0
  314. /package/dist/web/assets/{catppuccin-frappe-Xt0_qJa9.js → catppuccin-frappe-Dn32MuhA.js} +0 -0
  315. /package/dist/web/assets/{catppuccin-latte-CJnbLec5.js → catppuccin-latte-Dewo7yDf.js} +0 -0
  316. /package/dist/web/assets/{catppuccin-macchiato-BPHP1wYB.js → catppuccin-macchiato-D8WOWZeo.js} +0 -0
  317. /package/dist/web/assets/{catppuccin-mocha-ssWJodGc.js → catppuccin-mocha-b0md48XM.js} +0 -0
  318. /package/dist/web/assets/{clarity-DB0408F6.js → clarity-Ct3UqLBj.js} +0 -0
  319. /package/dist/web/assets/{clojure-dpRPlAO4.js → clojure-CwP5aPEo.js} +0 -0
  320. /package/dist/web/assets/{cmake-r2VkeX9y.js → cmake-D5RF49e5.js} +0 -0
  321. /package/dist/web/assets/{codeowners-v5nQqHiB.js → codeowners-Cl5897L_.js} +0 -0
  322. /package/dist/web/assets/{codeql-BSSEhKRR.js → codeql-BKh1RCg0.js} +0 -0
  323. /package/dist/web/assets/{common-lisp-BXb2MMMA.js → common-lisp-BhHuD6t0.js} +0 -0
  324. /package/dist/web/assets/{coq-BjBNi73X.js → coq-Dco3qwD8.js} +0 -0
  325. /package/dist/web/assets/{csharp-CdPjZRbV.js → csharp-Dpjw9ZA9.js} +0 -0
  326. /package/dist/web/assets/{css-BuxbQOHL.js → css-CPe4cabH.js} +0 -0
  327. /package/dist/web/assets/{csv-Dj-eoZwH.js → csv-BAcTN8Kt.js} +0 -0
  328. /package/dist/web/assets/{csv-parser-CBbALsFU.js → csv-parser-DbxGKdMG.js} +0 -0
  329. /package/dist/web/assets/{cue-Dz73VksN.js → cue-Cr6y60TA.js} +0 -0
  330. /package/dist/web/assets/{cypher-CkVkDywZ.js → cypher-DWtqXXFP.js} +0 -0
  331. /package/dist/web/assets/{d-oU51Pbpf.js → d-BASiTZk4.js} +0 -0
  332. /package/dist/web/assets/{dark-plus-DcwvjjfO.js → dark-plus-56kmnrcl.js} +0 -0
  333. /package/dist/web/assets/{dart-DGvu8mcX.js → dart-C5mZnjoE.js} +0 -0
  334. /package/dist/web/assets/{data-grid-types-B6kUrF-M.js → data-grid-types-DeY60CLU.js} +0 -0
  335. /package/dist/web/assets/{dax-BmbjKQ90.js → dax-B4I2e7d8.js} +0 -0
  336. /package/dist/web/assets/{desktop-IRBSiFfh.js → desktop-DekGg0BT.js} +0 -0
  337. /package/dist/web/assets/{diff-Bdik2JR8.js → diff-CWnJBd73.js} +0 -0
  338. /package/dist/web/assets/{dist-Bv4zQpS1.js → dist-B0J2eYBz.js} +0 -0
  339. /package/dist/web/assets/{dist-C8YPBIOb.js → dist-BKOM_AoT.js} +0 -0
  340. /package/dist/web/assets/{docker-Bgdl0H8I.js → docker-DevchDxK.js} +0 -0
  341. /package/dist/web/assets/{dotenv-COe5NdnA.js → dotenv-DCvtdaGJ.js} +0 -0
  342. /package/dist/web/assets/{dracula-DjURaSAa.js → dracula-8U6Vkk3l.js} +0 -0
  343. /package/dist/web/assets/{dracula-soft-Do7d0bo-.js → dracula-soft-Bfeew5Wg.js} +0 -0
  344. /package/dist/web/assets/{dream-maker-DYwQvJIj.js → dream-maker-DDTJVuoy.js} +0 -0
  345. /package/dist/web/assets/{emacs-lisp-BXjlHyDW.js → emacs-lisp-CEHJqI4m.js} +0 -0
  346. /package/dist/web/assets/{everforest-dark-h8Q2loiX.js → everforest-dark-CHHLt7cq.js} +0 -0
  347. /package/dist/web/assets/{everforest-light-CdsJiL-9.js → everforest-light-TcTbK1sM.js} +0 -0
  348. /package/dist/web/assets/{fennel-D0CBtOvY.js → fennel-Bh4vsA1A.js} +0 -0
  349. /package/dist/web/assets/{fish-DzayfrMj.js → fish-D0T0fILG.js} +0 -0
  350. /package/dist/web/assets/{fluent-CatjkUfx.js → fluent-CgXDXdyy.js} +0 -0
  351. /package/dist/web/assets/{format-bytes-BulRSULX.js → format-bytes-Bc6SqF7M.js} +0 -0
  352. /package/dist/web/assets/{fortran-free-form-DM04ud0b.js → fortran-free-form-CUg3Xhz4.js} +0 -0
  353. /package/dist/web/assets/{gdscript-BLN5iZwf.js → gdscript-Cx056p_k.js} +0 -0
  354. /package/dist/web/assets/{gdshader-BK-1iZQs.js → gdshader-Dj1qP4I5.js} +0 -0
  355. /package/dist/web/assets/{genie-BGPOFWDN.js → genie-SBt15wn7.js} +0 -0
  356. /package/dist/web/assets/{gherkin-CdVOJ_JY.js → gherkin-bTJiHIrB.js} +0 -0
  357. /package/dist/web/assets/{github-dark-B_xW8TaY.js → github-dark-BOPhyugs.js} +0 -0
  358. /package/dist/web/assets/{github-dark-default-h_iKq7CX.js → github-dark-default-Cktqe6NF.js} +0 -0
  359. /package/dist/web/assets/{github-dark-dimmed-nKDYE62T.js → github-dark-dimmed-CeWfII_B.js} +0 -0
  360. /package/dist/web/assets/{github-dark-high-contrast-l8I771QT.js → github-dark-high-contrast-CTx8LpdV.js} +0 -0
  361. /package/dist/web/assets/{github-light-DNhjkg8Z.js → github-light-DVsO5Un1.js} +0 -0
  362. /package/dist/web/assets/{github-light-default-DQ06uS3g.js → github-light-default-BiyPxicr.js} +0 -0
  363. /package/dist/web/assets/{github-light-high-contrast-qc2sZCVN.js → github-light-high-contrast-BPlnke0a.js} +0 -0
  364. /package/dist/web/assets/{gleam-DPPatkNH.js → gleam-CWSxvD0C.js} +0 -0
  365. /package/dist/web/assets/{gn-BnzGQTy5.js → gn-D7NUVJuv.js} +0 -0
  366. /package/dist/web/assets/{gnuplot-Ct1leoo3.js → gnuplot-c5uXmJKc.js} +0 -0
  367. /package/dist/web/assets/{go-qysCdbrn.js → go-CRsHi4Cw.js} +0 -0
  368. /package/dist/web/assets/{groovy-BkWIdrRQ.js → groovy-DpV0RA5r.js} +0 -0
  369. /package/dist/web/assets/{gruvbox-dark-hard-L6Iiybbl.js → gruvbox-dark-hard-DD9fguUN.js} +0 -0
  370. /package/dist/web/assets/{gruvbox-dark-medium-DbD3yl0b.js → gruvbox-dark-medium-BvcwpYJ-.js} +0 -0
  371. /package/dist/web/assets/{gruvbox-dark-soft-Ban2cHK3.js → gruvbox-dark-soft-48dCxX9M.js} +0 -0
  372. /package/dist/web/assets/{gruvbox-light-hard-CK_SjS3e.js → gruvbox-light-hard-CjJ994Ip.js} +0 -0
  373. /package/dist/web/assets/{gruvbox-light-medium-Bjgvhc2w.js → gruvbox-light-medium-DQJQZ_rV.js} +0 -0
  374. /package/dist/web/assets/{gruvbox-light-soft-EWnyYGUu.js → gruvbox-light-soft-AqsC9mKw.js} +0 -0
  375. /package/dist/web/assets/{haskell-rT1N9nYr.js → haskell-B5V7yvmh.js} +0 -0
  376. /package/dist/web/assets/{haxe-Bbc91axo.js → haxe-LWTKfPKr.js} +0 -0
  377. /package/dist/web/assets/{hcl-D-3qJA4v.js → hcl-QmNZdAtI.js} +0 -0
  378. /package/dist/web/assets/{hjson-DWtewcyQ.js → hjson-CboJsAzK.js} +0 -0
  379. /package/dist/web/assets/{hlsl-C7t6hCrO.js → hlsl-Bd-DO_WL.js} +0 -0
  380. /package/dist/web/assets/{horizon-zJAGUQ3j.js → horizon-CU8Bi_ss.js} +0 -0
  381. /package/dist/web/assets/{horizon-bright-CRNyrJy8.js → horizon-bright-iSQ3_3jP.js} +0 -0
  382. /package/dist/web/assets/{houston-BFKa4W1-.js → houston-CTXv3Puz.js} +0 -0
  383. /package/dist/web/assets/{hy-W1hNjMBM.js → hy-Cd4hTidD.js} +0 -0
  384. /package/dist/web/assets/{image-gallery-BycaVWOu.js → image-gallery-J8h8IY0c.js} +0 -0
  385. /package/dist/web/assets/{imba-CPphaV-V.js → imba-BipCHEY2.js} +0 -0
  386. /package/dist/web/assets/{ini-CayaZ4vW.js → ini-Dd1KkMrB.js} +0 -0
  387. /package/dist/web/assets/{java-BPAE_9Ej.js → java-rGr0OQD8.js} +0 -0
  388. /package/dist/web/assets/{javascript-C5SKIVqe.js → javascript-DHhCH2TN.js} +0 -0
  389. /package/dist/web/assets/{json-C-0EUYmu.js → json-CMMLBCUf.js} +0 -0
  390. /package/dist/web/assets/{json5-BqVetEZL.js → json5-mPOwTOsB.js} +0 -0
  391. /package/dist/web/assets/{jsonc-DnjIzkUB.js → jsonc-Bie0E6D3.js} +0 -0
  392. /package/dist/web/assets/{jsonl-rbV-3EqO.js → jsonl-CpqHmtC1.js} +0 -0
  393. /package/dist/web/assets/{jsonnet-9hvXw4qr.js → jsonnet-D21Ms51e.js} +0 -0
  394. /package/dist/web/assets/{jssm-1ifXyIhu.js → jssm-BXnl1nur.js} +0 -0
  395. /package/dist/web/assets/{jsx-hPumywTY.js → jsx-Chnii_vB.js} +0 -0
  396. /package/dist/web/assets/{kanagawa-dragon-BCPjmoMO.js → kanagawa-dragon-DhxR0UjL.js} +0 -0
  397. /package/dist/web/assets/{kanagawa-lotus-DN2VNjy7.js → kanagawa-lotus-fupRg5wp.js} +0 -0
  398. /package/dist/web/assets/{kanagawa-wave-B8RZEsgc.js → kanagawa-wave-DSWbRS9M.js} +0 -0
  399. /package/dist/web/assets/{kdl-CkvjWQIa.js → kdl-DirGHqUy.js} +0 -0
  400. /package/dist/web/assets/{kotlin-D8cnRi5o.js → kotlin-DkhUVMDC.js} +0 -0
  401. /package/dist/web/assets/{kusto-CmeeBEJG.js → kusto-DU7OpovF.js} +0 -0
  402. /package/dist/web/assets/{laserwave--rtV8Mv9.js → laserwave-iLKb1ZCT.js} +0 -0
  403. /package/dist/web/assets/{lean-CS-Pyi42.js → lean-Cuvh_QAP.js} +0 -0
  404. /package/dist/web/assets/{less-Ddi_7qGm.js → less-B5tQZOdI.js} +0 -0
  405. /package/dist/web/assets/{lib-DIrxSyLb.js → lib-el9rA30D.js} +0 -0
  406. /package/dist/web/assets/{libesm-CYLrAeW3.js → libesm-CdttTIAd.js} +0 -0
  407. /package/dist/web/assets/{light-plus-CrEjpkkX.js → light-plus-DiHU2KL5.js} +0 -0
  408. /package/dist/web/assets/{llvm-Cm7ZXmAO.js → llvm-sCBTKCKN.js} +0 -0
  409. /package/dist/web/assets/{log-lW2sYxtp.js → log-DtyR34Ie.js} +0 -0
  410. /package/dist/web/assets/{logo-B-PiRb53.js → logo-CP91aQyG.js} +0 -0
  411. /package/dist/web/assets/{luau-8St0pC-R.js → luau-nfGo2ulP.js} +0 -0
  412. /package/dist/web/assets/{make-DbNdhH54.js → make-XbDn9GHe.js} +0 -0
  413. /package/dist/web/assets/{markdown-CYocYSGd.js → markdown-BB1_3xLr.js} +0 -0
  414. /package/dist/web/assets/{material-theme-CVBF1Cbi.js → material-theme-CIx_sxAy.js} +0 -0
  415. /package/dist/web/assets/{material-theme-darker-HFrlNZD8.js → material-theme-darker-DsQeueDD.js} +0 -0
  416. /package/dist/web/assets/{material-theme-lighter-BM-uz2ft.js → material-theme-lighter-x_lMi74j.js} +0 -0
  417. /package/dist/web/assets/{material-theme-ocean-PbvUez8m.js → material-theme-ocean-Bkgh25P8.js} +0 -0
  418. /package/dist/web/assets/{material-theme-palenight-B22Ck6qd.js → material-theme-palenight-CoOjdbti.js} +0 -0
  419. /package/dist/web/assets/{matlab-GFFNzucw.js → matlab-D6xZas_8.js} +0 -0
  420. /package/dist/web/assets/{mdx-BVnJzMDx.js → mdx-Cl5_YNoz.js} +0 -0
  421. /package/dist/web/assets/{mermaid-BlCmSTCM.js → mermaid-8Eow4jz_.js} +0 -0
  422. /package/dist/web/assets/{min-dark-B0PwlAfC.js → min-dark-D4DhjgRE.js} +0 -0
  423. /package/dist/web/assets/{min-light-C_H2ABKu.js → min-light-DzAckd0t.js} +0 -0
  424. /package/dist/web/assets/{mipsasm-C3rf2fo6.js → mipsasm-zI_zu0tj.js} +0 -0
  425. /package/dist/web/assets/{mojo-CDRuzM3o.js → mojo-DQnGGPHf.js} +0 -0
  426. /package/dist/web/assets/{monokai-KiebNy_Y.js → monokai-CrFoD2VD.js} +0 -0
  427. /package/dist/web/assets/{moonbit-CdVUHoWl.js → moonbit-DdphIGs6.js} +0 -0
  428. /package/dist/web/assets/{move-Dq9iKZRY.js → move-BUlkn0xW.js} +0 -0
  429. /package/dist/web/assets/{narrat-7y5L5sGM.js → narrat-CbOBdtCn.js} +0 -0
  430. /package/dist/web/assets/{nextflow-groovy-Cwcbkcrx.js → nextflow-groovy-CeVLUTuQ.js} +0 -0
  431. /package/dist/web/assets/{night-owl-TBgLPzj4.js → night-owl-Bm4LhUR1.js} +0 -0
  432. /package/dist/web/assets/{night-owl-light-Dehb9My2.js → night-owl-light-DtcBiMEf.js} +0 -0
  433. /package/dist/web/assets/{nix-BKj-gzoX.js → nix-DrdwQ70g.js} +0 -0
  434. /package/dist/web/assets/{nord-BF_r8PeX.js → nord-B0Head1v.js} +0 -0
  435. /package/dist/web/assets/{nushell-CeAjk9_E.js → nushell-CmUdltKn.js} +0 -0
  436. /package/dist/web/assets/{objective-c-Xl1OMcDp.js → objective-c-BGDR33XN.js} +0 -0
  437. /package/dist/web/assets/{objective-cpp-C4ZgzrRq.js → objective-cpp-Buc1Zhd0.js} +0 -0
  438. /package/dist/web/assets/{ocaml-CGj8IYTq.js → ocaml-xdzl9rRD.js} +0 -0
  439. /package/dist/web/assets/{odin-C4veqvW2.js → odin-DiUFngnd.js} +0 -0
  440. /package/dist/web/assets/{one-dark-pro-gAcWejsV.js → one-dark-pro-BURxmIp3.js} +0 -0
  441. /package/dist/web/assets/{one-light-B7E-UUXy.js → one-light-BMRMInAj.js} +0 -0
  442. /package/dist/web/assets/{openscad-C-wN9BEv.js → openscad-DAgLA5J3.js} +0 -0
  443. /package/dist/web/assets/{pascal-C8WBtxMs.js → pascal-CoDZxcRB.js} +0 -0
  444. /package/dist/web/assets/{pkl-BBfF4G2A.js → pkl-DzKM6BuM.js} +0 -0
  445. /package/dist/web/assets/{plastic-DFOAb89P.js → plastic-vF15LmNS.js} +0 -0
  446. /package/dist/web/assets/{plsql-BS2CEMMV.js → plsql-C1v07teA.js} +0 -0
  447. /package/dist/web/assets/{po-BKJDtPmy.js → po-CLLC8BuA.js} +0 -0
  448. /package/dist/web/assets/{poimandres-Cg3hL13e.js → poimandres-Uq0xysxM.js} +0 -0
  449. /package/dist/web/assets/{polar-B9ebiXUU.js → polar-2-luY1Pc.js} +0 -0
  450. /package/dist/web/assets/{portal-container-context-a399Hd9F.js → portal-container-context-DKymYOY-.js} +0 -0
  451. /package/dist/web/assets/{postcss-B5REwNY_.js → postcss-lbFhe0rz.js} +0 -0
  452. /package/dist/web/assets/{powerquery-stc0Gzkf.js → powerquery-RL8O9Wie.js} +0 -0
  453. /package/dist/web/assets/{powershell-jgd0ahJN.js → powershell-upFWhb-b.js} +0 -0
  454. /package/dist/web/assets/{prisma-CWuZjRhI.js → prisma-DBtYaWFk.js} +0 -0
  455. /package/dist/web/assets/{prolog-D5zNFE63.js → prolog-D8jSMykJ.js} +0 -0
  456. /package/dist/web/assets/{proto-B-6RrU7n.js → proto-BM4eadF7.js} +0 -0
  457. /package/dist/web/assets/{puppet-DONP8TDR.js → puppet-BQDQ3Snu.js} +0 -0
  458. /package/dist/web/assets/{purescript-DDJITf-A.js → purescript-Cj2aTX4s.js} +0 -0
  459. /package/dist/web/assets/{python-bmWy9j1-.js → python-BYpqq6u4.js} +0 -0
  460. /package/dist/web/assets/{qmldir-CKDwMt7X.js → qmldir-4uiTcwAu.js} +0 -0
  461. /package/dist/web/assets/{qss-DptQQzBn.js → qss-D5xB-Mqo.js} +0 -0
  462. /package/dist/web/assets/{r-BorKpJ8r.js → r-P6Ujy8rf.js} +0 -0
  463. /package/dist/web/assets/{racket-BaHpYVsZ.js → racket-COKgCFuM.js} +0 -0
  464. /package/dist/web/assets/{raku-DFJIV4k_.js → raku-z14Q9i7K.js} +0 -0
  465. /package/dist/web/assets/{react-X4jUntEf.js → react-D1Yg256j.js} +0 -0
  466. /package/dist/web/assets/{red-70oJGrkb.js → red-ObAvgvQ5.js} +0 -0
  467. /package/dist/web/assets/{reg-C4g235Dv.js → reg-Qv4f0JFA.js} +0 -0
  468. /package/dist/web/assets/{regexp-Cw1UVmti.js → regexp-CEOVGIzy.js} +0 -0
  469. /package/dist/web/assets/{rel-DeLhIz5L.js → rel-cWOyTUwd.js} +0 -0
  470. /package/dist/web/assets/{resolve-theme-b_yGlUFQ.js → resolve-theme-CMp5xxCW.js} +0 -0
  471. /package/dist/web/assets/{riscv-ChnTiBRK.js → riscv-BZDwx-lv.js} +0 -0
  472. /package/dist/web/assets/{ron-C5IWeqDn.js → ron-BpjosPS0.js} +0 -0
  473. /package/dist/web/assets/{rose-pine-DCR0ohYW.js → rose-pine-DhxfJWcm.js} +0 -0
  474. /package/dist/web/assets/{rose-pine-dawn-DvGZs1PR.js → rose-pine-dawn-BbGt9Wy_.js} +0 -0
  475. /package/dist/web/assets/{rose-pine-moon-BWACHjeS.js → rose-pine-moon-dj4Zxgik.js} +0 -0
  476. /package/dist/web/assets/{rosmsg-CQlIVazE.js → rosmsg-EciOaHo2.js} +0 -0
  477. /package/dist/web/assets/{rust-DGGVzWI8.js → rust-C_eH59O_.js} +0 -0
  478. /package/dist/web/assets/{sass-bj1C0rFI.js → sass-Dos3R5lL.js} +0 -0
  479. /package/dist/web/assets/{scala-MU1tLKDi.js → scala-8lVKsTvf.js} +0 -0
  480. /package/dist/web/assets/{scheme-CeGXtv7t.js → scheme-Bd3VdaZj.js} +0 -0
  481. /package/dist/web/assets/{sdbl-D0HLSGKp.js → sdbl-C4Yrjlgh.js} +0 -0
  482. /package/dist/web/assets/{shellscript-DkYiDvh1.js → shellscript-OFZbPKZH.js} +0 -0
  483. /package/dist/web/assets/{slack-dark-YqeHiGWH.js → slack-dark-aL6vlxZs.js} +0 -0
  484. /package/dist/web/assets/{slack-ochin-9Oe0DljJ.js → slack-ochin-BKt1E7sL.js} +0 -0
  485. /package/dist/web/assets/{smalltalk-CaaxedR7.js → smalltalk-D6qVBL1U.js} +0 -0
  486. /package/dist/web/assets/{snazzy-light-C8s2FHNC.js → snazzy-light-BrWerT0t.js} +0 -0
  487. /package/dist/web/assets/{solarized-dark-0ryY6oN3.js → solarized-dark-CzxTJgVQ.js} +0 -0
  488. /package/dist/web/assets/{solarized-light-bltgZeNh.js → solarized-light-BecaDAnG.js} +0 -0
  489. /package/dist/web/assets/{solidity-DOf5HmLZ.js → solidity-C9t7pZ84.js} +0 -0
  490. /package/dist/web/assets/{splunk-D1u4WHDW.js → splunk-CtxfFKtF.js} +0 -0
  491. /package/dist/web/assets/{sql-G8uQZljX.js → sql-7FE_Duz0.js} +0 -0
  492. /package/dist/web/assets/{ssh-config-rbXvly7Q.js → ssh-config-3Fr37ACC.js} +0 -0
  493. /package/dist/web/assets/{stylus-Cii1iADy.js → stylus-BP4mE1sO.js} +0 -0
  494. /package/dist/web/assets/{swift-DpIgonN4.js → swift-0uqTFouD.js} +0 -0
  495. /package/dist/web/assets/{synthwave-84-DjGLzU2b.js → synthwave-84-DQaNM3DI.js} +0 -0
  496. /package/dist/web/assets/{system-verilog-_Z0M0Hs1.js → system-verilog-DUIVrZHZ.js} +0 -0
  497. /package/dist/web/assets/{systemd-BhyDCh9P.js → systemd-CtNo_WIh.js} +0 -0
  498. /package/dist/web/assets/{talonscript-CNchgCRD.js → talonscript-B0HXaCVT.js} +0 -0
  499. /package/dist/web/assets/{tasl-m--W7Pyr.js → tasl-Cb7RAl11.js} +0 -0
  500. /package/dist/web/assets/{tcl-gY-M_2BC.js → tcl-B79aC6l5.js} +0 -0
  501. /package/dist/web/assets/{terraform-CB6CzMwo.js → terraform-75jJDjpW.js} +0 -0
  502. /package/dist/web/assets/{tokyo-night-COh9oRYi.js → tokyo-night-Cz9Uh9qb.js} +0 -0
  503. /package/dist/web/assets/{toml-Bg2bsY-v.js → toml-CD6y9A-z.js} +0 -0
  504. /package/dist/web/assets/{tsv-DceGDiJC.js → tsv-CXJMbBrb.js} +0 -0
  505. /package/dist/web/assets/{tsx-EccDYa7i.js → tsx-BuYN0I2t.js} +0 -0
  506. /package/dist/web/assets/{turtle-C_l2JhvX.js → turtle-DWH-Rjse.js} +0 -0
  507. /package/dist/web/assets/{typescript-C1ytmMcr.js → typescript-BPd-hsrR.js} +0 -0
  508. /package/dist/web/assets/{typespec-De2ztzG5.js → typespec-B0wvVykx.js} +0 -0
  509. /package/dist/web/assets/{typst-DNcS7gSr.js → typst-DWG2c48-.js} +0 -0
  510. /package/dist/web/assets/{use-is-mobile-CYW3FJFE.js → use-is-mobile-D1weanbj.js} +0 -0
  511. /package/dist/web/assets/{use-visual-viewport-D9O48HQt.js → use-visual-viewport-Bfl3Bxxb.js} +0 -0
  512. /package/dist/web/assets/{utils-C9OjCrou.js → utils-IrnQujwR.js} +0 -0
  513. /package/dist/web/assets/{v-DSMUsdMO.js → v-Ch6E4Egd.js} +0 -0
  514. /package/dist/web/assets/{vala-BEazLpkO.js → vala-CGVKwbPx.js} +0 -0
  515. /package/dist/web/assets/{vb-CV9pEJzW.js → vb-BIEbSxyT.js} +0 -0
  516. /package/dist/web/assets/{vendor-xterm-cuGQmUjN.js → vendor-xterm-YQlzIWv2.js} +0 -0
  517. /package/dist/web/assets/{verilog-DhXkLVMk.js → verilog-A-3pYPad.js} +0 -0
  518. /package/dist/web/assets/{vesper-n4IltYq-.js → vesper-CK1naZAV.js} +0 -0
  519. /package/dist/web/assets/{vhdl-CePjFbvs.js → vhdl-CVawmgMg.js} +0 -0
  520. /package/dist/web/assets/{viml-ChndFsm5.js → viml-CiWjaqBY.js} +0 -0
  521. /package/dist/web/assets/{vitesse-black-BytVdvhC.js → vitesse-black-PYXW4-BO.js} +0 -0
  522. /package/dist/web/assets/{vitesse-dark-83Wech0N.js → vitesse-dark-BU5s4AuG.js} +0 -0
  523. /package/dist/web/assets/{vitesse-light-Xg4wbeMO.js → vitesse-light-DgkIT-N7.js} +0 -0
  524. /package/dist/web/assets/{vyper-eW1NC3FG.js → vyper-D8cRDPp3.js} +0 -0
  525. /package/dist/web/assets/{wasm-BucxKwBZ.js → wasm-C02wlRbP.js} +0 -0
  526. /package/dist/web/assets/{wasm-Bhucqu1z.js → wasm-ClFJgzmT.js} +0 -0
  527. /package/dist/web/assets/{wenyan-BJFBuXuH.js → wenyan-B8plxIr8.js} +0 -0
  528. /package/dist/web/assets/{wgsl-6z4FUyMK.js → wgsl-CVujtm3V.js} +0 -0
  529. /package/dist/web/assets/{wikitext-BoDU6teJ.js → wikitext-CmcG9B69.js} +0 -0
  530. /package/dist/web/assets/{wit-DerMPpgt.js → wit--gl2Jium.js} +0 -0
  531. /package/dist/web/assets/{wolfram-D78v0Ap-.js → wolfram-6T_1D-NS.js} +0 -0
  532. /package/dist/web/assets/{x-YDu4m2Iq.js → x-CxoBA0po.js} +0 -0
  533. /package/dist/web/assets/{yaml-C4TIgIw4.js → yaml-CIVV9uA1.js} +0 -0
  534. /package/dist/web/assets/{zenscript-BydW-dLC.js → zenscript-CoT4yNdA.js} +0 -0
  535. /package/dist/web/assets/{zig-b9lTqL5E.js → zig-BWs2Qo3G.js} +0 -0
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{S as t,x as n}from"./vendor-markdown-Ls5AcU91.js";import"./vendor-ui-CaeeFO0B.js";import{t as r}from"./explorer-body-uh8oJp6J.js";import"./use-coarse-long-press-BmI_GVW5.js";import"./api-client-CEYCBt_0.js";import"./vendor-mermaid-CfY1-PkA.js";import"./settings-store-CzLnTR8p.js";import"./portal-container-context-DKymYOY-.js";import"./panel-store-BmdcSBNb.js";import"./window-store-D0HbQ1pM.js";import"./tab-store-1xYJb0gM.js";import"./context-menu-CJL8L98s.js";import"./use-is-mobile-D1weanbj.js";import"./window-pip-registry-CrCYYTTf.js";import"./button-DX32ffge.js";import"./mobile-bottom-sheet-CmySDB6I.js";import"./use-visual-viewport-Bfl3Bxxb.js";import{Ct as i,ct as a,st as o}from"./index-CHQAPZIX.js";var s=e(t(),1),c=n();function l({id:e,payload:t}){let{host:n,error:l}=a(),u=i(e=>e.discard);(0,s.useEffect)(()=>()=>u(e),[e,u]);let d=(typeof t?.path==`string`?t.path:``)||o()||n?.homedir||``;return d?(0,c.jsx)(r,{windowId:e,initialPath:d}):(0,c.jsx)(`div`,{className:`flex h-full items-center justify-center p-4 text-xs text-text-2`,children:l?`Could not reach the host: ${l}`:`Loading…`})}export{l as default};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{S as t,x as n}from"./vendor-markdown-Ls5AcU91.js";import"./vendor-ui-CaeeFO0B.js";import{t as r}from"./createLucideIcon-D8pyde1A.js";import{t as i}from"./folder-symlink-fQRoG_rV.js";import{t as a}from"./loader-circle-DPMrnLQ2.js";import{t as o}from"./power-CriQkeK5.js";import{n as s,s as c}from"./api-client-oY1tC3tM.js";import{t as l}from"./button-2WCAS8dI.js";import{Jn as u,Pn as d,X as f,Yn as p}from"./index-yV5RgBDh.js";var m=r(`power-off`,[[`path`,{d:`M18.36 6.64A9 9 0 0 1 20.77 15`,key:`dxknvb`}],[`path`,{d:`M6.16 6.16a9 9 0 1 0 12.68 12.68`,key:`1x7qb5`}],[`path`,{d:`M12 2v4`,key:`3427ic`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),h=e(t(),1),g=n();function _(){let[e,t]=(0,h.useState)([]),[n,r]=(0,h.useState)(!0),[_,v]=(0,h.useState)(``),[y,b]=(0,h.useState)(!1),[x,S]=(0,h.useState)(``),[C,w]=(0,h.useState)(!1),[T,E]=(0,h.useState)(null),[D,O]=(0,h.useState)(null),k=(0,h.useCallback)(async()=>{try{t(await s.get(`/api/extensions`))}catch(e){console.error(`Failed to load extensions:`,e)}finally{r(!1)}},[]);(0,h.useEffect)(()=>{k()},[k]);let A=async()=>{let e=_.trim();if(e){b(!0);try{await s.post(`/api/extensions/install`,{name:e}),c.success(`Installed ${e}`),v(``),k()}catch(e){c.error(e.message||`Install failed`)}finally{b(!1)}}},j=async e=>{E(e.id);try{await s.patch(`/api/extensions/${e.id}`,{enabled:!e.enabled}),k()}catch(e){c.error(e.message||`Toggle failed`)}finally{E(null)}},M=async e=>{O(e);try{await s.del(`/api/extensions/${e}`),c.success(`Removed ${e}`),k()}catch(e){c.error(e.message||`Remove failed`)}finally{O(null)}};return n?(0,g.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,g.jsx)(a,{className:`size-4 animate-spin text-muted-foreground`})}):(0,g.jsxs)(`div`,{className:`space-y-4`,children:[(0,g.jsxs)(`section`,{className:`space-y-2`,children:[(0,g.jsx)(`h3`,{className:`text-xs font-medium text-muted-foreground`,children:`Install Extension`}),(0,g.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,g.jsx)(f,{value:_,onChange:e=>v(e.target.value),onKeyDown:e=>{e.key===`Enter`&&A()},placeholder:`npm package name (e.g. @ppm/ext-myext)`,className:`h-8 text-xs flex-1`}),(0,g.jsxs)(l,{variant:`outline`,size:`sm`,className:`h-8 text-xs px-3 gap-1 cursor-pointer`,disabled:!_.trim()||y,onClick:A,children:[y?(0,g.jsx)(a,{className:`size-3 animate-spin`}):(0,g.jsx)(p,{className:`size-3`}),`Install`]})]}),(0,g.jsx)(`button`,{onClick:()=>w(!C),className:`text-[11px] text-muted-foreground hover:text-foreground transition-colors cursor-pointer`,children:C?`Hide`:`Dev link local extension...`}),C&&(0,g.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,g.jsx)(f,{value:x,onChange:e=>S(e.target.value),placeholder:`Local path (e.g. ./packages/ext-myext)`,className:`h-8 text-xs flex-1`}),(0,g.jsxs)(l,{variant:`outline`,size:`sm`,className:`h-8 text-xs px-3 gap-1 cursor-pointer`,disabled:!x.trim(),onClick:async()=>{try{await s.post(`/api/extensions/dev-link`,{path:x.trim()}),c.success(`Dev-linked successfully`),S(``),k()}catch(e){c.error(e.message||`Dev link failed`)}},children:[(0,g.jsx)(i,{className:`size-3`}),`Link`]})]})]}),(0,g.jsxs)(`section`,{className:`space-y-2`,children:[(0,g.jsxs)(`h3`,{className:`text-xs font-medium text-muted-foreground`,children:[`Installed (`,e.length,`)`]}),e.length===0?(0,g.jsx)(`p`,{className:`text-[11px] text-muted-foreground py-4 text-center`,children:`No extensions installed`}):(0,g.jsx)(`div`,{className:`space-y-1`,children:e.map(e=>(0,g.jsxs)(`div`,{className:`flex items-center gap-2 px-2.5 py-2 rounded-lg bg-muted/50 hover:bg-muted transition-colors`,children:[(0,g.jsx)(`div`,{className:`size-8 rounded-md bg-background flex items-center justify-center shrink-0`,children:(0,g.jsx)(u,{className:`size-4 text-muted-foreground`})}),(0,g.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,g.jsx)(`p`,{className:`text-xs font-medium truncate`,children:e.displayName||e.id}),(0,g.jsxs)(`p`,{className:`text-[11px] text-muted-foreground truncate`,children:[e.id,` v`,e.version,e.activated&&(0,g.jsx)(`span`,{className:`ml-1 text-success`,children:`active`})]})]}),(0,g.jsx)(l,{variant:`ghost`,size:`icon`,className:`size-7 shrink-0 cursor-pointer`,title:e.enabled?`Disable`:`Enable`,disabled:T===e.id,onClick:()=>j(e),children:T===e.id?(0,g.jsx)(a,{className:`size-3.5 animate-spin`}):e.enabled?(0,g.jsx)(o,{className:`size-3.5 text-success`}):(0,g.jsx)(m,{className:`size-3.5 text-muted-foreground`})}),(0,g.jsx)(l,{variant:`ghost`,size:`icon`,className:`size-7 shrink-0 cursor-pointer text-destructive hover:text-destructive`,title:`Remove`,disabled:D===e.id,onClick:()=>M(e.id),children:D===e.id?(0,g.jsx)(a,{className:`size-3.5 animate-spin`}):(0,g.jsx)(d,{className:`size-3.5`})})]},e.id))})]})]})}export{_ as ExtensionManagerSection};
1
+ import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{S as t,x as n}from"./vendor-markdown-Ls5AcU91.js";import"./vendor-ui-CaeeFO0B.js";import{t as r}from"./createLucideIcon-D8pyde1A.js";import{t as i}from"./folder-symlink-fQRoG_rV.js";import{t as a}from"./loader-circle-DPMrnLQ2.js";import{t as o}from"./power-CriQkeK5.js";import{n as s,s as c}from"./api-client-CEYCBt_0.js";import{t as l}from"./button-DX32ffge.js";import{Ln as u,Qn as d,X as f,Zn as p}from"./index-CHQAPZIX.js";var m=r(`power-off`,[[`path`,{d:`M18.36 6.64A9 9 0 0 1 20.77 15`,key:`dxknvb`}],[`path`,{d:`M6.16 6.16a9 9 0 1 0 12.68 12.68`,key:`1x7qb5`}],[`path`,{d:`M12 2v4`,key:`3427ic`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),h=e(t(),1),g=n();function _(){let[e,t]=(0,h.useState)([]),[n,r]=(0,h.useState)(!0),[_,v]=(0,h.useState)(``),[y,b]=(0,h.useState)(!1),[x,S]=(0,h.useState)(``),[C,w]=(0,h.useState)(!1),[T,E]=(0,h.useState)(null),[D,O]=(0,h.useState)(null),k=(0,h.useCallback)(async()=>{try{t(await s.get(`/api/extensions`))}catch(e){console.error(`Failed to load extensions:`,e)}finally{r(!1)}},[]);(0,h.useEffect)(()=>{k()},[k]);let A=async()=>{let e=_.trim();if(e){b(!0);try{await s.post(`/api/extensions/install`,{name:e}),c.success(`Installed ${e}`),v(``),k()}catch(e){c.error(e.message||`Install failed`)}finally{b(!1)}}},j=async e=>{E(e.id);try{await s.patch(`/api/extensions/${e.id}`,{enabled:!e.enabled}),k()}catch(e){c.error(e.message||`Toggle failed`)}finally{E(null)}},M=async e=>{O(e);try{await s.del(`/api/extensions/${e}`),c.success(`Removed ${e}`),k()}catch(e){c.error(e.message||`Remove failed`)}finally{O(null)}};return n?(0,g.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,g.jsx)(a,{className:`size-4 animate-spin text-muted-foreground`})}):(0,g.jsxs)(`div`,{className:`space-y-4`,children:[(0,g.jsxs)(`section`,{className:`space-y-2`,children:[(0,g.jsx)(`h3`,{className:`text-xs font-medium text-muted-foreground`,children:`Install Extension`}),(0,g.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,g.jsx)(f,{value:_,onChange:e=>v(e.target.value),onKeyDown:e=>{e.key===`Enter`&&A()},placeholder:`npm package name (e.g. @ppm/ext-myext)`,className:`h-8 text-xs flex-1`}),(0,g.jsxs)(l,{variant:`outline`,size:`sm`,className:`h-8 text-xs px-3 gap-1 cursor-pointer`,disabled:!_.trim()||y,onClick:A,children:[y?(0,g.jsx)(a,{className:`size-3 animate-spin`}):(0,g.jsx)(d,{className:`size-3`}),`Install`]})]}),(0,g.jsx)(`button`,{onClick:()=>w(!C),className:`text-[11px] text-muted-foreground hover:text-foreground transition-colors cursor-pointer`,children:C?`Hide`:`Dev link local extension...`}),C&&(0,g.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,g.jsx)(f,{value:x,onChange:e=>S(e.target.value),placeholder:`Local path (e.g. ./packages/ext-myext)`,className:`h-8 text-xs flex-1`}),(0,g.jsxs)(l,{variant:`outline`,size:`sm`,className:`h-8 text-xs px-3 gap-1 cursor-pointer`,disabled:!x.trim(),onClick:async()=>{try{await s.post(`/api/extensions/dev-link`,{path:x.trim()}),c.success(`Dev-linked successfully`),S(``),k()}catch(e){c.error(e.message||`Dev link failed`)}},children:[(0,g.jsx)(i,{className:`size-3`}),`Link`]})]})]}),(0,g.jsxs)(`section`,{className:`space-y-2`,children:[(0,g.jsxs)(`h3`,{className:`text-xs font-medium text-muted-foreground`,children:[`Installed (`,e.length,`)`]}),e.length===0?(0,g.jsx)(`p`,{className:`text-[11px] text-muted-foreground py-4 text-center`,children:`No extensions installed`}):(0,g.jsx)(`div`,{className:`space-y-1`,children:e.map(e=>(0,g.jsxs)(`div`,{className:`flex items-center gap-2 px-2.5 py-2 rounded-lg bg-muted/50 hover:bg-muted transition-colors`,children:[(0,g.jsx)(`div`,{className:`size-8 rounded-md bg-background flex items-center justify-center shrink-0`,children:(0,g.jsx)(p,{className:`size-4 text-muted-foreground`})}),(0,g.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,g.jsx)(`p`,{className:`text-xs font-medium truncate`,children:e.displayName||e.id}),(0,g.jsxs)(`p`,{className:`text-[11px] text-muted-foreground truncate`,children:[e.id,` v`,e.version,e.activated&&(0,g.jsx)(`span`,{className:`ml-1 text-success`,children:`active`})]})]}),(0,g.jsx)(l,{variant:`ghost`,size:`icon`,className:`size-7 shrink-0 cursor-pointer`,title:e.enabled?`Disable`:`Enable`,disabled:T===e.id,onClick:()=>j(e),children:T===e.id?(0,g.jsx)(a,{className:`size-3.5 animate-spin`}):e.enabled?(0,g.jsx)(o,{className:`size-3.5 text-success`}):(0,g.jsx)(m,{className:`size-3.5 text-muted-foreground`})}),(0,g.jsx)(l,{variant:`ghost`,size:`icon`,className:`size-7 shrink-0 cursor-pointer text-destructive hover:text-destructive`,title:`Remove`,disabled:D===e.id,onClick:()=>M(e.id),children:D===e.id?(0,g.jsx)(a,{className:`size-3.5 animate-spin`}):(0,g.jsx)(u,{className:`size-3.5`})})]},e.id))})]})]})}export{_ as ExtensionManagerSection};
@@ -1,3 +1,3 @@
1
- import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{S as t,x as n}from"./vendor-markdown-Ls5AcU91.js";import"./vendor-ui-CaeeFO0B.js";import{t as r}from"./loader-circle-DPMrnLQ2.js";import{r as i}from"./api-client-oY1tC3tM.js";import{ln as a}from"./index-yV5RgBDh.js";var o=e(t(),1),s=n(),c=`<script>
1
+ import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{S as t,x as n}from"./vendor-markdown-Ls5AcU91.js";import"./vendor-ui-CaeeFO0B.js";import{t as r}from"./loader-circle-DPMrnLQ2.js";import{r as i}from"./api-client-CEYCBt_0.js";import{ln as a}from"./index-CHQAPZIX.js";var o=e(t(),1),s=n(),c=`<script>
2
2
  function acquireVsCodeApi(){return{postMessage:function(m){window.parent.postMessage(m,"*")},getState:function(){try{return JSON.parse(sessionStorage.getItem("vscode-state")||"null")}catch{return null}},setState:function(s){sessionStorage.setItem("vscode-state",JSON.stringify(s));return s}}}
3
3
  <\/script>`;function l(e){if(!e)return e;let t=e.indexOf(`<head>`);return t===-1?c+e:e.slice(0,t+6)+c+e.slice(t+6)}function u({metadata:e}){let t=e?.panelId,n=e?.viewType,c=e?.projectName||void 0,[u,d]=(0,o.useState)(!1),f=a(e=>e.contributions!==null),p=a(e=>{if(t&&e.webviewPanels[t])return e.webviewPanels[t];if(n){let t=n.includes(`.`)?n:`${n}.view`,r=Object.values(e.webviewPanels).filter(e=>e.viewType===n||e.viewType===t);return r.find(e=>e.projectName&&e.projectName===c)??r.find(e=>!e.projectName||!c)}}),m=p?.id??t,h=(0,o.useRef)(null),g=p?.html??``,_=l(g),v=(0,o.useRef)(null);(0,o.useEffect)(()=>{if(p||!n||!f||c&&c===v.current)return;c&&(v.current=c);let e=n.includes(`.`)?n:`${n}.view`,t=!1;async function r(){let n=[];if(c)try{let e=i(),t=(await(await fetch(`/api/projects`,e?{headers:{Authorization:`Bearer ${e}`}}:{})).json()).data?.find(e=>e.name===c);t&&(n=[t.path])}catch{}t||window.dispatchEvent(new CustomEvent(`ext:command:execute`,{detail:{command:e,args:n,recovery:!0}}))}return r(),()=>{t=!0}},[p,n,c,f]);let y=e?.extensionId,b=a(e=>{if(y&&e.activationErrors[y])return e.activationErrors[y];if(n){for(let[t,r]of Object.entries(e.activationErrors))if(t===`ext-${n}`)return r}}),x=(0,o.useCallback)(()=>{if(d(!1),!n)return;let e=n.includes(`.`)?n:`${n}.view`;(async()=>{try{let t=i(),n=(await(await fetch(`/api/projects`,t?{headers:{Authorization:`Bearer ${t}`}}:{})).json()).data?.find(e=>e.name===c),r=n?[n.path]:[];window.dispatchEvent(new CustomEvent(`ext:command:execute`,{detail:{command:e,args:r,recovery:!0}}))}catch{}})()},[n,c]),S=(0,o.useRef)(null),C=(0,o.useRef)(n),w=(0,o.useRef)(c);return(0,o.useEffect)(()=>{S.current=m??null},[m]),(0,o.useEffect)(()=>{C.current=n},[n]),(0,o.useEffect)(()=>{w.current=c},[c]),(0,o.useEffect)(()=>()=>{let e=S.current;if(e){let t=C.current;a.getState().removeWebviewPanel(e),window.dispatchEvent(new CustomEvent(`ext:webview:close`,{detail:{panelId:e,viewType:t,projectName:w.current}}))}},[]),(0,o.useEffect)(()=>{if(p){d(!1);return}if(!f||!n)return;let e=0,t=setInterval(()=>{if(e++,e>3){clearInterval(t),d(!0);return}x()},2e3);return()=>clearInterval(t)},[p,f,n,x]),(0,o.useEffect)(()=>{if(!m)return;let e=e=>{h.current&&e.source===h.current.contentWindow&&window.dispatchEvent(new CustomEvent(`ext:webview:send`,{detail:{panelId:m,message:e.data}}))};return window.addEventListener(`message`,e),()=>window.removeEventListener(`message`,e)},[m]),(0,o.useEffect)(()=>{if(!m)return;let e=e=>{let{panelId:t,message:n}=e.detail;t===m&&h.current?.contentWindow?.postMessage(n,`*`)};return window.addEventListener(`ext:webview:message`,e),()=>window.removeEventListener(`ext:webview:message`,e)},[m]),!p||!g?(0,s.jsx)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-sm text-text-subtle`,children:u?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(`span`,{className:`text-destructive font-medium`,children:`Extension failed to load`}),b&&(0,s.jsx)(`span`,{className:`text-xs text-muted-foreground max-w-md text-center`,children:b}),(0,s.jsx)(`button`,{onClick:x,className:`text-xs text-primary hover:underline`,children:`Retry`})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r,{className:`size-5 animate-spin`}),(0,s.jsx)(`span`,{children:`Loading extension...`})]})}):(0,s.jsx)(`div`,{className:`h-full w-full relative`,children:(0,s.jsx)(`iframe`,{ref:h,srcDoc:_,sandbox:`allow-scripts`,className:`w-full h-full border-0 bg-white dark:bg-bg`,title:p.title},m)})}export{u as ExtensionWebview};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{S as t,x as n}from"./vendor-markdown-Ls5AcU91.js";import"./vendor-ui-CaeeFO0B.js";import{t as r}from"./x-YDu4m2Iq.js";import{n as i}from"./api-client-oY1tC3tM.js";import{i as a}from"./project-store-BuY7rxn_.js";import{t as o}from"./button-2WCAS8dI.js";import{G as s,X as c,Y as l,Yn as u,gn as d}from"./index-yV5RgBDh.js";import{t as f}from"./separator-BzGoTlR7.js";var p=e(t(),1);function m(){return i.get(`/api/settings/files`)}function h(e){return i.patch(`/api/settings/files`,e)}function g(e){return i.get(`/api/projects/${encodeURIComponent(e)}/settings`)}function _(e,t){return i.patch(`/api/projects/${encodeURIComponent(e)}/settings`,t)}var v=n();function y({value:e,onChange:t,placeholder:n=`e.g. **/*.log`,disabled:i=!1}){let a=(0,p.useRef)([]);function s(n,r){let i=[...e];i[n]=r,t(i)}function l(n){t(e.filter((e,t)=>t!==n)),setTimeout(()=>{let e=Math.max(n-1,0);a.current[e]?.focus()},0)}function d(){t([...e,``]),setTimeout(()=>{a.current[e.length]?.focus()},0)}function f(t,n){n.key===`Enter`?(n.preventDefault(),e[t]?.trim()&&d()):n.key===`Backspace`&&e[t]===``&&(n.preventDefault(),l(t))}return(0,v.jsxs)(`div`,{className:`space-y-1.5`,children:[e.length===0&&(0,v.jsx)(`p`,{className:`text-[11px] text-muted-foreground py-1`,children:`No patterns. Click "Add pattern" to start.`}),e.map((e,t)=>(0,v.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,v.jsx)(c,{ref:e=>{a.current[t]=e},value:e,onChange:e=>s(t,e.target.value),onKeyDown:e=>f(t,e),placeholder:n,disabled:i,className:`h-8 text-xs flex-1 font-mono`,"aria-label":`Pattern ${t+1}`}),(0,v.jsx)(`button`,{type:`button`,onClick:()=>l(t),disabled:i,"aria-label":`Remove pattern ${t+1}`,className:`shrink-0 flex items-center justify-center p-2.5 rounded-md text-muted-foreground hover:text-destructive hover:bg-destructive/10 transition-colors disabled:opacity-40 disabled:pointer-events-none`,children:(0,v.jsx)(r,{className:`size-3.5`})})]},t)),(0,v.jsxs)(o,{type:`button`,variant:`outline`,size:`sm`,onClick:d,disabled:i,className:`h-8 text-xs gap-1.5 w-full cursor-pointer`,children:[(0,v.jsx)(u,{className:`size-3.5`}),`Add pattern`]})]})}var b={filesExclude:[],searchExclude:[],useIgnoreFiles:!0};function x(){let e=a(e=>e.activeProject),[t,n]=(0,p.useState)(`global`),[r,i]=(0,p.useState)([]),[c,u]=(0,p.useState)([]),[x,S]=(0,p.useState)(!0),[C,w]=(0,p.useState)(!1),[T,E]=(0,p.useState)(!1),[D,O]=(0,p.useState)(null),[k,A]=(0,p.useState)(!1),j=(0,p.useRef)(null);(0,p.useEffect)(()=>{j.current?.abort();let n=new AbortController;return j.current=n,A(!0),O(null),(async()=>{try{if(t===`global`){let e=await m();if(n.signal.aborted)return;i(e.filesExclude),u(e.searchExclude),S(e.useIgnoreFiles)}else{if(!e)return;let t=await g(e.name);if(n.signal.aborted)return;let r=t.files??{};i(r.filesExclude??b.filesExclude),u(r.searchExclude??b.searchExclude),S(r.useIgnoreFiles??b.useIgnoreFiles)}}catch(e){if(n.signal.aborted)return;O(e.message)}finally{n.signal.aborted||A(!1)}})(),()=>n.abort()},[t,e?.name]);let M=async()=>{w(!0),E(!1),O(null);try{let n={filesExclude:r.filter(e=>e.trim()!==``),searchExclude:c.filter(e=>e.trim()!==``),useIgnoreFiles:x};if(t===`global`)await h(n);else{if(!e)throw Error(`No active project`);await _(e.name,{files:n})}let i=d.getState();i.invalidateIndex(),e&&i.loadIndex(e.name),E(!0),setTimeout(()=>E(!1),2e3)}catch(e){O(e.message)}finally{w(!1)}},N=!!e;return(0,v.jsxs)(`div`,{className:`space-y-4`,children:[(0,v.jsx)(`h3`,{className:`text-xs font-medium text-muted-foreground`,children:`File Filters`}),(0,v.jsxs)(`div`,{className:`flex gap-1`,children:[(0,v.jsx)(`button`,{type:`button`,onClick:()=>n(`global`),className:`flex-1 py-1.5 rounded-md text-xs font-medium transition-colors cursor-pointer ${t===`global`?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground hover:bg-accent`}`,children:`Global`}),(0,v.jsx)(`button`,{type:`button`,onClick:()=>N&&n(`project`),disabled:!N,title:N?void 0:`Open a project to edit per-project overrides`,className:`flex-1 py-1.5 rounded-md text-xs font-medium transition-colors cursor-pointer disabled:opacity-40 disabled:cursor-not-allowed ${t===`project`?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground hover:bg-accent`}`,children:e?e.name:`Per-project`})]}),t===`project`&&e&&(0,v.jsxs)(`p`,{className:`text-[11px] text-muted-foreground -mt-2`,children:[`Overrides for `,(0,v.jsx)(`span`,{className:`font-medium`,children:e.name}),`. Leave empty to use global settings.`]}),k?(0,v.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Loading...`}):(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,v.jsx)(l,{className:`text-xs`,children:`Files to Exclude`}),(0,v.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Glob patterns hidden from the file tree and palette.`}),(0,v.jsx)(y,{value:r,onChange:i,placeholder:`e.g. **/*.log or node_modules/**`,disabled:C})]}),(0,v.jsx)(f,{}),(0,v.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,v.jsx)(l,{className:`text-xs`,children:`Search to Exclude`}),(0,v.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Glob patterns excluded from file index / palette search.`}),(0,v.jsx)(y,{value:c,onChange:u,placeholder:`e.g. dist/** or **/*.min.js`,disabled:C})]}),(0,v.jsx)(f,{}),(0,v.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(l,{className:`text-xs`,children:`Use .gitignore rules`}),(0,v.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Respect .gitignore when filtering the file tree and index.`})]}),(0,v.jsx)(s,{checked:x,onCheckedChange:S,disabled:C})]}),D&&(0,v.jsx)(`p`,{className:`text-[11px] text-destructive`,children:D}),(0,v.jsx)(o,{onClick:M,disabled:C||k,size:`sm`,className:`h-8 text-xs w-full cursor-pointer`,children:C?`Saving...`:T?`Saved`:`Save`})]})]})}export{x as FilesSettingsSection};
1
+ import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{S as t,x as n}from"./vendor-markdown-Ls5AcU91.js";import"./vendor-ui-CaeeFO0B.js";import{t as r}from"./x-CxoBA0po.js";import{n as i}from"./api-client-CEYCBt_0.js";import{i as a}from"./project-store-wWZ6bjwq.js";import{t as o}from"./button-DX32ffge.js";import{G as s,Qn as c,X as l,Y as u,gn as d}from"./index-CHQAPZIX.js";import{t as f}from"./separator-W_hJcXPk.js";var p=e(t(),1);function m(){return i.get(`/api/settings/files`)}function h(e){return i.patch(`/api/settings/files`,e)}function g(e){return i.get(`/api/projects/${encodeURIComponent(e)}/settings`)}function _(e,t){return i.patch(`/api/projects/${encodeURIComponent(e)}/settings`,t)}var v=n();function y({value:e,onChange:t,placeholder:n=`e.g. **/*.log`,disabled:i=!1}){let a=(0,p.useRef)([]);function s(n,r){let i=[...e];i[n]=r,t(i)}function u(n){t(e.filter((e,t)=>t!==n)),setTimeout(()=>{let e=Math.max(n-1,0);a.current[e]?.focus()},0)}function d(){t([...e,``]),setTimeout(()=>{a.current[e.length]?.focus()},0)}function f(t,n){n.key===`Enter`?(n.preventDefault(),e[t]?.trim()&&d()):n.key===`Backspace`&&e[t]===``&&(n.preventDefault(),u(t))}return(0,v.jsxs)(`div`,{className:`space-y-1.5`,children:[e.length===0&&(0,v.jsx)(`p`,{className:`text-[11px] text-muted-foreground py-1`,children:`No patterns. Click "Add pattern" to start.`}),e.map((e,t)=>(0,v.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,v.jsx)(l,{ref:e=>{a.current[t]=e},value:e,onChange:e=>s(t,e.target.value),onKeyDown:e=>f(t,e),placeholder:n,disabled:i,className:`h-8 text-xs flex-1 font-mono`,"aria-label":`Pattern ${t+1}`}),(0,v.jsx)(`button`,{type:`button`,onClick:()=>u(t),disabled:i,"aria-label":`Remove pattern ${t+1}`,className:`shrink-0 flex items-center justify-center p-2.5 rounded-md text-muted-foreground hover:text-destructive hover:bg-destructive/10 transition-colors disabled:opacity-40 disabled:pointer-events-none`,children:(0,v.jsx)(r,{className:`size-3.5`})})]},t)),(0,v.jsxs)(o,{type:`button`,variant:`outline`,size:`sm`,onClick:d,disabled:i,className:`h-8 text-xs gap-1.5 w-full cursor-pointer`,children:[(0,v.jsx)(c,{className:`size-3.5`}),`Add pattern`]})]})}var b={filesExclude:[],searchExclude:[],useIgnoreFiles:!0};function x(){let e=a(e=>e.activeProject),[t,n]=(0,p.useState)(`global`),[r,i]=(0,p.useState)([]),[c,l]=(0,p.useState)([]),[x,S]=(0,p.useState)(!0),[C,w]=(0,p.useState)(!1),[T,E]=(0,p.useState)(!1),[D,O]=(0,p.useState)(null),[k,A]=(0,p.useState)(!1),j=(0,p.useRef)(null);(0,p.useEffect)(()=>{j.current?.abort();let n=new AbortController;return j.current=n,A(!0),O(null),(async()=>{try{if(t===`global`){let e=await m();if(n.signal.aborted)return;i(e.filesExclude),l(e.searchExclude),S(e.useIgnoreFiles)}else{if(!e)return;let t=await g(e.name);if(n.signal.aborted)return;let r=t.files??{};i(r.filesExclude??b.filesExclude),l(r.searchExclude??b.searchExclude),S(r.useIgnoreFiles??b.useIgnoreFiles)}}catch(e){if(n.signal.aborted)return;O(e.message)}finally{n.signal.aborted||A(!1)}})(),()=>n.abort()},[t,e?.name]);let M=async()=>{w(!0),E(!1),O(null);try{let n={filesExclude:r.filter(e=>e.trim()!==``),searchExclude:c.filter(e=>e.trim()!==``),useIgnoreFiles:x};if(t===`global`)await h(n);else{if(!e)throw Error(`No active project`);await _(e.name,{files:n})}let i=d.getState();i.invalidateIndex(),e&&i.loadIndex(e.name),E(!0),setTimeout(()=>E(!1),2e3)}catch(e){O(e.message)}finally{w(!1)}},N=!!e;return(0,v.jsxs)(`div`,{className:`space-y-4`,children:[(0,v.jsx)(`h3`,{className:`text-xs font-medium text-muted-foreground`,children:`File Filters`}),(0,v.jsxs)(`div`,{className:`flex gap-1`,children:[(0,v.jsx)(`button`,{type:`button`,onClick:()=>n(`global`),className:`flex-1 py-1.5 rounded-md text-xs font-medium transition-colors cursor-pointer ${t===`global`?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground hover:bg-accent`}`,children:`Global`}),(0,v.jsx)(`button`,{type:`button`,onClick:()=>N&&n(`project`),disabled:!N,title:N?void 0:`Open a project to edit per-project overrides`,className:`flex-1 py-1.5 rounded-md text-xs font-medium transition-colors cursor-pointer disabled:opacity-40 disabled:cursor-not-allowed ${t===`project`?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground hover:bg-accent`}`,children:e?e.name:`Per-project`})]}),t===`project`&&e&&(0,v.jsxs)(`p`,{className:`text-[11px] text-muted-foreground -mt-2`,children:[`Overrides for `,(0,v.jsx)(`span`,{className:`font-medium`,children:e.name}),`. Leave empty to use global settings.`]}),k?(0,v.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Loading...`}):(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,v.jsx)(u,{className:`text-xs`,children:`Files to Exclude`}),(0,v.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Glob patterns hidden from the file tree and palette.`}),(0,v.jsx)(y,{value:r,onChange:i,placeholder:`e.g. **/*.log or node_modules/**`,disabled:C})]}),(0,v.jsx)(f,{}),(0,v.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,v.jsx)(u,{className:`text-xs`,children:`Search to Exclude`}),(0,v.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Glob patterns excluded from file index / palette search.`}),(0,v.jsx)(y,{value:c,onChange:l,placeholder:`e.g. dist/** or **/*.min.js`,disabled:C})]}),(0,v.jsx)(f,{}),(0,v.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(u,{className:`text-xs`,children:`Use .gitignore rules`}),(0,v.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Respect .gitignore when filtering the file tree and index.`})]}),(0,v.jsx)(s,{checked:x,onCheckedChange:S,disabled:C})]}),D&&(0,v.jsx)(`p`,{className:`text-[11px] text-destructive`,children:D}),(0,v.jsx)(o,{onClick:M,disabled:C||k,size:`sm`,className:`h-8 text-xs w-full cursor-pointer`,children:C?`Saving...`:T?`Saved`:`Save`})]})]})}export{x as FilesSettingsSection};
@@ -1 +1 @@
1
- import e from"./fortran-free-form-DM04ud0b.js";var t=Object.freeze(JSON.parse(`{"displayName":"Fortran (Fixed Form)","fileTypes":["f","F","f77","F77","for","FOR"],"injections":{"source.fortran.fixed - ( string | comment )":{"patterns":[{"include":"#line-header"},{"include":"#line-end-comment"}]}},"name":"fortran-fixed-form","patterns":[{"include":"#comments"},{"begin":"(?i)^(?=.{5}|(?<!^)\\\\t)\\\\s*(?:([0-9]{1,5})\\\\s+)?(format)\\\\b","beginCaptures":{"1":{"name":"constant.numeric.fortran"},"2":{"name":"keyword.control.format.fortran"}},"end":"(?=^(?![^\\\\n!#]{5}\\\\S))","name":"meta.statement.IO.fortran","patterns":[{"include":"#comments"},{"include":"#line-header"},{"match":"!.*$","name":"comment.line.fortran"},{"include":"source.fortran.free#string-constant"},{"include":"source.fortran.free#numeric-constant"},{"include":"source.fortran.free#operators"},{"include":"source.fortran.free#format-parentheses"}]},{"include":"#line-header"},{"include":"source.fortran.free"}],"repository":{"comments":{"patterns":[{"begin":"^[*Cc]","end":"\\\\n","name":"comment.line.fortran"},{"begin":"^ *!","end":"\\\\n","name":"comment.line.fortran"}]},"line-end-comment":{"begin":"(?<=^.{72})(?!\\\\n)","end":"(?=\\\\n)","name":"comment.line-end.fortran"},"line-header":{"captures":{"1":{"name":"constant.numeric.fortran"},"2":{"name":"keyword.line-continuation-operator.fortran"},"3":{"name":"source.fortran.free"},"4":{"name":"invalid.error.fortran"}},"match":"^(?!\\\\s*[!#])(?:([ \\\\d]{5} )|( {5}.)|(\\\\t)|(.{1,5}))"}},"scopeName":"source.fortran.fixed","embeddedLangs":["fortran-free-form"],"aliases":["f","for","f77"]}`)),n=[...e,t];export{n as default};
1
+ import e from"./fortran-free-form-CUg3Xhz4.js";var t=Object.freeze(JSON.parse(`{"displayName":"Fortran (Fixed Form)","fileTypes":["f","F","f77","F77","for","FOR"],"injections":{"source.fortran.fixed - ( string | comment )":{"patterns":[{"include":"#line-header"},{"include":"#line-end-comment"}]}},"name":"fortran-fixed-form","patterns":[{"include":"#comments"},{"begin":"(?i)^(?=.{5}|(?<!^)\\\\t)\\\\s*(?:([0-9]{1,5})\\\\s+)?(format)\\\\b","beginCaptures":{"1":{"name":"constant.numeric.fortran"},"2":{"name":"keyword.control.format.fortran"}},"end":"(?=^(?![^\\\\n!#]{5}\\\\S))","name":"meta.statement.IO.fortran","patterns":[{"include":"#comments"},{"include":"#line-header"},{"match":"!.*$","name":"comment.line.fortran"},{"include":"source.fortran.free#string-constant"},{"include":"source.fortran.free#numeric-constant"},{"include":"source.fortran.free#operators"},{"include":"source.fortran.free#format-parentheses"}]},{"include":"#line-header"},{"include":"source.fortran.free"}],"repository":{"comments":{"patterns":[{"begin":"^[*Cc]","end":"\\\\n","name":"comment.line.fortran"},{"begin":"^ *!","end":"\\\\n","name":"comment.line.fortran"}]},"line-end-comment":{"begin":"(?<=^.{72})(?!\\\\n)","end":"(?=\\\\n)","name":"comment.line-end.fortran"},"line-header":{"captures":{"1":{"name":"constant.numeric.fortran"},"2":{"name":"keyword.line-continuation-operator.fortran"},"3":{"name":"source.fortran.free"},"4":{"name":"invalid.error.fortran"}},"match":"^(?!\\\\s*[!#])(?:([ \\\\d]{5} )|( {5}.)|(\\\\t)|(.{1,5}))"}},"scopeName":"source.fortran.fixed","embeddedLangs":["fortran-free-form"],"aliases":["f","for","f77"]}`)),n=[...e,t];export{n as default};
@@ -1 +1 @@
1
- import e from"./markdown-CYocYSGd.js";var t=Object.freeze(JSON.parse('{"displayName":"F#","name":"fsharp","patterns":[{"include":"#compiler_directives"},{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#abstract_definition"},{"include":"#attributes"},{"include":"#modules"},{"include":"#anonymous_functions"},{"include":"#du_declaration"},{"include":"#record_declaration"},{"include":"#records"},{"include":"#strp_inlined"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"repository":{"abstract_definition":{"begin":"\\\\b(static\\\\s+)?(abstract)\\\\s+(member)?(\\\\s+\\\\[<.*>])?\\\\s*([,.0-9_`[:alpha:]\\\\s]+)(<)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"support.function.attribute.fsharp"},"5":{"name":"keyword.symbol.fsharp"}},"end":"\\\\s*(with)\\\\b|=|$","endCaptures":{"1":{"name":"keyword.fsharp"}},"name":"abstract.definition.fsharp","patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}},"match":"(\\\\??)([ \'.0-9^_`[:alpha:]]+)\\\\s*(:)((?!with\\\\b)\\\\b([ \'.0-9^_`\\\\w]+))?"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\\\w modifier in order to check that the words isn\'t blacklisted","match":"(?!with|get|set\\\\b)\\\\s*([\'.0-9^_`\\\\w]+)"},{"include":"#keywords"}]},"anonymous_functions":{"patterns":[{"begin":"\\\\b(fun)\\\\b","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"(->)","endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"name":"function.anonymous","patterns":[{"include":"#comments"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"\\\\s*(?=(->))","endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"include":"#variables"}]}]},"anonymous_record_declaration":{"begin":"(\\\\{\\\\|)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\|})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.symbol.fsharp"}},"match":"[ \'0-9^_`[:alpha:]]+(:)"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ \'0-9^_`[:alpha:]]+)"},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}]},"attributes":{"patterns":[{"begin":"\\\\[<","end":">?]","name":"support.function.attribute.fsharp","patterns":[{"include":"$self"}]}]},"cexprs":{"patterns":[{"captures":{"0":{"name":"keyword.fsharp"}},"match":"\\\\b(async|seq|promise|task|maybe|asyncMaybe|controller|scope|application|pipeline)(?=\\\\s*\\\\{)","name":"cexpr.fsharp"}]},"chars":{"patterns":[{"captures":{"1":{"name":"string.quoted.single.fsharp"}},"match":"(\'\\\\\\\\?.\')","name":"char.fsharp"}]},"comments":{"patterns":[{"begin":"^\\\\s*(\\\\(\\\\*\\\\*(?!\\\\)))((?!\\\\*\\\\)).)*$","beginCaptures":{"1":{"name":"comment.block.fsharp"}},"name":"comment.block.markdown.fsharp","patterns":[{"include":"text.html.markdown"}],"while":"^(?!\\\\s*(\\\\*)+\\\\)\\\\s*$)","whileCaptures":{"1":{"name":"comment.block.fsharp"}}},{"begin":"(\\\\(\\\\*(?!\\\\)))","beginCaptures":{"1":{"name":"comment.block.fsharp"}},"end":"(\\\\*+\\\\))","endCaptures":{"1":{"name":"comment.block.fsharp"}},"name":"comment.block.fsharp","patterns":[{"comments":"Capture // when inside of (* *) like that the rule which capture comments starting by // is not trigger. See https://github.com/ionide/ionide-fsgrammar/issues/155","match":"//","name":"fast-capture.comment.line.double-slash.fsharp"},{"comments":"Capture (*) when inside of (* *) so that it doesn\'t prematurely end the comment block.","match":"\\\\(\\\\*\\\\)","name":"fast-capture.comment.line.mul-operator.fsharp"},{"include":"#comments"}]},{"captures":{"1":{"name":"comment.block.fsharp"}},"match":"((?<!\\\\()(\\\\*)+\\\\))","name":"comment.block.markdown.fsharp.end"},{"begin":"(?<![!%\\\\&+-/<-@^|])///(?!/)","name":"comment.line.markdown.fsharp","patterns":[{"include":"text.html.markdown"}],"while":"(?<![!%\\\\&+-/<-@^|])///(?!/)"},{"match":"(?<![!%\\\\&+-/<-@^|])//(.*)$","name":"comment.line.double-slash.fsharp"}]},"common_binding_definition":{"patterns":[{"include":"#comments"},{"include":"#attributes"},{"begin":"(:)\\\\s*(\\\\()\\\\s*((?:static |)member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\\\))\\\\s*((?=,)|(?==))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[\'.0-9_[:alpha:]]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"begin":"(:)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\)\\\\s*(([ \'.0-9?^_`[:alpha:]]*)))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(:)\\\\s*(\\\\^[\'.0-9_[:alpha:]]+)\\\\s*(when)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.fsharp"}},"end":"(?=:)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"match":"\\\\b(and|when|or)\\\\b","name":"keyword.fsharp"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([\'.0-9^_[:alpha:]]+)"},{"match":"([()])","name":"keyword.symbol.fsharp"}]},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"4":{"name":"entity.name.type.fsharp"}},"match":"(:)\\\\s*([ \'.0-9?^_`[:alpha:]]+)(\\\\|\\\\s*(null))?"},{"captures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}},"match":"(->)\\\\s*(\\\\()?\\\\s*([ \'.0-9?^_`[:alpha:]]+)*"},{"begin":"(\\\\*)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\)\\\\s*(([ \'.0-9?^_`[:alpha:]]+))*)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(\\\\*)(\\\\s*([ \'.0-9?^_`[:alpha:]]+))*","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"end":"(?==)|(?=\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(<+(?!\\\\s*\\\\)))","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"beginComment":"The group (?![[:space:]]*\\\\) is for protection against overload operator. static member (<)","end":"((?<!:)>|\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endComment":"The group (?<!:) prevent us from stopping on :> when using SRTP synthax","patterns":[{"include":"#generic_declaration"}]},{"include":"#anonymous_record_declaration"},{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#record_signature"}]},{"include":"#definition"},{"include":"#variables"},{"include":"#keywords"}]},"common_declaration":{"patterns":[{"begin":"\\\\s*(->)\\\\s*([ \'.0-9^_`[:alpha:]]+)(<)","beginCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ \'.0-9^_`[:alpha:]]+)"},{"include":"#keywords"}]},{"captures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"match":"\\\\s*(->)\\\\s*(?!with|get|set\\\\b)\\\\b([\'.0-9^_`\\\\w]+)"},{"include":"#anonymous_record_declaration"},{"begin":"(\\\\??)([ \'.0-9^_`[:alpha:]]+)\\\\s*(:)(\\\\s*([ \'.0-9?^_`[:alpha:]]+)(<))","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"keyword.symbol.fsharp"},"5":{"name":"entity.name.type.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ \'.0-9^_`[:alpha:]]+)"},{"include":"#keywords"}]}]},"compiler_directives":{"patterns":[{"captures":{},"match":"\\\\s?(#(?:if|elif|elseif|else|endif|light|nowarn|warnon))","name":"keyword.control.directive.fsharp"}]},"constants":{"patterns":[{"match":"\\\\(\\\\)","name":"keyword.symbol.fsharp"},{"match":"\\\\b-?[0-9][0-9_]*((\\\\.(?!\\\\.)([0-9][0-9_]*([Ee][-+]??[0-9][0-9_]*)?)?)|([Ee][-+]??[0-9][0-9_]*))","name":"constant.numeric.float.fsharp"},{"match":"\\\\b(-?((0([Xx])\\\\h[_\\\\h]*)|(0([Oo])[0-7][0-7_]*)|(0([Bb])[01][01_]*)|([0-9][0-9_]*)))","name":"constant.numeric.integer.nativeint.fsharp"},{"match":"\\\\b(true|false)\\\\b","name":"constant.language.boolean.fsharp"},{"match":"\\\\b(null|void)\\\\b","name":"constant.other.fsharp"}]},"definition":{"patterns":[{"begin":"\\\\b(let mutable|static let mutable|static let|let inline|let|and inline|and|member val|member inline|static member inline|static member val|static member|default|member|override|let!)(\\\\s+rec|mutable)?(\\\\s+\\\\[<.*>])?\\\\s*(private|internal|public)?\\\\s+(\\\\[[^-=]*]|[_[:alpha:]]([.0-9_[:alpha:]]+)*|``[_[:alpha:]]([.0-9_`[:alpha:]\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"end":"\\\\s*((with(?: inline|))\\\\b|(=|\\\\n+=|(?<==)))","endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\\\b(use!??|and!??)\\\\s+(\\\\[[^-=]*]|[_[:alpha:]]([.0-9_[:alpha:]]+)*|``[_[:alpha:]]([.0-9_`[:alpha:]\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"\\\\s*(=)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"(?<=with|and)\\\\s*\\\\b(([gs]et)\\\\s*(?=\\\\())(\\\\[[^-=]*]|[_[:alpha:]]([.0-9_[:alpha:]]+)*|``[_[:alpha:]]([.0-9_`[:alpha:]\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"4":{"name":"variable.fsharp"}},"end":"\\\\s*(=|\\\\n+=|(?<==))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\\\b(static val mutable|val mutable|val inline|val)(\\\\s+rec|mutable)?(\\\\s+\\\\[<.*>])?\\\\s*(private|internal|public)?\\\\s+(\\\\[[^-=]*]|[_[:alpha:]]([,.0-9_[:alpha:]]+)*|``[_[:alpha:]]([,.0-9_`[:alpha:]\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"end":"\\\\n$","name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\\\b(new)\\\\b\\\\s+(\\\\()","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]}]},"double_tick":{"patterns":[{"captures":{"1":{"name":"string.quoted.single.fsharp"},"2":{"name":"variable.other.binding.fsharp"},"3":{"name":"string.quoted.single.fsharp"}},"match":"(``)([^`]*)(``)","name":"variable.other.binding.fsharp"}]},"du_declaration":{"patterns":[{"begin":"\\\\b(of)\\\\b","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"$|(\\\\|)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"du_declaration.fsharp","patterns":[{"include":"#comments"},{"captures":{"1":{"name":"variable.parameter.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}},"match":"([\'.0-9<>^_`[:alpha:]]+|``[ \'.0-9<>^_[:alpha:]]+``)\\\\s*(:)\\\\s*([\'.0-9<>^_`[:alpha:]]+|``[ \'.0-9<>^_[:alpha:]]+``)"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(``([ \'.0-9^_[:alpha:]]+)``|[\'.0-9^_`[:alpha:]]+)"},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}]}]},"generic_declaration":{"patterns":[{"begin":"(:)\\\\s*(\\\\()\\\\s*((?:static |)member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([\'^])[\'.0-9_[:alpha:]]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"match":"\\\\b(private|to|public|internal|function|yield!?|class|exception|match|delegate|of|new|in|as|if|then|else|elif|for|begin|end|inherit|do|let!|return!?|interface|with|abstract|enum|member|try|finally|and|when|or|use!??|struct|while|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!\')\\\\b","name":"keyword.fsharp"},{"match":":","name":"keyword.symbol.fsharp"},{"include":"#constants"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([\'^])[\'.0-9_[:alpha:]]+)"},{"begin":"(<)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([\'^])[\'.0-9_[:alpha:]]+)"},{"include":"#tuple_signature"},{"include":"#generic_declaration"}]},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([ \'.0-9?^_`[:alpha:]]+))+"},{"include":"#tuple_signature"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\\\w modifier in order to check that the words are allowed","match":"(?!when|and|or\\\\b)\\\\b([\'.0-9^_`\\\\w]+)"},{"captures":{"1":{"name":"keyword.symbol.fsharp"}},"comments":"Prevent captures of `|>` as a keyword when defining custom operator like `<|>`","match":"(\\\\|)"},{"include":"#keywords"}]},"keywords":{"patterns":[{"match":"\\\\b(private|public|internal)\\\\b","name":"storage.modifier"},{"match":"\\\\b(private|to|public|internal|function|class|exception|delegate|of|new|as|begin|end|inherit|let!|interface|abstract|enum|member|and|when|or|use!??|struct|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!\')\\\\b","name":"keyword.fsharp"},{"match":"\\\\b(match|yield!??|with|if|then|else|elif|for|in|return!?|try|finally|while|do)(?!\')\\\\b","name":"keyword.control"},{"match":"(->|<-)","name":"keyword.symbol.arrow.fsharp"},{"match":"[.?]*(&&&|\\\\|\\\\|\\\\||\\\\^\\\\^\\\\^|~~~|~\\\\+|~-|<<<|>>>|\\\\|>|:>|:\\\\?>|[]:;\\\\[]|<>|[=@]|\\\\|\\\\||&&|[%\\\\&_{|}]|\\\\.\\\\.|[!*-\\\\-/>^]|>=|>>|<=??|[()]|<<)[.?]*","name":"keyword.symbol.fsharp"}]},"member_declaration":{"patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"begin":"(:)\\\\s*(\\\\()\\\\s*((?:static |)member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\\\))\\\\s*((?=,)|(?==))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[\'.0-9_[:alpha:]]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[\'.0-9_[:alpha:]]+)"},{"match":"\\\\b(and|when|or)\\\\b","name":"keyword.fsharp"},{"match":"([()])","name":"keyword.symbol.fsharp"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"},"7":{"name":"entity.name.type.fsharp"}},"match":"(\\\\??)([\'.0-9^_`[:alpha:]]+|``[ \',.0-:^_`[:alpha:]]+``)\\\\s*(:?)(\\\\s*([ \'.0-9<>?_`[:alpha:]]+))?(\\\\|\\\\s*(null))?"},{"include":"#keywords"}]},"modules":{"patterns":[{"begin":"\\\\b(?:(namespace global)|(namespace|module)\\\\s*(public|internal|private|rec)?\\\\s+([`|[:alpha:]][ \'.0-9_[:alpha:]]*))","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"storage.modifier.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"end":"(\\\\s?=|\\\\s|$)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"entity.name.section.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\\\.)([A-Z][\'0-9_[:alpha:]]*)","name":"entity.name.section.fsharp"}]},{"begin":"\\\\b(open(?: type|))\\\\s+([`|[:alpha:]][\'0-9_[:alpha:]]*)(?=(\\\\.[A-Z][0-9_[:alpha:]]*)*)","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"end":"(\\\\s|$)","name":"namespace.open.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\\\.)(\\\\p{alpha}[\'0-9_[:alpha:]]*)","name":"entity.name.section.fsharp"},{"include":"#comments"}]},{"begin":"^\\\\s*(module)\\\\s+([A-Z][\'0-9_[:alpha:]]*)\\\\s*(=)\\\\s*([A-Z][\'0-9_[:alpha:]]*)","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.type.namespace.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"end":"(\\\\s|$)","name":"namespace.alias.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\\\.)([A-Z][\'0-9_[:alpha:]]*)","name":"entity.name.section.fsharp"}]}]},"record_declaration":{"patterns":[{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(?<=})","patterns":[{"include":"#comments"},{"begin":"(((mutable)\\\\s\\\\p{alpha}+)|[\'.0-9<>^_`[:alpha:]]*)\\\\s*((?<!:):(?!:))\\\\s*","beginCaptures":{"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.symbol.fsharp"}},"end":"$|([;}])","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#comments"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ \'0-9^_`[:alpha:]]+)"},{"include":"#keywords"}]},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#attributes"},{"include":"#anonymous_functions"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]}]},"record_signature":{"patterns":[{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}},"match":"[ \'0-9^_`[:alpha:]]+(=)([ \'0-9^_`[:alpha:]]+)"},{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}},"match":"[ \'0-9^_`[:alpha:]]+(=)([ \'0-9^_`[:alpha:]]+)"},{"include":"#record_signature"}]},{"include":"#keywords"}]},"records":{"patterns":[{"begin":"\\\\b(type)\\\\s+(private|internal|public)?\\\\s*","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"storage.modifier.fsharp"}},"end":"\\\\s*((with)|((as)\\\\s+([\'0-9[:alpha:]]+))|(=)|[\\\\n=]|(\\\\(\\\\)))","endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.fsharp"},"5":{"name":"variable.parameter.fsharp"},"6":{"name":"keyword.symbol.fsharp"},"7":{"name":"keyword.symbol.fsharp"}},"name":"record.fsharp","patterns":[{"include":"#comments"},{"include":"#attributes"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([\'.0-9^_[:alpha:]]+|``[ \',.0-:^_`[:alpha:]]+``)"},{"begin":"(<)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"((?<!:)>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([\'^])``[ ,.0-:^_`[:alpha:]]+``|([\'^])[.0-:^_`[:alpha:]]+)"},{"match":"\\\\b(interface|with|abstract|and|when|or|not|struct|equality|comparison|unmanaged|delegate|enum)\\\\b","name":"keyword.fsharp"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.fsharp"}},"match":"(static member|member|new)"},{"include":"#common_binding_definition"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\\\w modifier in order to check that the words isn\'t blacklisted","match":"([\'.0-9^_`\\\\w]+)"},{"include":"#keywords"}]},{"captures":{"1":{"name":"storage.modifier.fsharp"}},"match":"\\\\s*(private|internal|public)"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"\\\\s*(?=(=)|[\\\\n=]|(\\\\(\\\\))|(as))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"include":"#keywords"}]}]},"string_formatter":{"patterns":[{"captures":{"1":{"name":"keyword.format.specifier.fsharp"}},"match":"(%0?-?(\\\\d+)?(([at])|(\\\\.\\\\d+)?([EFGMefg])|([Xbcdiosux])|([Obs])|(\\\\+?A)))","name":"entity.name.type.format.specifier.fsharp"}]},"strings":{"patterns":[{"begin":"(?=[^\\\\\\\\])(@\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\\")(?!\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.literal.fsharp","patterns":[{"match":"\\"(\\")","name":"constant.character.string.escape.fsharp"}]},{"begin":"(?=[^\\\\\\\\])(\\"\\"\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\\"\\"\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.triple.fsharp","patterns":[{"include":"#string_formatter"}]},{"begin":"(?=[^\\\\\\\\])(\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.double.fsharp","patterns":[{"match":"\\\\\\\\$[\\\\t ]*","name":"punctuation.separator.string.ignore-eol.fsharp"},{"match":"\\\\\\\\([\\"\'\\\\\\\\abfnrtv]|([01][0-9][0-9]|2[0-4][0-9]|25[0-5])|(x\\\\h{2})|(u\\\\h{4})|(U00(0\\\\h|10)\\\\h{4}))","name":"constant.character.string.escape.fsharp"},{"match":"\\\\\\\\(([0-9]{1,3})|(x\\\\S{0,2})|(u\\\\S{0,4})|(U\\\\S{0,8})|\\\\S)","name":"invalid.illegal.character.string.fsharp"},{"include":"#string_formatter"}]}]},"strp_inlined":{"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#strp_inlined_body"}]}]},"strp_inlined_body":{"patterns":[{"include":"#comments"},{"include":"#anonymous_functions"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[\'.0-9_[:alpha:]]+)"},{"match":"\\\\b(and|when|or)\\\\b","name":"keyword.fsharp"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#strp_inlined_body"}]},{"captures":{"1":{"name":"keyword.fsharp"},"2":{"name":"variable.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"match":"((?:static |)member)\\\\s*([\'.0-9<>^_`[:alpha:]]+|``[ \'.0-9<>^_[:alpha:]]+``)\\\\s*(:)"},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#keywords"},{"include":"#text"},{"include":"#definition"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]},"text":{"patterns":[{"match":"\\\\\\\\","name":"text.fsharp"}]},"tuple_signature":{"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([ \'.0-9?^_`[:alpha:]]+))+"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([ \'.0-9?^_`[:alpha:]]+))+"},{"include":"#tuple_signature"}]},{"include":"#keywords"}]},"variables":{"patterns":[{"match":"\\\\(\\\\)","name":"keyword.symbol.fsharp"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}},"match":"(\\\\??)(``[ \',.0-:^_`[:alpha:]]+``|(?!private|struct\\\\b)\\\\b[ \'.0-9<>^_`\\\\w[:alpha:]]+)"}]}},"scopeName":"source.fsharp","embeddedLangs":["markdown"],"aliases":["f#","fs"]}')),n=[...e,t];export{n as default};
1
+ import e from"./markdown-BB1_3xLr.js";var t=Object.freeze(JSON.parse('{"displayName":"F#","name":"fsharp","patterns":[{"include":"#compiler_directives"},{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#abstract_definition"},{"include":"#attributes"},{"include":"#modules"},{"include":"#anonymous_functions"},{"include":"#du_declaration"},{"include":"#record_declaration"},{"include":"#records"},{"include":"#strp_inlined"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"repository":{"abstract_definition":{"begin":"\\\\b(static\\\\s+)?(abstract)\\\\s+(member)?(\\\\s+\\\\[<.*>])?\\\\s*([,.0-9_`[:alpha:]\\\\s]+)(<)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"support.function.attribute.fsharp"},"5":{"name":"keyword.symbol.fsharp"}},"end":"\\\\s*(with)\\\\b|=|$","endCaptures":{"1":{"name":"keyword.fsharp"}},"name":"abstract.definition.fsharp","patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}},"match":"(\\\\??)([ \'.0-9^_`[:alpha:]]+)\\\\s*(:)((?!with\\\\b)\\\\b([ \'.0-9^_`\\\\w]+))?"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\\\w modifier in order to check that the words isn\'t blacklisted","match":"(?!with|get|set\\\\b)\\\\s*([\'.0-9^_`\\\\w]+)"},{"include":"#keywords"}]},"anonymous_functions":{"patterns":[{"begin":"\\\\b(fun)\\\\b","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"(->)","endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"name":"function.anonymous","patterns":[{"include":"#comments"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"\\\\s*(?=(->))","endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"include":"#variables"}]}]},"anonymous_record_declaration":{"begin":"(\\\\{\\\\|)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\|})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.symbol.fsharp"}},"match":"[ \'0-9^_`[:alpha:]]+(:)"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ \'0-9^_`[:alpha:]]+)"},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}]},"attributes":{"patterns":[{"begin":"\\\\[<","end":">?]","name":"support.function.attribute.fsharp","patterns":[{"include":"$self"}]}]},"cexprs":{"patterns":[{"captures":{"0":{"name":"keyword.fsharp"}},"match":"\\\\b(async|seq|promise|task|maybe|asyncMaybe|controller|scope|application|pipeline)(?=\\\\s*\\\\{)","name":"cexpr.fsharp"}]},"chars":{"patterns":[{"captures":{"1":{"name":"string.quoted.single.fsharp"}},"match":"(\'\\\\\\\\?.\')","name":"char.fsharp"}]},"comments":{"patterns":[{"begin":"^\\\\s*(\\\\(\\\\*\\\\*(?!\\\\)))((?!\\\\*\\\\)).)*$","beginCaptures":{"1":{"name":"comment.block.fsharp"}},"name":"comment.block.markdown.fsharp","patterns":[{"include":"text.html.markdown"}],"while":"^(?!\\\\s*(\\\\*)+\\\\)\\\\s*$)","whileCaptures":{"1":{"name":"comment.block.fsharp"}}},{"begin":"(\\\\(\\\\*(?!\\\\)))","beginCaptures":{"1":{"name":"comment.block.fsharp"}},"end":"(\\\\*+\\\\))","endCaptures":{"1":{"name":"comment.block.fsharp"}},"name":"comment.block.fsharp","patterns":[{"comments":"Capture // when inside of (* *) like that the rule which capture comments starting by // is not trigger. See https://github.com/ionide/ionide-fsgrammar/issues/155","match":"//","name":"fast-capture.comment.line.double-slash.fsharp"},{"comments":"Capture (*) when inside of (* *) so that it doesn\'t prematurely end the comment block.","match":"\\\\(\\\\*\\\\)","name":"fast-capture.comment.line.mul-operator.fsharp"},{"include":"#comments"}]},{"captures":{"1":{"name":"comment.block.fsharp"}},"match":"((?<!\\\\()(\\\\*)+\\\\))","name":"comment.block.markdown.fsharp.end"},{"begin":"(?<![!%\\\\&+-/<-@^|])///(?!/)","name":"comment.line.markdown.fsharp","patterns":[{"include":"text.html.markdown"}],"while":"(?<![!%\\\\&+-/<-@^|])///(?!/)"},{"match":"(?<![!%\\\\&+-/<-@^|])//(.*)$","name":"comment.line.double-slash.fsharp"}]},"common_binding_definition":{"patterns":[{"include":"#comments"},{"include":"#attributes"},{"begin":"(:)\\\\s*(\\\\()\\\\s*((?:static |)member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\\\))\\\\s*((?=,)|(?==))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[\'.0-9_[:alpha:]]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"begin":"(:)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\)\\\\s*(([ \'.0-9?^_`[:alpha:]]*)))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(:)\\\\s*(\\\\^[\'.0-9_[:alpha:]]+)\\\\s*(when)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.fsharp"}},"end":"(?=:)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"match":"\\\\b(and|when|or)\\\\b","name":"keyword.fsharp"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([\'.0-9^_[:alpha:]]+)"},{"match":"([()])","name":"keyword.symbol.fsharp"}]},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"4":{"name":"entity.name.type.fsharp"}},"match":"(:)\\\\s*([ \'.0-9?^_`[:alpha:]]+)(\\\\|\\\\s*(null))?"},{"captures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}},"match":"(->)\\\\s*(\\\\()?\\\\s*([ \'.0-9?^_`[:alpha:]]+)*"},{"begin":"(\\\\*)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\)\\\\s*(([ \'.0-9?^_`[:alpha:]]+))*)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(\\\\*)(\\\\s*([ \'.0-9?^_`[:alpha:]]+))*","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"end":"(?==)|(?=\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(<+(?!\\\\s*\\\\)))","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"beginComment":"The group (?![[:space:]]*\\\\) is for protection against overload operator. static member (<)","end":"((?<!:)>|\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endComment":"The group (?<!:) prevent us from stopping on :> when using SRTP synthax","patterns":[{"include":"#generic_declaration"}]},{"include":"#anonymous_record_declaration"},{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#record_signature"}]},{"include":"#definition"},{"include":"#variables"},{"include":"#keywords"}]},"common_declaration":{"patterns":[{"begin":"\\\\s*(->)\\\\s*([ \'.0-9^_`[:alpha:]]+)(<)","beginCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ \'.0-9^_`[:alpha:]]+)"},{"include":"#keywords"}]},{"captures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"match":"\\\\s*(->)\\\\s*(?!with|get|set\\\\b)\\\\b([\'.0-9^_`\\\\w]+)"},{"include":"#anonymous_record_declaration"},{"begin":"(\\\\??)([ \'.0-9^_`[:alpha:]]+)\\\\s*(:)(\\\\s*([ \'.0-9?^_`[:alpha:]]+)(<))","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"keyword.symbol.fsharp"},"5":{"name":"entity.name.type.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ \'.0-9^_`[:alpha:]]+)"},{"include":"#keywords"}]}]},"compiler_directives":{"patterns":[{"captures":{},"match":"\\\\s?(#(?:if|elif|elseif|else|endif|light|nowarn|warnon))","name":"keyword.control.directive.fsharp"}]},"constants":{"patterns":[{"match":"\\\\(\\\\)","name":"keyword.symbol.fsharp"},{"match":"\\\\b-?[0-9][0-9_]*((\\\\.(?!\\\\.)([0-9][0-9_]*([Ee][-+]??[0-9][0-9_]*)?)?)|([Ee][-+]??[0-9][0-9_]*))","name":"constant.numeric.float.fsharp"},{"match":"\\\\b(-?((0([Xx])\\\\h[_\\\\h]*)|(0([Oo])[0-7][0-7_]*)|(0([Bb])[01][01_]*)|([0-9][0-9_]*)))","name":"constant.numeric.integer.nativeint.fsharp"},{"match":"\\\\b(true|false)\\\\b","name":"constant.language.boolean.fsharp"},{"match":"\\\\b(null|void)\\\\b","name":"constant.other.fsharp"}]},"definition":{"patterns":[{"begin":"\\\\b(let mutable|static let mutable|static let|let inline|let|and inline|and|member val|member inline|static member inline|static member val|static member|default|member|override|let!)(\\\\s+rec|mutable)?(\\\\s+\\\\[<.*>])?\\\\s*(private|internal|public)?\\\\s+(\\\\[[^-=]*]|[_[:alpha:]]([.0-9_[:alpha:]]+)*|``[_[:alpha:]]([.0-9_`[:alpha:]\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"end":"\\\\s*((with(?: inline|))\\\\b|(=|\\\\n+=|(?<==)))","endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\\\b(use!??|and!??)\\\\s+(\\\\[[^-=]*]|[_[:alpha:]]([.0-9_[:alpha:]]+)*|``[_[:alpha:]]([.0-9_`[:alpha:]\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"\\\\s*(=)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"(?<=with|and)\\\\s*\\\\b(([gs]et)\\\\s*(?=\\\\())(\\\\[[^-=]*]|[_[:alpha:]]([.0-9_[:alpha:]]+)*|``[_[:alpha:]]([.0-9_`[:alpha:]\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"4":{"name":"variable.fsharp"}},"end":"\\\\s*(=|\\\\n+=|(?<==))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\\\b(static val mutable|val mutable|val inline|val)(\\\\s+rec|mutable)?(\\\\s+\\\\[<.*>])?\\\\s*(private|internal|public)?\\\\s+(\\\\[[^-=]*]|[_[:alpha:]]([,.0-9_[:alpha:]]+)*|``[_[:alpha:]]([,.0-9_`[:alpha:]\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"end":"\\\\n$","name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\\\b(new)\\\\b\\\\s+(\\\\()","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]}]},"double_tick":{"patterns":[{"captures":{"1":{"name":"string.quoted.single.fsharp"},"2":{"name":"variable.other.binding.fsharp"},"3":{"name":"string.quoted.single.fsharp"}},"match":"(``)([^`]*)(``)","name":"variable.other.binding.fsharp"}]},"du_declaration":{"patterns":[{"begin":"\\\\b(of)\\\\b","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"$|(\\\\|)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"du_declaration.fsharp","patterns":[{"include":"#comments"},{"captures":{"1":{"name":"variable.parameter.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}},"match":"([\'.0-9<>^_`[:alpha:]]+|``[ \'.0-9<>^_[:alpha:]]+``)\\\\s*(:)\\\\s*([\'.0-9<>^_`[:alpha:]]+|``[ \'.0-9<>^_[:alpha:]]+``)"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(``([ \'.0-9^_[:alpha:]]+)``|[\'.0-9^_`[:alpha:]]+)"},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}]}]},"generic_declaration":{"patterns":[{"begin":"(:)\\\\s*(\\\\()\\\\s*((?:static |)member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([\'^])[\'.0-9_[:alpha:]]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"match":"\\\\b(private|to|public|internal|function|yield!?|class|exception|match|delegate|of|new|in|as|if|then|else|elif|for|begin|end|inherit|do|let!|return!?|interface|with|abstract|enum|member|try|finally|and|when|or|use!??|struct|while|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!\')\\\\b","name":"keyword.fsharp"},{"match":":","name":"keyword.symbol.fsharp"},{"include":"#constants"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([\'^])[\'.0-9_[:alpha:]]+)"},{"begin":"(<)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([\'^])[\'.0-9_[:alpha:]]+)"},{"include":"#tuple_signature"},{"include":"#generic_declaration"}]},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([ \'.0-9?^_`[:alpha:]]+))+"},{"include":"#tuple_signature"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\\\w modifier in order to check that the words are allowed","match":"(?!when|and|or\\\\b)\\\\b([\'.0-9^_`\\\\w]+)"},{"captures":{"1":{"name":"keyword.symbol.fsharp"}},"comments":"Prevent captures of `|>` as a keyword when defining custom operator like `<|>`","match":"(\\\\|)"},{"include":"#keywords"}]},"keywords":{"patterns":[{"match":"\\\\b(private|public|internal)\\\\b","name":"storage.modifier"},{"match":"\\\\b(private|to|public|internal|function|class|exception|delegate|of|new|as|begin|end|inherit|let!|interface|abstract|enum|member|and|when|or|use!??|struct|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!\')\\\\b","name":"keyword.fsharp"},{"match":"\\\\b(match|yield!??|with|if|then|else|elif|for|in|return!?|try|finally|while|do)(?!\')\\\\b","name":"keyword.control"},{"match":"(->|<-)","name":"keyword.symbol.arrow.fsharp"},{"match":"[.?]*(&&&|\\\\|\\\\|\\\\||\\\\^\\\\^\\\\^|~~~|~\\\\+|~-|<<<|>>>|\\\\|>|:>|:\\\\?>|[]:;\\\\[]|<>|[=@]|\\\\|\\\\||&&|[%\\\\&_{|}]|\\\\.\\\\.|[!*-\\\\-/>^]|>=|>>|<=??|[()]|<<)[.?]*","name":"keyword.symbol.fsharp"}]},"member_declaration":{"patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"begin":"(:)\\\\s*(\\\\()\\\\s*((?:static |)member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\\\))\\\\s*((?=,)|(?==))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[\'.0-9_[:alpha:]]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[\'.0-9_[:alpha:]]+)"},{"match":"\\\\b(and|when|or)\\\\b","name":"keyword.fsharp"},{"match":"([()])","name":"keyword.symbol.fsharp"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"},"7":{"name":"entity.name.type.fsharp"}},"match":"(\\\\??)([\'.0-9^_`[:alpha:]]+|``[ \',.0-:^_`[:alpha:]]+``)\\\\s*(:?)(\\\\s*([ \'.0-9<>?_`[:alpha:]]+))?(\\\\|\\\\s*(null))?"},{"include":"#keywords"}]},"modules":{"patterns":[{"begin":"\\\\b(?:(namespace global)|(namespace|module)\\\\s*(public|internal|private|rec)?\\\\s+([`|[:alpha:]][ \'.0-9_[:alpha:]]*))","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"storage.modifier.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"end":"(\\\\s?=|\\\\s|$)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"entity.name.section.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\\\.)([A-Z][\'0-9_[:alpha:]]*)","name":"entity.name.section.fsharp"}]},{"begin":"\\\\b(open(?: type|))\\\\s+([`|[:alpha:]][\'0-9_[:alpha:]]*)(?=(\\\\.[A-Z][0-9_[:alpha:]]*)*)","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"end":"(\\\\s|$)","name":"namespace.open.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\\\.)(\\\\p{alpha}[\'0-9_[:alpha:]]*)","name":"entity.name.section.fsharp"},{"include":"#comments"}]},{"begin":"^\\\\s*(module)\\\\s+([A-Z][\'0-9_[:alpha:]]*)\\\\s*(=)\\\\s*([A-Z][\'0-9_[:alpha:]]*)","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.type.namespace.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"end":"(\\\\s|$)","name":"namespace.alias.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\\\.)([A-Z][\'0-9_[:alpha:]]*)","name":"entity.name.section.fsharp"}]}]},"record_declaration":{"patterns":[{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(?<=})","patterns":[{"include":"#comments"},{"begin":"(((mutable)\\\\s\\\\p{alpha}+)|[\'.0-9<>^_`[:alpha:]]*)\\\\s*((?<!:):(?!:))\\\\s*","beginCaptures":{"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.symbol.fsharp"}},"end":"$|([;}])","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#comments"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ \'0-9^_`[:alpha:]]+)"},{"include":"#keywords"}]},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#attributes"},{"include":"#anonymous_functions"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]}]},"record_signature":{"patterns":[{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}},"match":"[ \'0-9^_`[:alpha:]]+(=)([ \'0-9^_`[:alpha:]]+)"},{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}},"match":"[ \'0-9^_`[:alpha:]]+(=)([ \'0-9^_`[:alpha:]]+)"},{"include":"#record_signature"}]},{"include":"#keywords"}]},"records":{"patterns":[{"begin":"\\\\b(type)\\\\s+(private|internal|public)?\\\\s*","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"storage.modifier.fsharp"}},"end":"\\\\s*((with)|((as)\\\\s+([\'0-9[:alpha:]]+))|(=)|[\\\\n=]|(\\\\(\\\\)))","endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.fsharp"},"5":{"name":"variable.parameter.fsharp"},"6":{"name":"keyword.symbol.fsharp"},"7":{"name":"keyword.symbol.fsharp"}},"name":"record.fsharp","patterns":[{"include":"#comments"},{"include":"#attributes"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([\'.0-9^_[:alpha:]]+|``[ \',.0-:^_`[:alpha:]]+``)"},{"begin":"(<)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"((?<!:)>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([\'^])``[ ,.0-:^_`[:alpha:]]+``|([\'^])[.0-:^_`[:alpha:]]+)"},{"match":"\\\\b(interface|with|abstract|and|when|or|not|struct|equality|comparison|unmanaged|delegate|enum)\\\\b","name":"keyword.fsharp"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.fsharp"}},"match":"(static member|member|new)"},{"include":"#common_binding_definition"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\\\w modifier in order to check that the words isn\'t blacklisted","match":"([\'.0-9^_`\\\\w]+)"},{"include":"#keywords"}]},{"captures":{"1":{"name":"storage.modifier.fsharp"}},"match":"\\\\s*(private|internal|public)"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"\\\\s*(?=(=)|[\\\\n=]|(\\\\(\\\\))|(as))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"include":"#keywords"}]}]},"string_formatter":{"patterns":[{"captures":{"1":{"name":"keyword.format.specifier.fsharp"}},"match":"(%0?-?(\\\\d+)?(([at])|(\\\\.\\\\d+)?([EFGMefg])|([Xbcdiosux])|([Obs])|(\\\\+?A)))","name":"entity.name.type.format.specifier.fsharp"}]},"strings":{"patterns":[{"begin":"(?=[^\\\\\\\\])(@\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\\")(?!\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.literal.fsharp","patterns":[{"match":"\\"(\\")","name":"constant.character.string.escape.fsharp"}]},{"begin":"(?=[^\\\\\\\\])(\\"\\"\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\\"\\"\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.triple.fsharp","patterns":[{"include":"#string_formatter"}]},{"begin":"(?=[^\\\\\\\\])(\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.double.fsharp","patterns":[{"match":"\\\\\\\\$[\\\\t ]*","name":"punctuation.separator.string.ignore-eol.fsharp"},{"match":"\\\\\\\\([\\"\'\\\\\\\\abfnrtv]|([01][0-9][0-9]|2[0-4][0-9]|25[0-5])|(x\\\\h{2})|(u\\\\h{4})|(U00(0\\\\h|10)\\\\h{4}))","name":"constant.character.string.escape.fsharp"},{"match":"\\\\\\\\(([0-9]{1,3})|(x\\\\S{0,2})|(u\\\\S{0,4})|(U\\\\S{0,8})|\\\\S)","name":"invalid.illegal.character.string.fsharp"},{"include":"#string_formatter"}]}]},"strp_inlined":{"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#strp_inlined_body"}]}]},"strp_inlined_body":{"patterns":[{"include":"#comments"},{"include":"#anonymous_functions"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[\'.0-9_[:alpha:]]+)"},{"match":"\\\\b(and|when|or)\\\\b","name":"keyword.fsharp"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#strp_inlined_body"}]},{"captures":{"1":{"name":"keyword.fsharp"},"2":{"name":"variable.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"match":"((?:static |)member)\\\\s*([\'.0-9<>^_`[:alpha:]]+|``[ \'.0-9<>^_[:alpha:]]+``)\\\\s*(:)"},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#keywords"},{"include":"#text"},{"include":"#definition"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]},"text":{"patterns":[{"match":"\\\\\\\\","name":"text.fsharp"}]},"tuple_signature":{"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([ \'.0-9?^_`[:alpha:]]+))+"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([ \'.0-9?^_`[:alpha:]]+))+"},{"include":"#tuple_signature"}]},{"include":"#keywords"}]},"variables":{"patterns":[{"match":"\\\\(\\\\)","name":"keyword.symbol.fsharp"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}},"match":"(\\\\??)(``[ \',.0-:^_`[:alpha:]]+``|(?!private|struct\\\\b)\\\\b[ \'.0-9<>^_`\\\\w[:alpha:]]+)"}]}},"scopeName":"source.fsharp","embeddedLangs":["markdown"],"aliases":["f#","fs"]}')),n=[...e,t];export{n as default};
@@ -1 +1 @@
1
- import e from"./gdshader-BK-1iZQs.js";import t from"./gdscript-BLN5iZwf.js";var n=Object.freeze(JSON.parse(`{"displayName":"GDResource","name":"gdresource","patterns":[{"include":"#embedded_shader"},{"include":"#embedded_gdscript"},{"include":"#comment"},{"include":"#heading"},{"include":"#key_value"}],"repository":{"comment":{"captures":{"1":{"name":"punctuation.definition.comment.gdresource"}},"match":"(;).*$\\\\n?","name":"comment.line.gdresource"},"data":{"patterns":[{"include":"#comment"},{"begin":"(?<!\\\\w)(\\\\{)\\\\s*","beginCaptures":{"1":{"name":"punctuation.definition.table.inline.gdresource"}},"end":"\\\\s*(})(?!\\\\w)","endCaptures":{"1":{"name":"punctuation.definition.table.inline.gdresource"}},"patterns":[{"include":"#key_value"},{"include":"#data"}]},{"begin":"(?<!\\\\w)(\\\\[)\\\\s*","beginCaptures":{"1":{"name":"punctuation.definition.array.gdresource"}},"end":"\\\\s*(])(?!\\\\w)","endCaptures":{"1":{"name":"punctuation.definition.array.gdresource"}},"patterns":[{"include":"#data"}]},{"begin":"\\"\\"\\"","end":"\\"\\"\\"","name":"string.quoted.triple.basic.block.gdresource","patterns":[{"match":"\\\\\\\\([\\\\n \\"/\\\\\\\\bfnrt]|u\\\\h{4}|U\\\\h{8})","name":"constant.character.escape.gdresource"},{"match":"\\\\\\\\[^\\\\n\\"/\\\\\\\\bfnrt]","name":"invalid.illegal.escape.gdresource"}]},{"match":"\\"res://[^\\"\\\\\\\\]*(?:\\\\\\\\.[^\\"\\\\\\\\]*)*\\"","name":"support.function.any-method.gdresource"},{"match":"(?<=type=)\\"[^\\"\\\\\\\\]*(?:\\\\\\\\.[^\\"\\\\\\\\]*)*\\"","name":"support.class.library.gdresource"},{"match":"(?<=NodePath\\\\(|parent=|name=)\\"[^\\"\\\\\\\\]*(?:\\\\\\\\.[^\\"\\\\\\\\]*)*\\"","name":"constant.character.escape.gdresource"},{"begin":"\\"","end":"\\"","name":"string.quoted.double.basic.line.gdresource","patterns":[{"match":"\\\\\\\\([\\\\n \\"/\\\\\\\\bfnrt]|u\\\\h{4}|U\\\\h{8})","name":"constant.character.escape.gdresource"},{"match":"\\\\\\\\[^\\\\n\\"/\\\\\\\\bfnrt]","name":"invalid.illegal.escape.gdresource"}]},{"match":"'.*?'","name":"string.quoted.single.literal.line.gdresource"},{"match":"(?<!\\\\w)(true|false)(?!\\\\w)","name":"constant.language.gdresource"},{"match":"(?<!\\\\w)([-+]?(0|([1-9](([0-9]|_[0-9])+)?))(?:(?:\\\\.(0|([1-9](([0-9]|_[0-9])+)?)))?[Ee][-+]?[1-9]_?[0-9]*|\\\\.[0-9_]*))(?!\\\\w)","name":"constant.numeric.float.gdresource"},{"match":"(?<!\\\\w)([-+]?(0|([1-9](([0-9]|_[0-9])+)?)))(?!\\\\w)","name":"constant.numeric.integer.gdresource"},{"match":"(?<!\\\\w)([-+]?inf)(?!\\\\w)","name":"constant.numeric.inf.gdresource"},{"match":"(?<!\\\\w)([-+]?nan)(?!\\\\w)","name":"constant.numeric.nan.gdresource"},{"match":"(?<!\\\\w)(0x((\\\\h((_??\\\\h)+)?)))(?!\\\\w)","name":"constant.numeric.hex.gdresource"},{"match":"(?<!\\\\w)(0o[0-7](_?[0-7])*)(?!\\\\w)","name":"constant.numeric.oct.gdresource"},{"match":"(?<!\\\\w)(0b[01](_?[01])*)(?!\\\\w)","name":"constant.numeric.bin.gdresource"},{"begin":"(?<!\\\\w)(Vector2i??|Vector3i??|Color|Rect2i??|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|Object|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|StringName|Quaternion|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedColorArray)(\\\\()\\\\s?","beginCaptures":{"1":{"name":"support.class.library.gdresource"}},"end":"\\\\s?(\\\\))","patterns":[{"include":"#key_value"},{"include":"#data"}]},{"begin":"(?<!\\\\w)((?:Ext|Sub)Resource)(\\\\()\\\\s?","beginCaptures":{"1":{"name":"keyword.control.gdresource"}},"end":"\\\\s?(\\\\))","patterns":[{"include":"#key_value"},{"include":"#data"}]}]},"embedded_gdscript":{"begin":"(script/source) = \\"","beginCaptures":{"1":{"name":"variable.other.property.gdresource"}},"end":"\\"","patterns":[{"include":"source.gdscript"}]},"embedded_shader":{"begin":"(code) = \\"","beginCaptures":{"1":{"name":"variable.other.property.gdresource"}},"end":"\\"","name":"meta.embedded.block.gdshader","patterns":[{"include":"source.gdshader"}]},"heading":{"begin":"\\\\[([_a-z]*)\\\\s?","beginCaptures":{"1":{"name":"keyword.control.gdresource"}},"end":"]","patterns":[{"include":"#heading_properties"},{"include":"#data"}]},"heading_properties":{"patterns":[{"match":"(\\\\s*[-A-Z_a-z][-0-9A-Z_a-z]*\\\\s*=)(?=\\\\s*$)","name":"invalid.illegal.noValue.gdresource"},{"begin":"\\\\s*([-A-Z_a-z]\\\\S*|\\".+\\"|'.+'|[0-9]+)\\\\s*(=)\\\\s*","beginCaptures":{"1":{"name":"variable.other.property.gdresource"},"2":{"name":"punctuation.definition.keyValue.gdresource"}},"end":"($|(?==)|,?|\\\\s*(?=}))","patterns":[{"include":"#data"}]}]},"key_value":{"patterns":[{"match":"(\\\\s*[-A-Z_a-z][-0-9A-Z_a-z]*\\\\s*=)(?=\\\\s*$)","name":"invalid.illegal.noValue.gdresource"},{"begin":"\\\\s*([-A-Z_a-z]\\\\S*|\\".+\\"|'.+'|[0-9]+)\\\\s*(=)\\\\s*","beginCaptures":{"1":{"name":"variable.other.property.gdresource"},"2":{"name":"punctuation.definition.keyValue.gdresource"}},"end":"($|(?==)|,|\\\\s*(?=}))","patterns":[{"include":"#data"}]}]}},"scopeName":"source.gdresource","embeddedLangs":["gdshader","gdscript"],"aliases":["tscn","tres"]}`)),r=[...e,...t,n];export{r as default};
1
+ import e from"./gdshader-Dj1qP4I5.js";import t from"./gdscript-Cx056p_k.js";var n=Object.freeze(JSON.parse(`{"displayName":"GDResource","name":"gdresource","patterns":[{"include":"#embedded_shader"},{"include":"#embedded_gdscript"},{"include":"#comment"},{"include":"#heading"},{"include":"#key_value"}],"repository":{"comment":{"captures":{"1":{"name":"punctuation.definition.comment.gdresource"}},"match":"(;).*$\\\\n?","name":"comment.line.gdresource"},"data":{"patterns":[{"include":"#comment"},{"begin":"(?<!\\\\w)(\\\\{)\\\\s*","beginCaptures":{"1":{"name":"punctuation.definition.table.inline.gdresource"}},"end":"\\\\s*(})(?!\\\\w)","endCaptures":{"1":{"name":"punctuation.definition.table.inline.gdresource"}},"patterns":[{"include":"#key_value"},{"include":"#data"}]},{"begin":"(?<!\\\\w)(\\\\[)\\\\s*","beginCaptures":{"1":{"name":"punctuation.definition.array.gdresource"}},"end":"\\\\s*(])(?!\\\\w)","endCaptures":{"1":{"name":"punctuation.definition.array.gdresource"}},"patterns":[{"include":"#data"}]},{"begin":"\\"\\"\\"","end":"\\"\\"\\"","name":"string.quoted.triple.basic.block.gdresource","patterns":[{"match":"\\\\\\\\([\\\\n \\"/\\\\\\\\bfnrt]|u\\\\h{4}|U\\\\h{8})","name":"constant.character.escape.gdresource"},{"match":"\\\\\\\\[^\\\\n\\"/\\\\\\\\bfnrt]","name":"invalid.illegal.escape.gdresource"}]},{"match":"\\"res://[^\\"\\\\\\\\]*(?:\\\\\\\\.[^\\"\\\\\\\\]*)*\\"","name":"support.function.any-method.gdresource"},{"match":"(?<=type=)\\"[^\\"\\\\\\\\]*(?:\\\\\\\\.[^\\"\\\\\\\\]*)*\\"","name":"support.class.library.gdresource"},{"match":"(?<=NodePath\\\\(|parent=|name=)\\"[^\\"\\\\\\\\]*(?:\\\\\\\\.[^\\"\\\\\\\\]*)*\\"","name":"constant.character.escape.gdresource"},{"begin":"\\"","end":"\\"","name":"string.quoted.double.basic.line.gdresource","patterns":[{"match":"\\\\\\\\([\\\\n \\"/\\\\\\\\bfnrt]|u\\\\h{4}|U\\\\h{8})","name":"constant.character.escape.gdresource"},{"match":"\\\\\\\\[^\\\\n\\"/\\\\\\\\bfnrt]","name":"invalid.illegal.escape.gdresource"}]},{"match":"'.*?'","name":"string.quoted.single.literal.line.gdresource"},{"match":"(?<!\\\\w)(true|false)(?!\\\\w)","name":"constant.language.gdresource"},{"match":"(?<!\\\\w)([-+]?(0|([1-9](([0-9]|_[0-9])+)?))(?:(?:\\\\.(0|([1-9](([0-9]|_[0-9])+)?)))?[Ee][-+]?[1-9]_?[0-9]*|\\\\.[0-9_]*))(?!\\\\w)","name":"constant.numeric.float.gdresource"},{"match":"(?<!\\\\w)([-+]?(0|([1-9](([0-9]|_[0-9])+)?)))(?!\\\\w)","name":"constant.numeric.integer.gdresource"},{"match":"(?<!\\\\w)([-+]?inf)(?!\\\\w)","name":"constant.numeric.inf.gdresource"},{"match":"(?<!\\\\w)([-+]?nan)(?!\\\\w)","name":"constant.numeric.nan.gdresource"},{"match":"(?<!\\\\w)(0x((\\\\h((_??\\\\h)+)?)))(?!\\\\w)","name":"constant.numeric.hex.gdresource"},{"match":"(?<!\\\\w)(0o[0-7](_?[0-7])*)(?!\\\\w)","name":"constant.numeric.oct.gdresource"},{"match":"(?<!\\\\w)(0b[01](_?[01])*)(?!\\\\w)","name":"constant.numeric.bin.gdresource"},{"begin":"(?<!\\\\w)(Vector2i??|Vector3i??|Color|Rect2i??|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|Object|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|StringName|Quaternion|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedColorArray)(\\\\()\\\\s?","beginCaptures":{"1":{"name":"support.class.library.gdresource"}},"end":"\\\\s?(\\\\))","patterns":[{"include":"#key_value"},{"include":"#data"}]},{"begin":"(?<!\\\\w)((?:Ext|Sub)Resource)(\\\\()\\\\s?","beginCaptures":{"1":{"name":"keyword.control.gdresource"}},"end":"\\\\s?(\\\\))","patterns":[{"include":"#key_value"},{"include":"#data"}]}]},"embedded_gdscript":{"begin":"(script/source) = \\"","beginCaptures":{"1":{"name":"variable.other.property.gdresource"}},"end":"\\"","patterns":[{"include":"source.gdscript"}]},"embedded_shader":{"begin":"(code) = \\"","beginCaptures":{"1":{"name":"variable.other.property.gdresource"}},"end":"\\"","name":"meta.embedded.block.gdshader","patterns":[{"include":"source.gdshader"}]},"heading":{"begin":"\\\\[([_a-z]*)\\\\s?","beginCaptures":{"1":{"name":"keyword.control.gdresource"}},"end":"]","patterns":[{"include":"#heading_properties"},{"include":"#data"}]},"heading_properties":{"patterns":[{"match":"(\\\\s*[-A-Z_a-z][-0-9A-Z_a-z]*\\\\s*=)(?=\\\\s*$)","name":"invalid.illegal.noValue.gdresource"},{"begin":"\\\\s*([-A-Z_a-z]\\\\S*|\\".+\\"|'.+'|[0-9]+)\\\\s*(=)\\\\s*","beginCaptures":{"1":{"name":"variable.other.property.gdresource"},"2":{"name":"punctuation.definition.keyValue.gdresource"}},"end":"($|(?==)|,?|\\\\s*(?=}))","patterns":[{"include":"#data"}]}]},"key_value":{"patterns":[{"match":"(\\\\s*[-A-Z_a-z][-0-9A-Z_a-z]*\\\\s*=)(?=\\\\s*$)","name":"invalid.illegal.noValue.gdresource"},{"begin":"\\\\s*([-A-Z_a-z]\\\\S*|\\".+\\"|'.+'|[0-9]+)\\\\s*(=)\\\\s*","beginCaptures":{"1":{"name":"variable.other.property.gdresource"},"2":{"name":"punctuation.definition.keyValue.gdresource"}},"end":"($|(?==)|,|\\\\s*(?=}))","patterns":[{"include":"#data"}]}]}},"scopeName":"source.gdresource","embeddedLangs":["gdshader","gdscript"],"aliases":["tscn","tres"]}`)),r=[...e,...t,n];export{r as default};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{S as t,x as n}from"./vendor-markdown-Ls5AcU91.js";import"./vendor-ui-CaeeFO0B.js";import{t as r}from"./check-DN75Ucvz.js";import{t as i}from"./eye-off-GjXVuAOn.js";import{t as a}from"./eye-gWwaF4Lg.js";import{t as o}from"./key-round-CQpDrDxg.js";import{a as s,n as c}from"./api-client-oY1tC3tM.js";import"./vendor-mermaid-CKKtYuTV.js";import{t as l}from"./settings-store-DWUx3865.js";import"./streaming-store-9_9j70zt.js";import{t as u}from"./button-2WCAS8dI.js";import{G as d,It as f,Rn as p,X as m,Y as h,a as g}from"./index-yV5RgBDh.js";import{t as _}from"./separator-BzGoTlR7.js";var v=e(t(),1),y=n();function b(){let[e,t]=(0,v.useState)(!1),[n,l]=(0,v.useState)(``),[d,f]=(0,v.useState)(``),[p,h]=(0,v.useState)(!1),[g,_]=(0,v.useState)(!1),[b,x]=(0,v.useState)(!1),[S,C]=(0,v.useState)(null),w=d.length>0&&n!==d,T=n.trim().length>=4&&n===d&&!g,E=(0,v.useCallback)(async()=>{if(T){_(!0),C(null);try{let{token:e}=await c.put(`/api/settings/auth/password`,{password:n.trim(),confirm:d.trim()});s(e),x(!0),l(``),f(``),setTimeout(()=>{x(!1),t(!1)},1500)}catch(e){C(e instanceof Error?e.message:`Failed to change password`)}finally{_(!1)}}},[T,n,d]);return e?(0,y.jsxs)(`section`,{className:`space-y-2`,children:[(0,y.jsx)(`h3`,{className:`text-xs font-medium text-muted-foreground`,children:`Change Password`}),(0,y.jsxs)(`div`,{className:`space-y-2`,children:[(0,y.jsxs)(`div`,{className:`relative`,children:[(0,y.jsx)(m,{type:p?`text`:`password`,placeholder:`New password`,value:n,onChange:e=>l(e.target.value),className:`h-8 text-xs pr-8`,autoFocus:!0}),(0,y.jsx)(`button`,{type:`button`,className:`absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground cursor-pointer`,onClick:()=>h(!p),tabIndex:-1,children:p?(0,y.jsx)(i,{className:`size-3.5`}):(0,y.jsx)(a,{className:`size-3.5`})})]}),(0,y.jsx)(m,{type:p?`text`:`password`,placeholder:`Confirm password`,value:d,onChange:e=>f(e.target.value),onKeyDown:e=>{e.key===`Enter`&&E()},className:`h-8 text-xs`}),w&&(0,y.jsx)(`p`,{className:`text-[11px] text-destructive`,children:`Passwords do not match`}),S&&(0,y.jsx)(`p`,{className:`text-[11px] text-destructive`,children:S}),(0,y.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,y.jsx)(u,{variant:`outline`,size:`sm`,className:`h-8 text-xs flex-1 cursor-pointer`,onClick:()=>{t(!1),l(``),f(``),C(null)},children:`Cancel`}),(0,y.jsx)(u,{variant:b?`default`:`outline`,size:`sm`,className:`h-8 text-xs flex-1 cursor-pointer`,disabled:!T,onClick:E,children:g?`...`:b?(0,y.jsx)(r,{className:`size-3.5`}):`Save`})]}),(0,y.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Min 4 characters. You'll stay logged in on this device.`})]})]}):(0,y.jsxs)(`section`,{className:`space-y-2`,children:[(0,y.jsx)(`h3`,{className:`text-xs font-medium text-muted-foreground`,children:`Security`}),(0,y.jsxs)(u,{variant:`outline`,size:`sm`,className:`h-8 text-xs gap-1.5 cursor-pointer`,onClick:()=>t(!0),children:[(0,y.jsx)(o,{className:`size-3.5`}),`Change Password`]})]})}function x(){let{deviceName:e,setDeviceName:t,version:n,keepScreenAwake:i,setKeepScreenAwake:a}=l(f(e=>({deviceName:e.deviceName,setDeviceName:e.setDeviceName,version:e.version,keepScreenAwake:e.keepScreenAwake,setKeepScreenAwake:e.setKeepScreenAwake}))),[o]=(0,v.useState)(g),[s,c]=(0,v.useState)(e??``),[x,S]=(0,v.useState)(!1),[C,w]=(0,v.useState)(!1),T=(0,v.useRef)(void 0),E=s.trim()!==(e??``),D=(0,v.useCallback)(async()=>{if(E){S(!0);try{await t(s),w(!0),clearTimeout(T.current),T.current=setTimeout(()=>w(!1),2e3)}finally{S(!1)}}},[s,E,t]);return(0,y.jsxs)(`div`,{className:`space-y-6`,children:[(0,y.jsxs)(`section`,{className:`space-y-2`,children:[(0,y.jsx)(h,{htmlFor:`device-name`,children:`Device Name`}),(0,y.jsxs)(`div`,{className:`flex gap-2`,children:[(0,y.jsx)(m,{id:`device-name`,value:s,onChange:e=>c(e.target.value),onKeyDown:e=>{e.key===`Enter`&&D()},placeholder:`My Device`,className:`flex-1`,maxLength:100}),(0,y.jsx)(u,{variant:C?`default`:`outline`,className:`cursor-pointer shrink-0`,disabled:!E||x,onClick:D,children:x?`...`:C?(0,y.jsx)(r,{className:`size-4`}):`Save`})]}),(0,y.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Shown in page title and synced to PPM Cloud.`})]}),(0,y.jsx)(_,{}),(0,y.jsxs)(`section`,{className:`flex items-center justify-between gap-4`,children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-3 min-w-0`,children:[(0,y.jsx)(p,{className:`size-4 text-muted-foreground shrink-0`}),(0,y.jsxs)(`div`,{className:`min-w-0`,children:[(0,y.jsx)(`p`,{className:`text-sm font-medium`,children:`Keep Screen Awake`}),(0,y.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:o===`insecure`?`Unavailable over plain HTTP — reach PPM through its HTTPS tunnel address to use this.`:o===`unsupported`?`This browser does not support screen wake locks.`:`Stop this device dimming while a chat turn is running.`})]})]}),(0,y.jsx)(d,{checked:i&&o===`ok`,disabled:o!==`ok`,onCheckedChange:a})]}),(0,y.jsx)(_,{}),(0,y.jsx)(b,{}),(0,y.jsx)(_,{}),(0,y.jsxs)(`section`,{className:`space-y-1`,children:[(0,y.jsx)(`h3`,{className:`text-sm font-medium`,children:`About`}),(0,y.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`PPM — Personal Project Manager`}),(0,y.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`A mobile-first web IDE for managing your projects.`}),n&&(0,y.jsxs)(`p`,{className:`text-xs text-muted-foreground tabular-nums`,children:[`Version `,n]})]})]})}export{x as GeneralSettingsSection};
1
+ import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{S as t,x as n}from"./vendor-markdown-Ls5AcU91.js";import"./vendor-ui-CaeeFO0B.js";import{t as r}from"./check-DN75Ucvz.js";import{t as i}from"./eye-off-GjXVuAOn.js";import{t as a}from"./eye-gWwaF4Lg.js";import{t as o}from"./key-round-CQpDrDxg.js";import{a as s,n as c}from"./api-client-CEYCBt_0.js";import"./vendor-mermaid-CfY1-PkA.js";import{t as l}from"./settings-store-CzLnTR8p.js";import"./streaming-store-9XVmAMfV.js";import{t as u}from"./button-DX32ffge.js";import{G as d,It as f,Vn as p,X as m,Y as h,a as g}from"./index-CHQAPZIX.js";import{t as _}from"./separator-W_hJcXPk.js";var v=e(t(),1),y=n();function b(){let[e,t]=(0,v.useState)(!1),[n,l]=(0,v.useState)(``),[d,f]=(0,v.useState)(``),[p,h]=(0,v.useState)(!1),[g,_]=(0,v.useState)(!1),[b,x]=(0,v.useState)(!1),[S,C]=(0,v.useState)(null),w=d.length>0&&n!==d,T=n.trim().length>=4&&n===d&&!g,E=(0,v.useCallback)(async()=>{if(T){_(!0),C(null);try{let{token:e}=await c.put(`/api/settings/auth/password`,{password:n.trim(),confirm:d.trim()});s(e),x(!0),l(``),f(``),setTimeout(()=>{x(!1),t(!1)},1500)}catch(e){C(e instanceof Error?e.message:`Failed to change password`)}finally{_(!1)}}},[T,n,d]);return e?(0,y.jsxs)(`section`,{className:`space-y-2`,children:[(0,y.jsx)(`h3`,{className:`text-xs font-medium text-muted-foreground`,children:`Change Password`}),(0,y.jsxs)(`div`,{className:`space-y-2`,children:[(0,y.jsxs)(`div`,{className:`relative`,children:[(0,y.jsx)(m,{type:p?`text`:`password`,placeholder:`New password`,value:n,onChange:e=>l(e.target.value),className:`h-8 text-xs pr-8`,autoFocus:!0}),(0,y.jsx)(`button`,{type:`button`,className:`absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground cursor-pointer`,onClick:()=>h(!p),tabIndex:-1,children:p?(0,y.jsx)(i,{className:`size-3.5`}):(0,y.jsx)(a,{className:`size-3.5`})})]}),(0,y.jsx)(m,{type:p?`text`:`password`,placeholder:`Confirm password`,value:d,onChange:e=>f(e.target.value),onKeyDown:e=>{e.key===`Enter`&&E()},className:`h-8 text-xs`}),w&&(0,y.jsx)(`p`,{className:`text-[11px] text-destructive`,children:`Passwords do not match`}),S&&(0,y.jsx)(`p`,{className:`text-[11px] text-destructive`,children:S}),(0,y.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,y.jsx)(u,{variant:`outline`,size:`sm`,className:`h-8 text-xs flex-1 cursor-pointer`,onClick:()=>{t(!1),l(``),f(``),C(null)},children:`Cancel`}),(0,y.jsx)(u,{variant:b?`default`:`outline`,size:`sm`,className:`h-8 text-xs flex-1 cursor-pointer`,disabled:!T,onClick:E,children:g?`...`:b?(0,y.jsx)(r,{className:`size-3.5`}):`Save`})]}),(0,y.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Min 4 characters. You'll stay logged in on this device.`})]})]}):(0,y.jsxs)(`section`,{className:`space-y-2`,children:[(0,y.jsx)(`h3`,{className:`text-xs font-medium text-muted-foreground`,children:`Security`}),(0,y.jsxs)(u,{variant:`outline`,size:`sm`,className:`h-8 text-xs gap-1.5 cursor-pointer`,onClick:()=>t(!0),children:[(0,y.jsx)(o,{className:`size-3.5`}),`Change Password`]})]})}function x(){let{deviceName:e,setDeviceName:t,version:n,keepScreenAwake:i,setKeepScreenAwake:a}=l(f(e=>({deviceName:e.deviceName,setDeviceName:e.setDeviceName,version:e.version,keepScreenAwake:e.keepScreenAwake,setKeepScreenAwake:e.setKeepScreenAwake}))),[o]=(0,v.useState)(g),[s,c]=(0,v.useState)(e??``),[x,S]=(0,v.useState)(!1),[C,w]=(0,v.useState)(!1),T=(0,v.useRef)(void 0),E=s.trim()!==(e??``),D=(0,v.useCallback)(async()=>{if(E){S(!0);try{await t(s),w(!0),clearTimeout(T.current),T.current=setTimeout(()=>w(!1),2e3)}finally{S(!1)}}},[s,E,t]);return(0,y.jsxs)(`div`,{className:`space-y-6`,children:[(0,y.jsxs)(`section`,{className:`space-y-2`,children:[(0,y.jsx)(h,{htmlFor:`device-name`,children:`Device Name`}),(0,y.jsxs)(`div`,{className:`flex gap-2`,children:[(0,y.jsx)(m,{id:`device-name`,value:s,onChange:e=>c(e.target.value),onKeyDown:e=>{e.key===`Enter`&&D()},placeholder:`My Device`,className:`flex-1`,maxLength:100}),(0,y.jsx)(u,{variant:C?`default`:`outline`,className:`cursor-pointer shrink-0`,disabled:!E||x,onClick:D,children:x?`...`:C?(0,y.jsx)(r,{className:`size-4`}):`Save`})]}),(0,y.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Shown in page title and synced to PPM Cloud.`})]}),(0,y.jsx)(_,{}),(0,y.jsxs)(`section`,{className:`flex items-center justify-between gap-4`,children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-3 min-w-0`,children:[(0,y.jsx)(p,{className:`size-4 text-muted-foreground shrink-0`}),(0,y.jsxs)(`div`,{className:`min-w-0`,children:[(0,y.jsx)(`p`,{className:`text-sm font-medium`,children:`Keep Screen Awake`}),(0,y.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:o===`insecure`?`Unavailable over plain HTTP — reach PPM through its HTTPS tunnel address to use this.`:o===`unsupported`?`This browser does not support screen wake locks.`:`Stop this device dimming while a chat turn is running.`})]})]}),(0,y.jsx)(d,{checked:i&&o===`ok`,disabled:o!==`ok`,onCheckedChange:a})]}),(0,y.jsx)(_,{}),(0,y.jsx)(b,{}),(0,y.jsx)(_,{}),(0,y.jsxs)(`section`,{className:`space-y-1`,children:[(0,y.jsx)(`h3`,{className:`text-sm font-medium`,children:`About`}),(0,y.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`PPM — Personal Project Manager`}),(0,y.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`A mobile-first web IDE for managing your projects.`}),n&&(0,y.jsxs)(`p`,{className:`text-xs text-muted-foreground tabular-nums`,children:[`Version `,n]})]})]})}export{x as GeneralSettingsSection};
@@ -1 +1 @@
1
- import e from"./diff-Bdik2JR8.js";var t=Object.freeze(JSON.parse(`{"displayName":"Git Commit Message","name":"git-commit","patterns":[{"begin":"(?=^diff --git)","contentName":"source.diff","end":"\\\\z","name":"meta.embedded.diff.git-commit","patterns":[{"include":"source.diff"}]},{"begin":"^(?!#)","end":"^(?=#)","name":"meta.scope.message.git-commit","patterns":[{"captures":{"1":{"name":"invalid.deprecated.line-too-long.git-commit"},"2":{"name":"invalid.illegal.line-too-long.git-commit"}},"match":"\\\\G.{0,50}(.{0,22}(.*))$","name":"meta.scope.subject.git-commit"}]},{"begin":"^(?=#)","contentName":"comment.line.number-sign.git-commit","end":"^(?!#)","name":"meta.scope.metadata.git-commit","patterns":[{"captures":{"1":{"name":"markup.changed.git-commit"}},"match":"^#\\\\t((modified|renamed):.*)$"},{"captures":{"1":{"name":"markup.inserted.git-commit"}},"match":"^#\\\\t(new file:.*)$"},{"captures":{"1":{"name":"markup.deleted.git-commit"}},"match":"^#\\\\t(deleted.*)$"},{"captures":{"1":{"name":"keyword.other.file-type.git-commit"},"2":{"name":"string.unquoted.filename.git-commit"}},"match":"^#\\\\t([^:]+): *(.*)$"}]}],"scopeName":"text.git-commit","embeddedLangs":["diff"]}`)),n=[...e,t];export{n as default};
1
+ import e from"./diff-CWnJBd73.js";var t=Object.freeze(JSON.parse(`{"displayName":"Git Commit Message","name":"git-commit","patterns":[{"begin":"(?=^diff --git)","contentName":"source.diff","end":"\\\\z","name":"meta.embedded.diff.git-commit","patterns":[{"include":"source.diff"}]},{"begin":"^(?!#)","end":"^(?=#)","name":"meta.scope.message.git-commit","patterns":[{"captures":{"1":{"name":"invalid.deprecated.line-too-long.git-commit"},"2":{"name":"invalid.illegal.line-too-long.git-commit"}},"match":"\\\\G.{0,50}(.{0,22}(.*))$","name":"meta.scope.subject.git-commit"}]},{"begin":"^(?=#)","contentName":"comment.line.number-sign.git-commit","end":"^(?!#)","name":"meta.scope.metadata.git-commit","patterns":[{"captures":{"1":{"name":"markup.changed.git-commit"}},"match":"^#\\\\t((modified|renamed):.*)$"},{"captures":{"1":{"name":"markup.inserted.git-commit"}},"match":"^#\\\\t(new file:.*)$"},{"captures":{"1":{"name":"markup.deleted.git-commit"}},"match":"^#\\\\t(deleted.*)$"},{"captures":{"1":{"name":"keyword.other.file-type.git-commit"},"2":{"name":"string.unquoted.filename.git-commit"}},"match":"^#\\\\t([^:]+): *(.*)$"}]}],"scopeName":"text.git-commit","embeddedLangs":["diff"]}`)),n=[...e,t];export{n as default};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{S as t,x as n}from"./vendor-markdown-Ls5AcU91.js";import"./vendor-ui-CaeeFO0B.js";import{t as r}from"./createLucideIcon-D8pyde1A.js";import{t as i}from"./loader-circle-DPMrnLQ2.js";import{i as a,n as o}from"./api-client-oY1tC3tM.js";import{n as s}from"./utils-C9OjCrou.js";import{i as c}from"./project-store-BuY7rxn_.js";import{It as l,Ln as u,Lr as d,Rr as f,Tr as p,hr as m,qn as h}from"./index-yV5RgBDh.js";var g=r(`cloud-off`,[[`path`,{d:`M10.94 5.274A7 7 0 0 1 15.71 10h1.79a4.5 4.5 0 0 1 4.222 6.057`,key:`1uxyv8`}],[`path`,{d:`M18.796 18.81A4.5 4.5 0 0 1 17.5 19H9A7 7 0 0 1 5.79 5.78`,key:`99tcn7`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),_=e(t(),1),v=n(),y=[`#2563eb`,`#16a34a`,`#d97706`,`#9333ea`,`#dc2626`,`#0891b2`,`#c026d3`,`#ea580c`];function b(e){let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)|0;return y[Math.abs(t)%y.length]}function x({name:e,syncState:t,isHead:n,isTag:r,className:i}){let a=r?`#d97706`:b(e),o=r?u:t===`synced`?p:t===`ahead`?d:t===`behind`?f:t===`remote-only`?p:g,c=r?`Tag: ${e}`:t===`synced`?`${e} — synced with remote`:t===`ahead`?`${e} — ahead of remote`:t===`behind`?`${e} — behind remote`:t===`remote-only`?`${e} — remote only`:`${e} — local only`;return(0,v.jsxs)(`span`,{className:s(`inline-flex items-center gap-1 rounded-md border px-1.5 py-0.5 text-[11px] font-medium leading-tight max-w-[220px]`,n&&`ring-1 ring-offset-1 ring-offset-background`,t===`remote-only`&&`opacity-70`,i),style:{borderColor:a,backgroundColor:a+`1A`,color:`var(--text)`,...n?{"--tw-ring-color":a}:{}},title:c,children:[(0,v.jsx)(o,{className:`size-3 shrink-0`,style:{color:a}}),(0,v.jsx)(`span`,{className:`truncate`,children:e})]})}function S(e,t,n,r){let i=[],a=e===r;for(let e of t)e.startsWith(`tag: `)&&i.push({name:e.slice(5),syncState:`synced`,isTag:!0});let o=n.filter(t=>t.commitHash===e),s=o.filter(e=>!e.remote),c=o.filter(e=>e.remote);new Set(s.map(e=>e.name));let l=new Set;for(let e of s){let t=`local-only`;e.remotes.length>0&&(t=e.ahead>0&&e.behind===0?`ahead`:e.behind>0&&e.ahead===0?`behind`:`synced`),i.push({name:e.name,syncState:t,isHead:a&&e.current});for(let t of c){let n=t.name.replace(/^remotes\//,``),r=n.indexOf(`/`);r<0||n.slice(r+1)===e.name&&l.add(t.name)}}for(let e of c){if(l.has(e.name))continue;let t=e.name.replace(/^remotes\//,``);i.push({name:t,syncState:`remote-only`})}return i}var C=100;function w({metadata:e}){let t=e?.projectName??c(l(e=>e.activeProject))?.name,[n,r]=(0,_.useState)(null),[s,u]=(0,_.useState)(!1),[d,f]=(0,_.useState)(!0),p=(0,_.useRef)(null),g=(0,_.useCallback)(async(e=0,n=!1)=>{if(t){u(!0);try{let i=await o.get(`${a(t)}/git/graph?max=${C}&skip=${e}`);r(e=>n&&e?{...i,commits:[...e.commits,...i.commits]}:i),f(i.commits.length===C)}catch{}u(!1)}},[t]);(0,_.useEffect)(()=>{g()},[g]);let y=(0,_.useCallback)(()=>{s||!d||!n||g(n.commits.length,!0)},[s,d,n,g]),b=(0,_.useCallback)(e=>{let t=e.currentTarget;t.scrollHeight-t.scrollTop-t.clientHeight<200&&y()},[y]);return t?(0,v.jsxs)(`div`,{className:`flex flex-col h-full`,children:[(0,v.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 border-b border-border shrink-0`,children:[(0,v.jsx)(m,{className:`size-4 text-text-secondary`}),(0,v.jsx)(`span`,{className:`text-xs font-medium text-text-primary`,children:`Git Log`}),(0,v.jsx)(`span`,{className:`text-[10px] text-text-subtle`,children:n?`${n.commits.length} commits`:``}),(0,v.jsx)(`div`,{className:`flex-1`}),(0,v.jsx)(`button`,{onClick:()=>g(),disabled:s,className:`p-1 rounded text-text-subtle hover:text-text-secondary transition-colors`,title:`Refresh`,children:(0,v.jsx)(h,{className:`size-3.5 ${s?`animate-spin`:``}`})})]}),!n&&s?(0,v.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,v.jsx)(i,{className:`size-5 animate-spin text-primary`})}):n&&n.commits.length===0?(0,v.jsx)(`div`,{className:`flex items-center justify-center h-full text-text-secondary text-sm`,children:`No commits yet`}):n?(0,v.jsxs)(`div`,{ref:p,className:`flex-1 overflow-y-auto min-h-0`,onScroll:b,children:[n.commits.map(e=>(0,v.jsx)(T,{commit:e,branches:n.branches,head:n.head},e.hash)),s&&(0,v.jsx)(`div`,{className:`flex items-center justify-center py-3`,children:(0,v.jsx)(i,{className:`size-4 animate-spin text-text-subtle`})}),!d&&n.commits.length>0&&(0,v.jsx)(`div`,{className:`text-center text-[10px] text-text-subtle py-3`,children:`End of history`})]}):null]}):(0,v.jsx)(`div`,{className:`flex items-center justify-center h-full text-text-secondary text-sm`,children:`Select a project to view git log`})}function T({commit:e,branches:t,head:n}){let r=e.hash===n,i=S(e.hash,e.refs,t,n);return(0,v.jsxs)(`div`,{className:`flex items-start gap-2 px-3 py-1.5 border-b border-border/50 hover:bg-surface-elevated transition-colors ${r?`bg-primary/5`:``}`,children:[(0,v.jsx)(`div`,{className:`flex items-center pt-1 shrink-0`,children:(0,v.jsx)(`span`,{className:`size-2.5 rounded-full border-2 ${r?`border-primary bg-primary`:`border-text-subtle bg-transparent`}`})}),(0,v.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[i.length>0&&(0,v.jsx)(`div`,{className:`flex flex-wrap items-center gap-1 mb-0.5`,children:i.map(e=>(0,v.jsx)(x,{...e},`${e.name}-${e.syncState}`))}),(0,v.jsx)(`p`,{className:`text-xs text-text-primary truncate leading-snug`,children:e.subject}),(0,v.jsxs)(`div`,{className:`flex items-center gap-2 mt-0.5`,children:[(0,v.jsx)(`span`,{className:`text-[10px] font-mono text-text-subtle`,children:e.abbreviatedHash}),(0,v.jsx)(`span`,{className:`text-[10px] text-text-subtle truncate`,children:e.authorName}),(0,v.jsx)(`span`,{className:`text-[10px] text-text-subtle shrink-0`,children:E(e.authorDate)})]})]})]})}function E(e){let t=new Date(e),n=Date.now()-t.getTime(),r=Math.floor(n/6e4);if(r<1)return`now`;if(r<60)return`${r}m`;let i=Math.floor(r/60);if(i<24)return`${i}h`;let a=Math.floor(i/24);return a<30?`${a}d`:t.toLocaleDateString(`en`,{month:`short`,day:`numeric`})}export{w as GitLogPanel};
1
+ import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{S as t,x as n}from"./vendor-markdown-Ls5AcU91.js";import"./vendor-ui-CaeeFO0B.js";import{t as r}from"./createLucideIcon-D8pyde1A.js";import{t as i}from"./loader-circle-DPMrnLQ2.js";import{i as a,n as o}from"./api-client-CEYCBt_0.js";import{n as s}from"./utils-IrnQujwR.js";import{i as c}from"./project-store-wWZ6bjwq.js";import{Bn as l,Br as u,It as d,Or as f,Vr as p,Xn as m,vr as h}from"./index-CHQAPZIX.js";var g=r(`cloud-off`,[[`path`,{d:`M10.94 5.274A7 7 0 0 1 15.71 10h1.79a4.5 4.5 0 0 1 4.222 6.057`,key:`1uxyv8`}],[`path`,{d:`M18.796 18.81A4.5 4.5 0 0 1 17.5 19H9A7 7 0 0 1 5.79 5.78`,key:`99tcn7`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),_=e(t(),1),v=n(),y=[`#2563eb`,`#16a34a`,`#d97706`,`#9333ea`,`#dc2626`,`#0891b2`,`#c026d3`,`#ea580c`];function b(e){let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)|0;return y[Math.abs(t)%y.length]}function x({name:e,syncState:t,isHead:n,isTag:r,className:i}){let a=r?`#d97706`:b(e),o=r?l:t===`synced`?f:t===`ahead`?u:t===`behind`?p:t===`remote-only`?f:g,c=r?`Tag: ${e}`:t===`synced`?`${e} — synced with remote`:t===`ahead`?`${e} — ahead of remote`:t===`behind`?`${e} — behind remote`:t===`remote-only`?`${e} — remote only`:`${e} — local only`;return(0,v.jsxs)(`span`,{className:s(`inline-flex items-center gap-1 rounded-md border px-1.5 py-0.5 text-[11px] font-medium leading-tight max-w-[220px]`,n&&`ring-1 ring-offset-1 ring-offset-background`,t===`remote-only`&&`opacity-70`,i),style:{borderColor:a,backgroundColor:a+`1A`,color:`var(--text)`,...n?{"--tw-ring-color":a}:{}},title:c,children:[(0,v.jsx)(o,{className:`size-3 shrink-0`,style:{color:a}}),(0,v.jsx)(`span`,{className:`truncate`,children:e})]})}function S(e,t,n,r){let i=[],a=e===r;for(let e of t)e.startsWith(`tag: `)&&i.push({name:e.slice(5),syncState:`synced`,isTag:!0});let o=n.filter(t=>t.commitHash===e),s=o.filter(e=>!e.remote),c=o.filter(e=>e.remote);new Set(s.map(e=>e.name));let l=new Set;for(let e of s){let t=`local-only`;e.remotes.length>0&&(t=e.ahead>0&&e.behind===0?`ahead`:e.behind>0&&e.ahead===0?`behind`:`synced`),i.push({name:e.name,syncState:t,isHead:a&&e.current});for(let t of c){let n=t.name.replace(/^remotes\//,``),r=n.indexOf(`/`);r<0||n.slice(r+1)===e.name&&l.add(t.name)}}for(let e of c){if(l.has(e.name))continue;let t=e.name.replace(/^remotes\//,``);i.push({name:t,syncState:`remote-only`})}return i}var C=100;function w({metadata:e}){let t=e?.projectName??c(d(e=>e.activeProject))?.name,[n,r]=(0,_.useState)(null),[s,l]=(0,_.useState)(!1),[u,f]=(0,_.useState)(!0),p=(0,_.useRef)(null),g=(0,_.useCallback)(async(e=0,n=!1)=>{if(t){l(!0);try{let i=await o.get(`${a(t)}/git/graph?max=${C}&skip=${e}`);r(e=>n&&e?{...i,commits:[...e.commits,...i.commits]}:i),f(i.commits.length===C)}catch{}l(!1)}},[t]);(0,_.useEffect)(()=>{g()},[g]);let y=(0,_.useCallback)(()=>{s||!u||!n||g(n.commits.length,!0)},[s,u,n,g]),b=(0,_.useCallback)(e=>{let t=e.currentTarget;t.scrollHeight-t.scrollTop-t.clientHeight<200&&y()},[y]);return t?(0,v.jsxs)(`div`,{className:`flex flex-col h-full`,children:[(0,v.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 border-b border-border shrink-0`,children:[(0,v.jsx)(h,{className:`size-4 text-text-secondary`}),(0,v.jsx)(`span`,{className:`text-xs font-medium text-text-primary`,children:`Git Log`}),(0,v.jsx)(`span`,{className:`text-[10px] text-text-subtle`,children:n?`${n.commits.length} commits`:``}),(0,v.jsx)(`div`,{className:`flex-1`}),(0,v.jsx)(`button`,{onClick:()=>g(),disabled:s,className:`p-1 rounded text-text-subtle hover:text-text-secondary transition-colors`,title:`Refresh`,children:(0,v.jsx)(m,{className:`size-3.5 ${s?`animate-spin`:``}`})})]}),!n&&s?(0,v.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,v.jsx)(i,{className:`size-5 animate-spin text-primary`})}):n&&n.commits.length===0?(0,v.jsx)(`div`,{className:`flex items-center justify-center h-full text-text-secondary text-sm`,children:`No commits yet`}):n?(0,v.jsxs)(`div`,{ref:p,className:`flex-1 overflow-y-auto min-h-0`,onScroll:b,children:[n.commits.map(e=>(0,v.jsx)(T,{commit:e,branches:n.branches,head:n.head},e.hash)),s&&(0,v.jsx)(`div`,{className:`flex items-center justify-center py-3`,children:(0,v.jsx)(i,{className:`size-4 animate-spin text-text-subtle`})}),!u&&n.commits.length>0&&(0,v.jsx)(`div`,{className:`text-center text-[10px] text-text-subtle py-3`,children:`End of history`})]}):null]}):(0,v.jsx)(`div`,{className:`flex items-center justify-center h-full text-text-secondary text-sm`,children:`Select a project to view git log`})}function T({commit:e,branches:t,head:n}){let r=e.hash===n,i=S(e.hash,e.refs,t,n);return(0,v.jsxs)(`div`,{className:`flex items-start gap-2 px-3 py-1.5 border-b border-border/50 hover:bg-surface-elevated transition-colors ${r?`bg-primary/5`:``}`,children:[(0,v.jsx)(`div`,{className:`flex items-center pt-1 shrink-0`,children:(0,v.jsx)(`span`,{className:`size-2.5 rounded-full border-2 ${r?`border-primary bg-primary`:`border-text-subtle bg-transparent`}`})}),(0,v.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[i.length>0&&(0,v.jsx)(`div`,{className:`flex flex-wrap items-center gap-1 mb-0.5`,children:i.map(e=>(0,v.jsx)(x,{...e},`${e.name}-${e.syncState}`))}),(0,v.jsx)(`p`,{className:`text-xs text-text-primary truncate leading-snug`,children:e.subject}),(0,v.jsxs)(`div`,{className:`flex items-center gap-2 mt-0.5`,children:[(0,v.jsx)(`span`,{className:`text-[10px] font-mono text-text-subtle`,children:e.abbreviatedHash}),(0,v.jsx)(`span`,{className:`text-[10px] text-text-subtle truncate`,children:e.authorName}),(0,v.jsx)(`span`,{className:`text-[10px] text-text-subtle shrink-0`,children:E(e.authorDate)})]})]})]})}function E(e){let t=new Date(e),n=Date.now()-t.getTime(),r=Math.floor(n/6e4);if(r<1)return`now`;if(r<60)return`${r}m`;let i=Math.floor(r/60);if(i<24)return`${i}h`;let a=Math.floor(i/24);return a<30?`${a}d`:t.toLocaleDateString(`en`,{month:`short`,day:`numeric`})}export{w as GitLogPanel};
@@ -1 +1 @@
1
- import{t as e}from"./shellscript-DkYiDvh1.js";var t=Object.freeze(JSON.parse(`{"displayName":"Git Rebase Message","name":"git-rebase","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.git-rebase"}},"match":"^\\\\s*(#).*$\\\\n?","name":"comment.line.number-sign.git-rebase"},{"captures":{"1":{"name":"support.function.git-rebase"},"2":{"name":"constant.sha.git-rebase"},"3":{"name":"meta.commit-message.git-rebase"}},"match":"^\\\\s*(pick|p|reword|r|edit|e|squash|s|fixup|f|drop|d)\\\\s+([0-9a-f]+)\\\\s+(.*)$","name":"meta.commit-command.git-rebase"},{"captures":{"1":{"name":"support.function.git-rebase"},"2":{"patterns":[{"include":"source.shell"}]}},"match":"^\\\\s*(exec|x)\\\\s+(.*)$","name":"meta.commit-command.git-rebase"},{"captures":{"1":{"name":"support.function.git-rebase"}},"match":"^\\\\s*(b(?:reak|))\\\\s*$","name":"meta.commit-command.git-rebase"}],"scopeName":"text.git-rebase","embeddedLangs":["shellscript"]}`)),n=[...e,t];export{n as default};
1
+ import{t as e}from"./shellscript-OFZbPKZH.js";var t=Object.freeze(JSON.parse(`{"displayName":"Git Rebase Message","name":"git-rebase","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.git-rebase"}},"match":"^\\\\s*(#).*$\\\\n?","name":"comment.line.number-sign.git-rebase"},{"captures":{"1":{"name":"support.function.git-rebase"},"2":{"name":"constant.sha.git-rebase"},"3":{"name":"meta.commit-message.git-rebase"}},"match":"^\\\\s*(pick|p|reword|r|edit|e|squash|s|fixup|f|drop|d)\\\\s+([0-9a-f]+)\\\\s+(.*)$","name":"meta.commit-command.git-rebase"},{"captures":{"1":{"name":"support.function.git-rebase"},"2":{"patterns":[{"include":"source.shell"}]}},"match":"^\\\\s*(exec|x)\\\\s+(.*)$","name":"meta.commit-command.git-rebase"},{"captures":{"1":{"name":"support.function.git-rebase"}},"match":"^\\\\s*(b(?:reak|))\\\\s*$","name":"meta.commit-command.git-rebase"}],"scopeName":"text.git-rebase","embeddedLangs":["shellscript"]}`)),n=[...e,t];export{n as default};
@@ -0,0 +1 @@
1
+ import{W as e}from"./vendor-mermaid-CfY1-PkA.js";export{e as createGitGraphServices};