@marimo-team/frontend 0.20.5-dev23 → 0.20.5-dev25

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 (138) hide show
  1. package/dist/assets/{CellStatus-C7YcGVz5.js → CellStatus-Bf3_zqWp.js} +1 -1
  2. package/dist/assets/{Combination-CvuTtFZA.js → Combination-lAuBMOg4.js} +1 -1
  3. package/dist/assets/{ConnectedDataExplorerComponent-s90oP5MC.js → ConnectedDataExplorerComponent-BWGS1xUt.js} +1 -1
  4. package/dist/assets/{ErrorBoundary-CnuID9Cd.js → ErrorBoundary-BfF3Lb5I.js} +1 -1
  5. package/dist/assets/{ImperativeModal-CPUoA52T.js → ImperativeModal-l3NQQITL.js} +1 -1
  6. package/dist/assets/{JsonOutput-CHgq3R6J.js → JsonOutput-CGdzBqS1.js} +1 -1
  7. package/dist/assets/{LazyAnyLanguageCodeMirror-B11pcXh7.js → LazyAnyLanguageCodeMirror-BpSKccWW.js} +2 -2
  8. package/dist/assets/{MarimoErrorOutput-CQ3kdm1P.js → MarimoErrorOutput-Bms-kX7B.js} +1 -1
  9. package/dist/assets/{RenderHTML-pLlj26l9.js → RenderHTML-DpbhvZnj.js} +1 -1
  10. package/dist/assets/{add-cell-with-ai-n1W-BSLf.js → add-cell-with-ai-XG5BIwhn.js} +1 -1
  11. package/dist/assets/{add-connection-dialog-CmJm_APe.js → add-connection-dialog-DbCfepEj.js} +1 -1
  12. package/dist/assets/{agent-panel-C4ReXyY-.js → agent-panel-D16-GLG-.js} +1 -1
  13. package/dist/assets/{ai-model-dropdown-B44FMVQo.js → ai-model-dropdown-oin5Fuov.js} +1 -1
  14. package/dist/assets/{alert-dialog-7IgjDQnl.js → alert-dialog-CfirwkMl.js} +1 -1
  15. package/dist/assets/{any-language-editor-oszZpJ9n.js → any-language-editor-C_73jLC-.js} +1 -1
  16. package/dist/assets/{app-config-button-D9y29OVK.js → app-config-button-CI0WOSLz.js} +1 -1
  17. package/dist/assets/{assertNever-BrLJ0NwL.js → assertNever-Dg4AnA3p.js} +1 -1
  18. package/dist/assets/{azure-IIVDdkEa.js → azure-V83ZU8Sp.js} +1 -1
  19. package/dist/assets/{button-B_BBklax.js → button-BwamPDJi.js} +1 -1
  20. package/dist/assets/{cache-panel-B1U_4_r0.js → cache-panel-DrOCfrS9.js} +1 -1
  21. package/dist/assets/{capabilities-BK7HaT7a.js → capabilities-yFZOze7r.js} +1 -1
  22. package/dist/assets/{capitalize-D0VWeP6D.js → capitalize-DeCS9UqV.js} +1 -1
  23. package/dist/assets/{cell-editor-DQFDo_RG.js → cell-editor-BU2bXyD1.js} +1 -1
  24. package/dist/assets/{cell-link-DaAxXyUN.js → cell-link-CApHIAZF.js} +1 -1
  25. package/dist/assets/{cells-BLS3X4Af.js → cells-DJj8ja0V.js} +2 -2
  26. package/dist/assets/{chat-display-UjJ3dstS.js → chat-display-DwFyJBVB.js} +1 -1
  27. package/dist/assets/{chat-panel-vsvgmMju.js → chat-panel-CivqPgLR.js} +1 -1
  28. package/dist/assets/{column-preview-DusIZuR5.js → column-preview-BTufLMhz.js} +1 -1
  29. package/dist/assets/command-DLq1SsAO.js +1 -0
  30. package/dist/assets/command-palette-BYaD9kOd.js +1 -0
  31. package/dist/assets/{common-ed7Ffv7I.js → common-DC4lyug7.js} +1 -1
  32. package/dist/assets/{components-BnwE0U6X.js → components-CwZhf0Ag.js} +1 -1
  33. package/dist/assets/{components-8Q-wOvzt.js → components-D8LTuNe_.js} +1 -1
  34. package/dist/assets/{config-CEhpfPsm.js → config-BH98g9qk.js} +1 -1
  35. package/dist/assets/{context-aware-panel-4SL9IzEa.js → context-aware-panel-D7L-J6dq.js} +1 -1
  36. package/dist/assets/{copy-BxX1HhLi.js → copy-ICN7wGy0.js} +1 -1
  37. package/dist/assets/{copy-icon-C7DYKLrA.js → copy-icon-DNppAsmd.js} +1 -1
  38. package/dist/assets/{createReducer-DlNDr--8.js → createReducer-BrKCfm9t.js} +1 -1
  39. package/dist/assets/{datasource-Rhwrf7V5.js → datasource-MEu_GjcC.js} +1 -1
  40. package/dist/assets/{dates-DbMtViXe.js → dates-BFWtdOCb.js} +1 -1
  41. package/dist/assets/{dependency-graph-panel-BbynHTqX.js → dependency-graph-panel-DHjX2IAi.js} +1 -1
  42. package/dist/assets/{dialog-BGSIIw3z.js → dialog-ChkDhlMQ.js} +1 -1
  43. package/dist/assets/{dist-DRX_D8V4.js → dist-BosZYCjH.js} +1 -1
  44. package/dist/assets/{dist-zdBcSuGn.js → dist-qkIhd7iG.js} +1 -1
  45. package/dist/assets/{documentation-panel-BmFztrAu.js → documentation-panel-x4uNnKYg.js} +1 -1
  46. package/dist/assets/{download-dbepOsRi.js → download-C06P9lnP.js} +1 -1
  47. package/dist/assets/{dropdown-menu-C8nocIkm.js → dropdown-menu-Bc2d7Nej.js} +1 -1
  48. package/dist/assets/{edit-page-DP78KheM.js → edit-page-JEf4izAb.js} +3 -3
  49. package/dist/assets/{error-banner-DC7kSyWN.js → error-banner-C2nW22mN.js} +1 -1
  50. package/dist/assets/{error-panel-ilD7L2wL.js → error-panel-pHxYpjX_.js} +1 -1
  51. package/dist/assets/{es-DgeOOQmd.js → es-EPBuIa5m.js} +1 -1
  52. package/dist/assets/{field-D3rHE7aa.js → field-jeUVnXuU.js} +1 -1
  53. package/dist/assets/{file-explorer-panel-bhVw0Do7.js → file-explorer-panel-CraYsOVj.js} +1 -1
  54. package/dist/assets/{file-icons-DN9ij4Wl.js → file-icons-C-oatBuk.js} +1 -1
  55. package/dist/assets/{floating-outline-CJ9IGAYq.js → floating-outline-BPmtgKWs.js} +1 -1
  56. package/dist/assets/{focus-YYacdzxP.js → focus-j9zawi1p.js} +1 -1
  57. package/dist/assets/{form-C0LTsPPL.js → form-KYhtvrIF.js} +1 -1
  58. package/dist/assets/{formats-CnvgO4Do.js → formats-CkafgGfe.js} +1 -1
  59. package/dist/assets/{formatting-B5u5A8vd.js → formatting-By3b5Lx8.js} +1 -1
  60. package/dist/assets/{gallery-page-DD7Wys3m.js → gallery-page-mozL4wJd.js} +1 -1
  61. package/dist/assets/{glide-data-editor-BBNY066L.js → glide-data-editor-BhnSrNBl.js} +1 -1
  62. package/dist/assets/{globals-B1fld-Rj.js → globals-D2ulvntX.js} +1 -1
  63. package/dist/assets/{home-page-B6sVet_m.js → home-page-fzpZMqwS.js} +1 -1
  64. package/dist/assets/{hooks-DLXDseF0.js → hooks-YZ8YquEB.js} +1 -1
  65. package/dist/assets/{html-to-image-Fz0aHtSN.js → html-to-image-D-FY7miL.js} +1 -1
  66. package/dist/assets/{index-CKAAJr4G.js → index-BqLC0w8B.js} +6 -6
  67. package/dist/assets/{input-BSqIiBgk.js → input-BwUS1Mg1.js} +1 -1
  68. package/dist/assets/{kiosk-mode-owaVEljR.js → kiosk-mode-BuLLP9k3.js} +1 -1
  69. package/dist/assets/{label-Dyfjlw7l.js → label-CDwJXweF.js} +1 -1
  70. package/dist/assets/{layout-bJhK1MU7.js → layout-BPSHGKRG.js} +3 -3
  71. package/dist/assets/{links-DwLHiCvK.js → links-C9QsxOBC.js} +1 -1
  72. package/dist/assets/{logs-panel-RcBRKpKx.js → logs-panel-D_BejkBp.js} +1 -1
  73. package/dist/assets/{maps-BLIeOscV.js → maps-CTMzJkSk.js} +1 -1
  74. package/dist/assets/{markdown-renderer-rEsmEgLk.js → markdown-renderer-D02U2W2X.js} +1 -1
  75. package/dist/assets/{menu-items-5L8KP3TE.js → menu-items-CRjHRaiu.js} +1 -1
  76. package/dist/assets/{mermaid-Cpuf_CFq.js → mermaid-DJfb-vZs.js} +1 -1
  77. package/dist/assets/{multi-map-DNuS4OLr.js → multi-map-BubyGH4K.js} +1 -1
  78. package/dist/assets/{name-cell-input-CDeuhMiw.js → name-cell-input-tnyN_rNq.js} +1 -1
  79. package/dist/assets/{numbers-BUwP5i6C.js → numbers-Eb1pfDec.js} +1 -1
  80. package/dist/assets/{outline-panel-8W_UW9ZN.js → outline-panel-CgQ2GmbX.js} +1 -1
  81. package/dist/assets/{packages-panel-BrrY9zA4.js → packages-panel-BfOynji5.js} +1 -1
  82. package/dist/assets/{panels-u3TLFAyo.js → panels-C8RuHp78.js} +1 -1
  83. package/dist/assets/{popover-BoqMUhMK.js → popover-XNIX-rv1.js} +1 -1
  84. package/dist/assets/{process-output-CsBDUnVX.js → process-output-BwkCApeo.js} +1 -1
  85. package/dist/assets/{readonly-python-code-B6oaMq65.js → readonly-python-code-BFyASvPB.js} +1 -1
  86. package/dist/assets/{renderShortcut-D-zdqWZr.js → renderShortcut-BjTUrvc5.js} +1 -1
  87. package/dist/assets/{run-page-pG_rEmTm.js → run-page-Cg-HjFtb.js} +1 -1
  88. package/dist/assets/{runs-SgngHXOQ.js → runs-B4QSIylk.js} +1 -1
  89. package/dist/assets/{scratchpad-panel-qV3cJDWg.js → scratchpad-panel-BombralT.js} +1 -1
  90. package/dist/assets/{secrets-panel-Dw0Ba5RP.js → secrets-panel-Cz3H7Kcc.js} +1 -1
  91. package/dist/assets/{select-BVf30BUG.js → select-DMX8tcVe.js} +1 -1
  92. package/dist/assets/{session--x-9D3HE.js → session-iz9BPeTp.js} +1 -1
  93. package/dist/assets/{session-panel-BxSqsEW2.js → session-panel-msqiNt1Z.js} +1 -1
  94. package/dist/assets/{share-BCg8HRWb.js → share-BWMZuJWY.js} +1 -1
  95. package/dist/assets/{slides-component-ZaY98c0Q.js → slides-component-6o8TgsRv.js} +1 -1
  96. package/dist/assets/{snippets-panel-C9eE9sLd.js → snippets-panel-Beh7h7mz.js} +1 -1
  97. package/dist/assets/{spec-koLy2UDc.js → spec-BQ0QuStT.js} +1 -1
  98. package/dist/assets/{state-CjHlU-bK.js → state-CGR3DB1q.js} +1 -1
  99. package/dist/assets/{state-CqgD8hLj.js → state-CsNC_7dZ.js} +1 -1
  100. package/dist/assets/{state-BI4WmvIs.js → state-Dj88xOmZ.js} +1 -1
  101. package/dist/assets/{switch-CbXfU6RG.js → switch-BMqCO9bm.js} +1 -1
  102. package/dist/assets/{terminal-CfcXJOVD.js → terminal-qMuurRSM.js} +1 -1
  103. package/dist/assets/{toggle-yITwWbFe.js → toggle-BYx0fN9n.js} +1 -1
  104. package/dist/assets/{tooltip-CSN_sVIP.js → tooltip-CKZGcDDd.js} +1 -1
  105. package/dist/assets/{tooltip-Mz5m-WBI.js → tooltip-CQeE9o7x.js} +1 -1
  106. package/dist/assets/{tracing-Cq6U9xkY.js → tracing-DaGZb1gK.js} +1 -1
  107. package/dist/assets/{tracing-panel-DCKD_wl6.js → tracing-panel-DvvJq5B5.js} +2 -2
  108. package/dist/assets/{tree-DFAMcRzN.js → tree-82qhH45u.js} +1 -1
  109. package/dist/assets/{useAddCell-CHcSa2S1.js → useAddCell-BdUpg_Ta.js} +1 -1
  110. package/dist/assets/{useBoolean-BkvPje4S.js → useBoolean-NLsvxjyM.js} +1 -1
  111. package/dist/assets/{useCellActionButton-B_j24wIu.js → useCellActionButton-CKUAt6Sl.js} +1 -1
  112. package/dist/assets/{useDeleteCell--rxnx-v-.js → useDeleteCell-C1uMlYZu.js} +1 -1
  113. package/dist/assets/{useDependencyPanelTab-Czes6RSz.js → useDependencyPanelTab-CH3r9bC-.js} +1 -1
  114. package/dist/assets/useEventListener-DP66hBzA.js +1 -0
  115. package/dist/assets/{useIframeCapabilities-5-CXF3BR.js → useIframeCapabilities-BhFmTPLk.js} +1 -1
  116. package/dist/assets/{useInstallPackage-CvexojR5.js → useInstallPackage-CyTwCrsi.js} +1 -1
  117. package/dist/assets/{useInterval-dMGmU9jM.js → useInterval-Ct4FP8Tw.js} +1 -1
  118. package/dist/assets/{useLifecycle-iL8mLF8h.js → useLifecycle-BRklGKFJ.js} +1 -1
  119. package/dist/assets/useNotebookActions-CXRecmhh.js +1 -0
  120. package/dist/assets/{useSplitCell-CBScsxFG.js → useSplitCell-D7EHwIIE.js} +1 -1
  121. package/dist/assets/{useTheme-DKICbfFh.js → useTheme-Co8bbxoC.js} +1 -1
  122. package/dist/assets/{utils-D6N4h71e.js → utils-C1ZciZbF.js} +1 -1
  123. package/dist/assets/{vega-component-CptSPDCF.js → vega-component-CoUjMYqz.js} +1 -1
  124. package/dist/assets/{write-secret-modal-UFEJUct8.js → write-secret-modal-Dj4Ncj4m.js} +1 -1
  125. package/dist/index.html +73 -73
  126. package/package.json +1 -1
  127. package/src/components/editor/actions/types.ts +6 -1
  128. package/src/components/editor/actions/useNotebookActions.tsx +16 -11
  129. package/src/components/editor/chrome/types.ts +17 -0
  130. package/src/components/editor/controls/command-palette.tsx +7 -0
  131. package/src/components/ui/command.tsx +2 -0
  132. package/src/core/hotkeys/hotkeys.ts +11 -1
  133. package/src/utils/__tests__/smartMatch.test.ts +61 -0
  134. package/src/utils/smartMatch.ts +62 -0
  135. package/dist/assets/command-CQd7U1fL.js +0 -1
  136. package/dist/assets/command-palette-MijyB7K_.js +0 -1
  137. package/dist/assets/useEventListener-CTPW4ELK.js +0 -1
  138. package/dist/assets/useNotebookActions-DaQJ5dOH.js +0 -1
package/dist/index.html CHANGED
@@ -66,7 +66,7 @@
66
66
  <marimo-server-token data-token="{{ server_token }}" hidden></marimo-server-token>
67
67
  <!-- /TODO -->
68
68
  <title>{{ title }}</title>
69
- <script type="module" crossorigin src="./assets/index-CKAAJr4G.js"></script>
69
+ <script type="module" crossorigin src="./assets/index-BqLC0w8B.js"></script>
70
70
  <link rel="modulepreload" crossorigin href="./assets/preload-helper-BW0IMuFq.js">
71
71
  <link rel="modulepreload" crossorigin href="./assets/clsx-A78R3nYl.js">
72
72
  <link rel="modulepreload" crossorigin href="./assets/cn-d_A4rA-x.js">
@@ -75,17 +75,17 @@
75
75
  <link rel="modulepreload" crossorigin href="./assets/compiler-runtime-B3qBwwSJ.js">
76
76
  <link rel="modulepreload" crossorigin href="./assets/jsx-runtime-CP2fAiZX.js">
77
77
  <link rel="modulepreload" crossorigin href="./assets/badge-BUFDGZ04.js">
78
- <link rel="modulepreload" crossorigin href="./assets/useEventListener-CTPW4ELK.js">
79
- <link rel="modulepreload" crossorigin href="./assets/button-B_BBklax.js">
78
+ <link rel="modulepreload" crossorigin href="./assets/useEventListener-DP66hBzA.js">
79
+ <link rel="modulepreload" crossorigin href="./assets/button-BwamPDJi.js">
80
80
  <link rel="modulepreload" crossorigin href="./assets/react-dom-CSu739Rf.js">
81
- <link rel="modulepreload" crossorigin href="./assets/Combination-CvuTtFZA.js">
82
- <link rel="modulepreload" crossorigin href="./assets/menu-items-5L8KP3TE.js">
83
- <link rel="modulepreload" crossorigin href="./assets/dist-zdBcSuGn.js">
81
+ <link rel="modulepreload" crossorigin href="./assets/Combination-lAuBMOg4.js">
82
+ <link rel="modulepreload" crossorigin href="./assets/menu-items-CRjHRaiu.js">
83
+ <link rel="modulepreload" crossorigin href="./assets/dist-qkIhd7iG.js">
84
84
  <link rel="modulepreload" crossorigin href="./assets/createLucideIcon-BvP5LBIs.js">
85
85
  <link rel="modulepreload" crossorigin href="./assets/check-BnZGcuDh.js">
86
86
  <link rel="modulepreload" crossorigin href="./assets/x-yqLqiq5Q.js">
87
- <link rel="modulepreload" crossorigin href="./assets/select-BVf30BUG.js">
88
- <link rel="modulepreload" crossorigin href="./assets/tooltip-CSN_sVIP.js">
87
+ <link rel="modulepreload" crossorigin href="./assets/select-DMX8tcVe.js">
88
+ <link rel="modulepreload" crossorigin href="./assets/tooltip-CKZGcDDd.js">
89
89
  <link rel="modulepreload" crossorigin href="./assets/use-toast-Hc8CXlvz.js">
90
90
  <link rel="modulepreload" crossorigin href="./assets/_Uint8Array-BGESiCQL.js">
91
91
  <link rel="modulepreload" crossorigin href="./assets/_baseIsEqual-BU8KB_Ip.js">
@@ -94,26 +94,26 @@
94
94
  <link rel="modulepreload" crossorigin href="./assets/isArrayLikeObject-BkJc8lDE.js">
95
95
  <link rel="modulepreload" crossorigin href="./assets/merge-DnJbrtRQ.js">
96
96
  <link rel="modulepreload" crossorigin href="./assets/zod-H_cgTO0M.js">
97
- <link rel="modulepreload" crossorigin href="./assets/utils-D6N4h71e.js">
97
+ <link rel="modulepreload" crossorigin href="./assets/utils-C1ZciZbF.js">
98
98
  <link rel="modulepreload" crossorigin href="./assets/Deferred-BMfCOLaw.js">
99
99
  <link rel="modulepreload" crossorigin href="./assets/uuid-ClFZlR7U.js">
100
100
  <link rel="modulepreload" crossorigin href="./assets/DeferredRequestRegistry-TekxUirp.js">
101
101
  <link rel="modulepreload" crossorigin href="./assets/constants-CdR60lKM.js">
102
- <link rel="modulepreload" crossorigin href="./assets/session--x-9D3HE.js">
103
- <link rel="modulepreload" crossorigin href="./assets/config-CEhpfPsm.js">
102
+ <link rel="modulepreload" crossorigin href="./assets/session-iz9BPeTp.js">
103
+ <link rel="modulepreload" crossorigin href="./assets/config-BH98g9qk.js">
104
104
  <link rel="modulepreload" crossorigin href="./assets/requests-DZy_SQ_v.js">
105
105
  <link rel="modulepreload" crossorigin href="./assets/isSymbol-BGkTcW3U.js">
106
106
  <link rel="modulepreload" crossorigin href="./assets/toString-DlRqgfqz.js">
107
107
  <link rel="modulepreload" crossorigin href="./assets/_baseSlice-39dTX4Wi.js">
108
108
  <link rel="modulepreload" crossorigin href="./assets/_hasUnicode-QS_pSfjY.js">
109
- <link rel="modulepreload" crossorigin href="./assets/assertNever-BrLJ0NwL.js">
109
+ <link rel="modulepreload" crossorigin href="./assets/assertNever-Dg4AnA3p.js">
110
110
  <link rel="modulepreload" crossorigin href="./assets/_arrayReduce-BKEr35uH.js">
111
- <link rel="modulepreload" crossorigin href="./assets/useLifecycle-iL8mLF8h.js">
111
+ <link rel="modulepreload" crossorigin href="./assets/useLifecycle-BRklGKFJ.js">
112
112
  <link rel="modulepreload" crossorigin href="./assets/useNonce-BY4jV7Yb.js">
113
- <link rel="modulepreload" crossorigin href="./assets/useTheme-DKICbfFh.js">
113
+ <link rel="modulepreload" crossorigin href="./assets/useTheme-Co8bbxoC.js">
114
114
  <link rel="modulepreload" crossorigin href="./assets/once-DRC4SgqY.js">
115
- <link rel="modulepreload" crossorigin href="./assets/capabilities-BK7HaT7a.js">
116
- <link rel="modulepreload" crossorigin href="./assets/createReducer-DlNDr--8.js">
115
+ <link rel="modulepreload" crossorigin href="./assets/capabilities-yFZOze7r.js">
116
+ <link rel="modulepreload" crossorigin href="./assets/createReducer-BrKCfm9t.js">
117
117
  <link rel="modulepreload" crossorigin href="./assets/paths-D2lG83Oh.js">
118
118
  <link rel="modulepreload" crossorigin href="./assets/dist-Dr9qtoId.js">
119
119
  <link rel="modulepreload" crossorigin href="./assets/dist-C88PeA-j.js">
@@ -135,117 +135,117 @@
135
135
  <link rel="modulepreload" crossorigin href="./assets/toInteger-Cl1doThW.js">
136
136
  <link rel="modulepreload" crossorigin href="./assets/database-zap-B3efE3T2.js">
137
137
  <link rel="modulepreload" crossorigin href="./assets/main-Cmx6WhDY.js">
138
- <link rel="modulepreload" crossorigin href="./assets/cells-BLS3X4Af.js">
138
+ <link rel="modulepreload" crossorigin href="./assets/cells-DJj8ja0V.js">
139
139
  <link rel="modulepreload" crossorigin href="./assets/spinner-Dt4SmUsI.js">
140
140
  <link rel="modulepreload" crossorigin href="./assets/chevron-right-_z3dkNFy.js">
141
- <link rel="modulepreload" crossorigin href="./assets/dropdown-menu-C8nocIkm.js">
141
+ <link rel="modulepreload" crossorigin href="./assets/dropdown-menu-Bc2d7Nej.js">
142
142
  <link rel="modulepreload" crossorigin href="./assets/kbd-Rn7tWvNg.js">
143
- <link rel="modulepreload" crossorigin href="./assets/renderShortcut-D-zdqWZr.js">
144
- <link rel="modulepreload" crossorigin href="./assets/multi-map-DNuS4OLr.js">
143
+ <link rel="modulepreload" crossorigin href="./assets/renderShortcut-BjTUrvc5.js">
144
+ <link rel="modulepreload" crossorigin href="./assets/multi-map-BubyGH4K.js">
145
145
  <link rel="modulepreload" crossorigin href="./assets/alert-Bs8tbZo_.js">
146
146
  <link rel="modulepreload" crossorigin href="./assets/card-WPBELA1S.js">
147
- <link rel="modulepreload" crossorigin href="./assets/alert-dialog-7IgjDQnl.js">
148
- <link rel="modulepreload" crossorigin href="./assets/dialog-BGSIIw3z.js">
149
- <link rel="modulepreload" crossorigin href="./assets/dist-DRX_D8V4.js">
150
- <link rel="modulepreload" crossorigin href="./assets/label-Dyfjlw7l.js">
147
+ <link rel="modulepreload" crossorigin href="./assets/alert-dialog-CfirwkMl.js">
148
+ <link rel="modulepreload" crossorigin href="./assets/dialog-ChkDhlMQ.js">
149
+ <link rel="modulepreload" crossorigin href="./assets/dist-BosZYCjH.js">
150
+ <link rel="modulepreload" crossorigin href="./assets/label-CDwJXweF.js">
151
151
  <link rel="modulepreload" crossorigin href="./assets/useDebounce-S9zaMzrr.js">
152
- <link rel="modulepreload" crossorigin href="./assets/azure-IIVDdkEa.js">
153
- <link rel="modulepreload" crossorigin href="./assets/numbers-BUwP5i6C.js">
152
+ <link rel="modulepreload" crossorigin href="./assets/azure-V83ZU8Sp.js">
153
+ <link rel="modulepreload" crossorigin href="./assets/numbers-Eb1pfDec.js">
154
154
  <link rel="modulepreload" crossorigin href="./assets/SSRProvider-CwqN9FWV.js">
155
155
  <link rel="modulepreload" crossorigin href="./assets/context-CRApIvpB.js">
156
156
  <link rel="modulepreload" crossorigin href="./assets/useNumberFormatter-DQd-h5xR.js">
157
157
  <link rel="modulepreload" crossorigin href="./assets/usePress-DcdVsIfA.js">
158
- <link rel="modulepreload" crossorigin href="./assets/input-BSqIiBgk.js">
158
+ <link rel="modulepreload" crossorigin href="./assets/input-BwUS1Mg1.js">
159
159
  <link rel="modulepreload" crossorigin href="./assets/links-MkDbmF2p.js">
160
- <link rel="modulepreload" crossorigin href="./assets/popover-BoqMUhMK.js">
161
- <link rel="modulepreload" crossorigin href="./assets/switch-CbXfU6RG.js">
160
+ <link rel="modulepreload" crossorigin href="./assets/popover-XNIX-rv1.js">
161
+ <link rel="modulepreload" crossorigin href="./assets/switch-BMqCO9bm.js">
162
162
  <link rel="modulepreload" crossorigin href="./assets/table-FXVKPW36.js">
163
163
  <link rel="modulepreload" crossorigin href="./assets/useAsyncData-CI3ntihq.js">
164
164
  <link rel="modulepreload" crossorigin href="./assets/errors-0IrrdfSG.js">
165
- <link rel="modulepreload" crossorigin href="./assets/error-banner-DC7kSyWN.js">
166
- <link rel="modulepreload" crossorigin href="./assets/copy-BxX1HhLi.js">
165
+ <link rel="modulepreload" crossorigin href="./assets/error-banner-C2nW22mN.js">
166
+ <link rel="modulepreload" crossorigin href="./assets/copy-ICN7wGy0.js">
167
167
  <link rel="modulepreload" crossorigin href="./assets/memoize-BCOZVFBt.js">
168
168
  <link rel="modulepreload" crossorigin href="./assets/get-6uJrSKbw.js">
169
- <link rel="modulepreload" crossorigin href="./assets/capitalize-D0VWeP6D.js">
169
+ <link rel="modulepreload" crossorigin href="./assets/capitalize-DeCS9UqV.js">
170
170
  <link rel="modulepreload" crossorigin href="./assets/copy-CAR4dOiD.js">
171
171
  <link rel="modulepreload" crossorigin href="./assets/plus-C9B_qWUi.js">
172
172
  <link rel="modulepreload" crossorigin href="./assets/refresh-cw-fLeDriQe.js">
173
173
  <link rel="modulepreload" crossorigin href="./assets/trash-2-CrA4LwJ2.js">
174
174
  <link rel="modulepreload" crossorigin href="./assets/triangle-alert-CzmxsxFO.js">
175
- <link rel="modulepreload" crossorigin href="./assets/ai-model-dropdown-B44FMVQo.js">
175
+ <link rel="modulepreload" crossorigin href="./assets/ai-model-dropdown-oin5Fuov.js">
176
176
  <link rel="modulepreload" crossorigin href="./assets/defaultLocale-CuYNS33t.js">
177
177
  <link rel="modulepreload" crossorigin href="./assets/precisionRound-CCOoIlcP.js">
178
178
  <link rel="modulepreload" crossorigin href="./assets/defaultLocale-CGfP-Ye3.js">
179
179
  <link rel="modulepreload" crossorigin href="./assets/vega-loader.browser-BJ9oKrvH.js">
180
- <link rel="modulepreload" crossorigin href="./assets/tooltip-Mz5m-WBI.js">
181
- <link rel="modulepreload" crossorigin href="./assets/ErrorBoundary-CnuID9Cd.js">
182
- <link rel="modulepreload" crossorigin href="./assets/useInstallPackage-CvexojR5.js">
183
- <link rel="modulepreload" crossorigin href="./assets/ImperativeModal-CPUoA52T.js">
184
- <link rel="modulepreload" crossorigin href="./assets/cell-link-DaAxXyUN.js">
185
- <link rel="modulepreload" crossorigin href="./assets/datasource-Rhwrf7V5.js">
186
- <link rel="modulepreload" crossorigin href="./assets/state-CqgD8hLj.js">
187
- <link rel="modulepreload" crossorigin href="./assets/MarimoErrorOutput-CQ3kdm1P.js">
188
- <link rel="modulepreload" crossorigin href="./assets/copy-icon-C7DYKLrA.js">
189
- <link rel="modulepreload" crossorigin href="./assets/html-to-image-Fz0aHtSN.js">
190
- <link rel="modulepreload" crossorigin href="./assets/focus-YYacdzxP.js">
191
- <link rel="modulepreload" crossorigin href="./assets/LazyAnyLanguageCodeMirror-B11pcXh7.js">
180
+ <link rel="modulepreload" crossorigin href="./assets/tooltip-CQeE9o7x.js">
181
+ <link rel="modulepreload" crossorigin href="./assets/ErrorBoundary-BfF3Lb5I.js">
182
+ <link rel="modulepreload" crossorigin href="./assets/useInstallPackage-CyTwCrsi.js">
183
+ <link rel="modulepreload" crossorigin href="./assets/ImperativeModal-l3NQQITL.js">
184
+ <link rel="modulepreload" crossorigin href="./assets/cell-link-CApHIAZF.js">
185
+ <link rel="modulepreload" crossorigin href="./assets/datasource-MEu_GjcC.js">
186
+ <link rel="modulepreload" crossorigin href="./assets/state-CsNC_7dZ.js">
187
+ <link rel="modulepreload" crossorigin href="./assets/MarimoErrorOutput-Bms-kX7B.js">
188
+ <link rel="modulepreload" crossorigin href="./assets/copy-icon-DNppAsmd.js">
189
+ <link rel="modulepreload" crossorigin href="./assets/html-to-image-D-FY7miL.js">
190
+ <link rel="modulepreload" crossorigin href="./assets/focus-j9zawi1p.js">
191
+ <link rel="modulepreload" crossorigin href="./assets/LazyAnyLanguageCodeMirror-BpSKccWW.js">
192
192
  <link rel="modulepreload" crossorigin href="./assets/chunk-5FQGJX7Z-Cyze_Wbx.js">
193
193
  <link rel="modulepreload" crossorigin href="./assets/katex-FSdXOW5Y.js">
194
- <link rel="modulepreload" crossorigin href="./assets/markdown-renderer-rEsmEgLk.js">
195
- <link rel="modulepreload" crossorigin href="./assets/command-CQd7U1fL.js">
196
- <link rel="modulepreload" crossorigin href="./assets/download-dbepOsRi.js">
197
- <link rel="modulepreload" crossorigin href="./assets/RenderHTML-pLlj26l9.js">
198
- <link rel="modulepreload" crossorigin href="./assets/useIframeCapabilities-5-CXF3BR.js">
199
- <link rel="modulepreload" crossorigin href="./assets/formats-CnvgO4Do.js">
194
+ <link rel="modulepreload" crossorigin href="./assets/markdown-renderer-D02U2W2X.js">
195
+ <link rel="modulepreload" crossorigin href="./assets/command-DLq1SsAO.js">
196
+ <link rel="modulepreload" crossorigin href="./assets/download-C06P9lnP.js">
197
+ <link rel="modulepreload" crossorigin href="./assets/RenderHTML-DpbhvZnj.js">
198
+ <link rel="modulepreload" crossorigin href="./assets/useIframeCapabilities-BhFmTPLk.js">
199
+ <link rel="modulepreload" crossorigin href="./assets/formats-CkafgGfe.js">
200
200
  <link rel="modulepreload" crossorigin href="./assets/en-US-k6sS5Nab.js">
201
201
  <link rel="modulepreload" crossorigin href="./assets/isValid-CUXKlcrM.js">
202
- <link rel="modulepreload" crossorigin href="./assets/dates-DbMtViXe.js">
203
- <link rel="modulepreload" crossorigin href="./assets/maps-BLIeOscV.js">
202
+ <link rel="modulepreload" crossorigin href="./assets/dates-BFWtdOCb.js">
203
+ <link rel="modulepreload" crossorigin href="./assets/maps-CTMzJkSk.js">
204
204
  <link rel="modulepreload" crossorigin href="./assets/extends-B9D0JO9U.js">
205
205
  <link rel="modulepreload" crossorigin href="./assets/emotion-is-prop-valid.esm-lG8j6oqk.js">
206
206
  <link rel="modulepreload" crossorigin href="./assets/useDateFormatter-DfEfyPT1.js">
207
207
  <link rel="modulepreload" crossorigin href="./assets/range-BGa3qZre.js">
208
208
  <link rel="modulepreload" crossorigin href="./assets/table-CeILsq6V.js">
209
- <link rel="modulepreload" crossorigin href="./assets/JsonOutput-CHgq3R6J.js">
210
- <link rel="modulepreload" crossorigin href="./assets/useDeleteCell--rxnx-v-.js">
209
+ <link rel="modulepreload" crossorigin href="./assets/JsonOutput-CGdzBqS1.js">
210
+ <link rel="modulepreload" crossorigin href="./assets/useDeleteCell-C1uMlYZu.js">
211
211
  <link rel="modulepreload" crossorigin href="./assets/icons-B9sHgc9n.js">
212
- <link rel="modulepreload" crossorigin href="./assets/process-output-CsBDUnVX.js">
212
+ <link rel="modulepreload" crossorigin href="./assets/process-output-BwkCApeo.js">
213
213
  <link rel="modulepreload" crossorigin href="./assets/blob-DgooIGjS.js">
214
214
  <link rel="modulepreload" crossorigin href="./assets/objectWithoutPropertiesLoose-CboCOq4o.js">
215
215
  <link rel="modulepreload" crossorigin href="./assets/esm-Hlfcqnf0.js">
216
216
  <link rel="modulepreload" crossorigin href="./assets/file-DVwc11C3.js">
217
217
  <link rel="modulepreload" crossorigin href="./assets/image-CBwHq93J.js">
218
218
  <link rel="modulepreload" crossorigin href="./assets/play-CkqWG85-.js">
219
- <link rel="modulepreload" crossorigin href="./assets/add-cell-with-ai-n1W-BSLf.js">
219
+ <link rel="modulepreload" crossorigin href="./assets/add-cell-with-ai-XG5BIwhn.js">
220
220
  <link rel="modulepreload" crossorigin href="./assets/isEmpty-9KlyX4nB.js">
221
221
  <link rel="modulepreload" crossorigin href="./assets/bot-message-square-BzawfL5p.js">
222
- <link rel="modulepreload" crossorigin href="./assets/chat-display-UjJ3dstS.js">
222
+ <link rel="modulepreload" crossorigin href="./assets/chat-display-DwFyJBVB.js">
223
223
  <link rel="modulepreload" crossorigin href="./assets/chart-no-axes-column-F2DZENgf.js">
224
224
  <link rel="modulepreload" crossorigin href="./assets/square-function-DEp1ozoA.js">
225
- <link rel="modulepreload" crossorigin href="./assets/spec-koLy2UDc.js">
225
+ <link rel="modulepreload" crossorigin href="./assets/spec-BQ0QuStT.js">
226
226
  <link rel="modulepreload" crossorigin href="./assets/ellipsis-vertical-CqcBoxmi.js">
227
- <link rel="modulepreload" crossorigin href="./assets/components-BnwE0U6X.js">
228
- <link rel="modulepreload" crossorigin href="./assets/column-preview-DusIZuR5.js">
229
- <link rel="modulepreload" crossorigin href="./assets/toggle-yITwWbFe.js">
230
- <link rel="modulepreload" crossorigin href="./assets/globals-B1fld-Rj.js">
231
- <link rel="modulepreload" crossorigin href="./assets/share-BCg8HRWb.js">
227
+ <link rel="modulepreload" crossorigin href="./assets/components-CwZhf0Ag.js">
228
+ <link rel="modulepreload" crossorigin href="./assets/column-preview-BTufLMhz.js">
229
+ <link rel="modulepreload" crossorigin href="./assets/toggle-BYx0fN9n.js">
230
+ <link rel="modulepreload" crossorigin href="./assets/globals-D2ulvntX.js">
231
+ <link rel="modulepreload" crossorigin href="./assets/share-BWMZuJWY.js">
232
232
  <link rel="modulepreload" crossorigin href="./assets/_baseSet-BEHvSeoM.js">
233
233
  <link rel="modulepreload" crossorigin href="./assets/react-resizable-panels.browser.esm-RgA6v8U3.js">
234
- <link rel="modulepreload" crossorigin href="./assets/context-aware-panel-4SL9IzEa.js">
235
- <link rel="modulepreload" crossorigin href="./assets/floating-outline-CJ9IGAYq.js">
236
- <link rel="modulepreload" crossorigin href="./assets/useAddCell-CHcSa2S1.js">
234
+ <link rel="modulepreload" crossorigin href="./assets/context-aware-panel-D7L-J6dq.js">
235
+ <link rel="modulepreload" crossorigin href="./assets/floating-outline-BPmtgKWs.js">
236
+ <link rel="modulepreload" crossorigin href="./assets/useAddCell-BdUpg_Ta.js">
237
237
  <link rel="modulepreload" crossorigin href="./assets/eye-off-DgTL09j7.js">
238
- <link rel="modulepreload" crossorigin href="./assets/readonly-python-code-B6oaMq65.js">
238
+ <link rel="modulepreload" crossorigin href="./assets/readonly-python-code-BFyASvPB.js">
239
239
  <link rel="modulepreload" crossorigin href="./assets/file-headphone-daOQzJg0.js">
240
- <link rel="modulepreload" crossorigin href="./assets/file-icons-DN9ij4Wl.js">
240
+ <link rel="modulepreload" crossorigin href="./assets/file-icons-C-oatBuk.js">
241
241
  <link rel="modulepreload" crossorigin href="./assets/refresh-ccw-B3lGEyQm.js">
242
- <link rel="modulepreload" crossorigin href="./assets/form-C0LTsPPL.js">
243
- <link rel="modulepreload" crossorigin href="./assets/field-D3rHE7aa.js">
244
- <link rel="modulepreload" crossorigin href="./assets/useBoolean-BkvPje4S.js">
242
+ <link rel="modulepreload" crossorigin href="./assets/form-KYhtvrIF.js">
243
+ <link rel="modulepreload" crossorigin href="./assets/field-jeUVnXuU.js">
244
+ <link rel="modulepreload" crossorigin href="./assets/useBoolean-NLsvxjyM.js">
245
245
  <link rel="modulepreload" crossorigin href="./assets/useDeepCompareMemoize-D1hTncYV.js">
246
246
  <link rel="modulepreload" crossorigin href="./assets/types-CswNghXe.js">
247
247
  <link rel="modulepreload" crossorigin href="./assets/prop-types-C638SUfx.js">
248
- <link rel="modulepreload" crossorigin href="./assets/es-DgeOOQmd.js">
248
+ <link rel="modulepreload" crossorigin href="./assets/es-EPBuIa5m.js">
249
249
  <link rel="modulepreload" crossorigin href="./assets/hasIn-Dzwrcr75.js">
250
250
  <link rel="modulepreload" crossorigin href="./assets/_baseFlatten-C_qcB35v.js">
251
251
  <link rel="modulepreload" crossorigin href="./assets/_basePickBy-36rMhJTw.js">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marimo-team/frontend",
3
- "version": "0.20.5-dev23",
3
+ "version": "0.20.5-dev25",
4
4
  "main": "dist/main.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",
@@ -27,6 +27,7 @@ export interface ActionButton {
27
27
  handleHeadless?: (event?: Event) => void;
28
28
  divider?: boolean;
29
29
  dropdown?: ActionButton[];
30
+ additionalKeywords?: string[];
30
31
  }
31
32
 
32
33
  export function isParentAction(
@@ -51,6 +52,10 @@ export function flattenActions(
51
52
  if (isParentAction(action)) {
52
53
  return flattenActions(action.dropdown, `${prevLabel + action.label} > `);
53
54
  }
54
- return { ...action, label: prevLabel + action.label };
55
+ return {
56
+ ...action,
57
+ label: prevLabel + action.label,
58
+ additionalKeywords: action.additionalKeywords,
59
+ };
55
60
  });
56
61
  }
@@ -379,17 +379,20 @@ export function useNotebookActions() {
379
379
  label: "Helper panel",
380
380
  redundant: true,
381
381
  handle: NOOP_HANDLER,
382
- dropdown: PANELS.flatMap(({ type: id, Icon, hidden }) => {
383
- if (hidden) {
384
- return [];
385
- }
386
- return {
387
- label: startCase(id),
388
- rightElement: renderCheckboxElement(selectedPanel === id),
389
- icon: <Icon size={14} strokeWidth={1.5} />,
390
- handle: () => toggleApplication(id),
391
- };
392
- }),
382
+ dropdown: PANELS.flatMap(
383
+ ({ type: id, Icon, hidden, additionalKeywords }) => {
384
+ if (hidden) {
385
+ return [];
386
+ }
387
+ return {
388
+ label: startCase(id),
389
+ rightElement: renderCheckboxElement(selectedPanel === id),
390
+ icon: <Icon size={14} strokeWidth={1.5} />,
391
+ handle: () => toggleApplication(id),
392
+ additionalKeywords,
393
+ };
394
+ },
395
+ ),
393
396
  },
394
397
 
395
398
  {
@@ -510,6 +513,7 @@ export function useNotebookActions() {
510
513
  label: "Restart kernel",
511
514
  variant: "danger",
512
515
  handle: restartKernel,
516
+ additionalKeywords: ["reset", "reload", "restart"],
513
517
  },
514
518
  {
515
519
  icon: <FastForwardIcon size={14} strokeWidth={1.5} />,
@@ -567,6 +571,7 @@ export function useNotebookActions() {
567
571
  label: "User settings",
568
572
  handle: () => setSettingsDialogOpen((open) => !open),
569
573
  redundant: true,
574
+ additionalKeywords: ["preferences", "options", "configuration"],
570
575
  },
571
576
  {
572
577
  icon: <ExternalLinkIcon size={14} strokeWidth={1.5} />,
@@ -59,6 +59,8 @@ export interface PanelDescriptor {
59
59
  defaultSection: PanelSection;
60
60
  /** Capability required for this panel to be visible. If the capability is false, the panel is hidden. */
61
61
  requiredCapability?: keyof Capabilities;
62
+ /** Additional search keywords for the command palette */
63
+ additionalKeywords?: string[];
62
64
  }
63
65
 
64
66
  /**
@@ -73,6 +75,7 @@ export const PANELS: PanelDescriptor[] = [
73
75
  label: "Files",
74
76
  tooltip: "View files",
75
77
  defaultSection: "sidebar",
78
+ additionalKeywords: ["explorer", "browser", "directory"],
76
79
  },
77
80
  {
78
81
  type: "variables",
@@ -80,6 +83,7 @@ export const PANELS: PanelDescriptor[] = [
80
83
  label: "Variables",
81
84
  tooltip: "Explore variables and data sources",
82
85
  defaultSection: "sidebar",
86
+ additionalKeywords: ["state", "scope", "inspector"],
83
87
  },
84
88
  {
85
89
  type: "packages",
@@ -87,6 +91,7 @@ export const PANELS: PanelDescriptor[] = [
87
91
  label: "Packages",
88
92
  tooltip: "Manage packages",
89
93
  defaultSection: "sidebar",
94
+ additionalKeywords: ["dependencies", "pip", "install"],
90
95
  },
91
96
  {
92
97
  type: "ai",
@@ -94,6 +99,7 @@ export const PANELS: PanelDescriptor[] = [
94
99
  label: "AI",
95
100
  tooltip: "Chat & Agents",
96
101
  defaultSection: "sidebar",
102
+ additionalKeywords: ["chat", "copilot", "assistant"],
97
103
  },
98
104
  {
99
105
  type: "outline",
@@ -101,6 +107,7 @@ export const PANELS: PanelDescriptor[] = [
101
107
  label: "Outline",
102
108
  tooltip: "View outline",
103
109
  defaultSection: "sidebar",
110
+ additionalKeywords: ["toc", "structure", "headings"],
104
111
  },
105
112
  {
106
113
  type: "documentation",
@@ -108,6 +115,7 @@ export const PANELS: PanelDescriptor[] = [
108
115
  label: "Docs",
109
116
  tooltip: "View live docs",
110
117
  defaultSection: "sidebar",
118
+ additionalKeywords: ["reference", "api"],
111
119
  },
112
120
  {
113
121
  type: "dependencies",
@@ -115,6 +123,7 @@ export const PANELS: PanelDescriptor[] = [
115
123
  label: "Dependencies",
116
124
  tooltip: "Explore dependencies",
117
125
  defaultSection: "sidebar",
126
+ additionalKeywords: ["graph", "imports"],
118
127
  },
119
128
  // Developer panel defaults
120
129
  {
@@ -123,6 +132,7 @@ export const PANELS: PanelDescriptor[] = [
123
132
  label: "Errors",
124
133
  tooltip: "View errors",
125
134
  defaultSection: "developer-panel",
135
+ additionalKeywords: ["exceptions", "problems", "diagnostics"],
126
136
  },
127
137
  {
128
138
  type: "scratchpad",
@@ -130,6 +140,7 @@ export const PANELS: PanelDescriptor[] = [
130
140
  label: "Scratchpad",
131
141
  tooltip: "Scratchpad",
132
142
  defaultSection: "developer-panel",
143
+ additionalKeywords: ["scratch", "draft", "playground"],
133
144
  },
134
145
  {
135
146
  type: "tracing",
@@ -137,6 +148,7 @@ export const PANELS: PanelDescriptor[] = [
137
148
  label: "Tracing",
138
149
  tooltip: "View tracing",
139
150
  defaultSection: "developer-panel",
151
+ additionalKeywords: ["profiling", "performance"],
140
152
  },
141
153
  {
142
154
  type: "secrets",
@@ -145,6 +157,7 @@ export const PANELS: PanelDescriptor[] = [
145
157
  tooltip: "Manage secrets",
146
158
  defaultSection: "developer-panel",
147
159
  hidden: isWasm(),
160
+ additionalKeywords: ["env", "environment", "keys", "credentials"],
148
161
  },
149
162
  {
150
163
  type: "logs",
@@ -152,6 +165,7 @@ export const PANELS: PanelDescriptor[] = [
152
165
  label: "Logs",
153
166
  tooltip: "View logs",
154
167
  defaultSection: "developer-panel",
168
+ additionalKeywords: ["console", "stdout"],
155
169
  },
156
170
  {
157
171
  type: "terminal",
@@ -161,6 +175,7 @@ export const PANELS: PanelDescriptor[] = [
161
175
  hidden: isWasm(),
162
176
  defaultSection: "developer-panel",
163
177
  requiredCapability: "terminal",
178
+ additionalKeywords: ["shell", "console", "bash", "command"],
164
179
  },
165
180
  {
166
181
  type: "snippets",
@@ -168,6 +183,7 @@ export const PANELS: PanelDescriptor[] = [
168
183
  label: "Snippets",
169
184
  tooltip: "Snippets",
170
185
  defaultSection: "developer-panel",
186
+ additionalKeywords: ["templates", "examples"],
171
187
  },
172
188
  {
173
189
  type: "cache",
@@ -176,6 +192,7 @@ export const PANELS: PanelDescriptor[] = [
176
192
  tooltip: "View cache",
177
193
  defaultSection: "developer-panel",
178
194
  hidden: !getFeatureFlag("cache_panel"),
195
+ additionalKeywords: ["memory", "memoize"],
179
196
  },
180
197
  ];
181
198
 
@@ -78,6 +78,7 @@ const CommandPalette = () => {
78
78
  return (
79
79
  <CommandItem
80
80
  disabled={props.disabled}
81
+ keywords={hotkey.additionalKeywords}
81
82
  onSelect={() => {
82
83
  addRecentCommand(shortcut);
83
84
  // Close first and then run the action, so the dialog doesn't steal focus
@@ -105,15 +106,18 @@ const CommandPalette = () => {
105
106
  handle,
106
107
  props = {},
107
108
  hotkey,
109
+ additionalKeywords,
108
110
  }: {
109
111
  label: string;
110
112
  handle: () => void;
111
113
  props?: { disabled?: boolean; tooltip?: React.ReactNode };
112
114
  hotkey?: HotkeyAction;
115
+ additionalKeywords?: string[];
113
116
  }) => {
114
117
  return (
115
118
  <CommandItem
116
119
  disabled={props.disabled}
120
+ keywords={additionalKeywords}
117
121
  onSelect={() => {
118
122
  addRecentCommand(label);
119
123
  setOpen(false);
@@ -163,6 +167,7 @@ const CommandPalette = () => {
163
167
  disabled: action.disabled,
164
168
  tooltip: action.tooltip,
165
169
  },
170
+ additionalKeywords: action.additionalKeywords,
166
171
  });
167
172
  }
168
173
  return null;
@@ -190,6 +195,7 @@ const CommandPalette = () => {
190
195
  label: action.label,
191
196
  handle: action.handleHeadless || action.handle,
192
197
  props: { disabled: action.disabled, tooltip: action.tooltip },
198
+ additionalKeywords: action.additionalKeywords,
193
199
  });
194
200
  })}
195
201
  {cellActions.map((action) => {
@@ -200,6 +206,7 @@ const CommandPalette = () => {
200
206
  label: `Cell > ${action.label}`,
201
207
  handle: action.handleHeadless || action.handle,
202
208
  props: { disabled: action.disabled, tooltip: action.tooltip },
209
+ additionalKeywords: action.additionalKeywords,
203
210
  });
204
211
  })}
205
212
  </CommandGroup>
@@ -7,6 +7,7 @@ import { Search } from "lucide-react";
7
7
  import * as React from "react";
8
8
  import { Dialog, DialogContent } from "@/components/ui/dialog";
9
9
  import { cn } from "@/utils/cn";
10
+ import { smartMatchFilter } from "@/utils/smartMatch";
10
11
  import { Strings } from "@/utils/strings";
11
12
  import {
12
13
  MENU_ITEM_DISABLED,
@@ -21,6 +22,7 @@ const Command = React.forwardRef<
21
22
  >(({ className, ...props }, ref) => (
22
23
  <CommandPrimitive
23
24
  ref={ref}
25
+ filter={smartMatchFilter}
24
26
  className={cn(
25
27
  "flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",
26
28
  className,
@@ -27,11 +27,13 @@ export interface Hotkey {
27
27
  * @default true
28
28
  */
29
29
  editable?: boolean;
30
+ additionalKeywords?: string[];
30
31
  }
31
32
 
32
33
  interface ResolvedHotkey {
33
34
  name: string;
34
35
  key: string;
36
+ additionalKeywords?: string[];
35
37
  }
36
38
 
37
39
  type ModKey = "Cmd" | "Ctrl";
@@ -110,6 +112,7 @@ const DEFAULT_HOT_KEY = {
110
112
  name: "Run",
111
113
  group: "Running Cells",
112
114
  key: "Mod-Enter",
115
+ additionalKeywords: ["execute", "submit"],
113
116
  },
114
117
  "cell.runAndNewBelow": {
115
118
  name: "Run and new below",
@@ -132,6 +135,7 @@ const DEFAULT_HOT_KEY = {
132
135
  name: "Format cell",
133
136
  group: "Editing",
134
137
  key: "Mod-b",
138
+ additionalKeywords: ["lint"],
135
139
  },
136
140
  "cell.viewAsMarkdown": {
137
141
  name: "View as Markdown",
@@ -201,6 +205,7 @@ const DEFAULT_HOT_KEY = {
201
205
  name: "Delete cell",
202
206
  group: "Editing",
203
207
  key: "Shift-Backspace",
208
+ additionalKeywords: ["remove"],
204
209
  },
205
210
  "cell.hideCode": {
206
211
  name: "Hide cell code",
@@ -320,6 +325,7 @@ const DEFAULT_HOT_KEY = {
320
325
  name: "Save file",
321
326
  group: "Other",
322
327
  key: "Mod-s",
328
+ additionalKeywords: ["write", "persist"],
323
329
  },
324
330
  "global.commandPalette": {
325
331
  name: "Show command palette",
@@ -485,23 +491,26 @@ export class HotkeyProvider implements IHotkeyProvider {
485
491
  }
486
492
 
487
493
  getHotkey(action: HotkeyAction): ResolvedHotkey {
488
- const { name, key } = this.hotkeys[action];
494
+ const { name, key, additionalKeywords } = this.hotkeys[action];
489
495
  if (typeof key === "string") {
490
496
  return {
491
497
  name,
492
498
  key: key.replace("Mod", this.mod),
499
+ additionalKeywords,
493
500
  };
494
501
  }
495
502
  if (key === NOT_SET) {
496
503
  return {
497
504
  name,
498
505
  key: "",
506
+ additionalKeywords,
499
507
  };
500
508
  }
501
509
  const platformKey = key[this.platform] || key.main;
502
510
  return {
503
511
  name,
504
512
  key: platformKey.replace("Mod", this.mod),
513
+ additionalKeywords,
505
514
  };
506
515
  }
507
516
 
@@ -539,6 +548,7 @@ export class OverridingHotkeyProvider extends HotkeyProvider {
539
548
  return {
540
549
  name: base.name,
541
550
  key: override ? normalizeKeyString(override) : base.key,
551
+ additionalKeywords: base.additionalKeywords,
542
552
  };
543
553
  }
544
554
  }