termcast 1.3.53 → 1.4.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 (196) hide show
  1. package/dist/action-utils.d.ts.map +1 -1
  2. package/dist/action-utils.js +17 -132
  3. package/dist/action-utils.js.map +1 -1
  4. package/dist/apis/cache.d.ts +8 -30
  5. package/dist/apis/cache.d.ts.map +1 -1
  6. package/dist/apis/cache.js +9 -271
  7. package/dist/apis/cache.js.map +1 -1
  8. package/dist/apis/clipboard.d.ts +4 -2
  9. package/dist/apis/clipboard.d.ts.map +1 -1
  10. package/dist/apis/clipboard.js +18 -31
  11. package/dist/apis/clipboard.js.map +1 -1
  12. package/dist/apis/environment.d.ts.map +1 -1
  13. package/dist/apis/environment.js +14 -49
  14. package/dist/apis/environment.js.map +1 -1
  15. package/dist/apis/localstorage.d.ts +7 -12
  16. package/dist/apis/localstorage.d.ts.map +1 -1
  17. package/dist/apis/localstorage.js +7 -184
  18. package/dist/apis/localstorage.js.map +1 -1
  19. package/dist/app.d.ts.map +1 -1
  20. package/dist/app.js +46 -20
  21. package/dist/app.js.map +1 -1
  22. package/dist/cli.js +7 -6
  23. package/dist/cli.js.map +1 -1
  24. package/dist/components/actions.d.ts.map +1 -1
  25. package/dist/components/actions.js +13 -2
  26. package/dist/components/actions.js.map +1 -1
  27. package/dist/components/candle-chart.d.ts +110 -0
  28. package/dist/components/candle-chart.d.ts.map +1 -0
  29. package/dist/components/candle-chart.js +295 -0
  30. package/dist/components/candle-chart.js.map +1 -0
  31. package/dist/components/extension-preferences.d.ts.map +1 -1
  32. package/dist/components/extension-preferences.js +7 -8
  33. package/dist/components/extension-preferences.js.map +1 -1
  34. package/dist/components/form/file-autocomplete.js +2 -2
  35. package/dist/components/form/file-autocomplete.js.map +1 -1
  36. package/dist/components/list.d.ts.map +1 -1
  37. package/dist/components/list.js +242 -14
  38. package/dist/components/list.js.map +1 -1
  39. package/dist/components/table.d.ts +2 -0
  40. package/dist/components/table.d.ts.map +1 -1
  41. package/dist/components/table.js +41 -4
  42. package/dist/components/table.js.map +1 -1
  43. package/dist/e2e-node.d.ts.map +1 -1
  44. package/dist/e2e-node.js +5 -4
  45. package/dist/e2e-node.js.map +1 -1
  46. package/dist/examples/simple-candle-chart-data.d.ts +9064 -0
  47. package/dist/examples/simple-candle-chart-data.d.ts.map +1 -0
  48. package/dist/examples/simple-candle-chart-data.js +12683 -0
  49. package/dist/examples/simple-candle-chart-data.js.map +1 -0
  50. package/dist/examples/simple-candle-chart.d.ts +2 -0
  51. package/dist/examples/simple-candle-chart.d.ts.map +1 -0
  52. package/dist/examples/simple-candle-chart.js +125 -0
  53. package/dist/examples/simple-candle-chart.js.map +1 -0
  54. package/dist/extensions/dev.d.ts.map +1 -1
  55. package/dist/extensions/dev.js +5 -2
  56. package/dist/extensions/dev.js.map +1 -1
  57. package/dist/globals.d.ts.map +1 -1
  58. package/dist/globals.js +2 -1
  59. package/dist/globals.js.map +1 -1
  60. package/dist/index.d.ts +2 -0
  61. package/dist/index.d.ts.map +1 -1
  62. package/dist/index.js +2 -0
  63. package/dist/index.js.map +1 -1
  64. package/dist/internal/error-handler.d.ts.map +1 -1
  65. package/dist/internal/error-handler.js +21 -19
  66. package/dist/internal/error-handler.js.map +1 -1
  67. package/dist/internal/providers.d.ts.map +1 -1
  68. package/dist/internal/providers.js +41 -1
  69. package/dist/internal/providers.js.map +1 -1
  70. package/dist/logger.d.ts.map +1 -1
  71. package/dist/logger.js +31 -29
  72. package/dist/logger.js.map +1 -1
  73. package/dist/platform/browser/cache.d.ts +41 -0
  74. package/dist/platform/browser/cache.d.ts.map +1 -0
  75. package/dist/platform/browser/cache.js +262 -0
  76. package/dist/platform/browser/cache.js.map +1 -0
  77. package/dist/platform/browser/localstorage.d.ts +20 -0
  78. package/dist/platform/browser/localstorage.d.ts.map +1 -0
  79. package/dist/platform/browser/localstorage.js +102 -0
  80. package/dist/platform/browser/localstorage.js.map +1 -0
  81. package/dist/platform/browser/runtime.d.ts +51 -0
  82. package/dist/platform/browser/runtime.d.ts.map +1 -0
  83. package/dist/platform/browser/runtime.js +164 -0
  84. package/dist/platform/browser/runtime.js.map +1 -0
  85. package/dist/platform/bun/sqlite.d.ts +17 -0
  86. package/dist/platform/bun/sqlite.d.ts.map +1 -0
  87. package/dist/platform/bun/sqlite.js +6 -0
  88. package/dist/platform/bun/sqlite.js.map +1 -0
  89. package/dist/platform/node/cache.d.ts +35 -0
  90. package/dist/platform/node/cache.d.ts.map +1 -0
  91. package/dist/platform/node/cache.js +269 -0
  92. package/dist/platform/node/cache.js.map +1 -0
  93. package/dist/platform/node/localstorage.d.ts +17 -0
  94. package/dist/platform/node/localstorage.d.ts.map +1 -0
  95. package/dist/platform/node/localstorage.js +186 -0
  96. package/dist/platform/node/localstorage.js.map +1 -0
  97. package/dist/platform/node/runtime.d.ts +52 -0
  98. package/dist/platform/node/runtime.d.ts.map +1 -0
  99. package/dist/platform/node/runtime.js +230 -0
  100. package/dist/platform/node/runtime.js.map +1 -0
  101. package/dist/platform/node/sqlite.d.ts +27 -0
  102. package/dist/platform/node/sqlite.d.ts.map +1 -0
  103. package/dist/platform/node/sqlite.js +21 -0
  104. package/dist/platform/node/sqlite.js.map +1 -0
  105. package/dist/state.d.ts +5 -0
  106. package/dist/state.d.ts.map +1 -1
  107. package/dist/state.js +6 -28
  108. package/dist/state.js.map +1 -1
  109. package/dist/utils/file-system.d.ts.map +1 -1
  110. package/dist/utils/file-system.js +17 -22
  111. package/dist/utils/file-system.js.map +1 -1
  112. package/dist/utils.d.ts +1 -1
  113. package/dist/utils.d.ts.map +1 -1
  114. package/dist/utils.js +42 -47
  115. package/dist/utils.js.map +1 -1
  116. package/dist/vim-mode.d.ts +40 -0
  117. package/dist/vim-mode.d.ts.map +1 -0
  118. package/dist/vim-mode.js +135 -0
  119. package/dist/vim-mode.js.map +1 -0
  120. package/fonts/Inconsolata.otf +0 -0
  121. package/fonts/SIL Open Font License.txt +41 -0
  122. package/package.json +60 -8
  123. package/src/action-utils.tsx +27 -124
  124. package/src/apis/cache.test.ts +1 -1
  125. package/src/apis/cache.tsx +9 -373
  126. package/src/apis/clipboard.tsx +29 -38
  127. package/src/apis/environment.tsx +25 -52
  128. package/src/apis/localstorage.tsx +8 -214
  129. package/src/app.tsx +51 -20
  130. package/src/cli.tsx +14 -15
  131. package/src/compile.vitest.tsx +2 -2
  132. package/src/components/actions.tsx +19 -1
  133. package/src/components/candle-chart.tsx +410 -0
  134. package/src/components/extension-preferences.tsx +7 -8
  135. package/src/components/form/file-autocomplete.tsx +2 -2
  136. package/src/components/list.tsx +279 -14
  137. package/src/components/table.tsx +46 -4
  138. package/src/e2e-node.tsx +7 -7
  139. package/src/examples/action-shortcut.vitest.tsx +2 -2
  140. package/src/examples/actions-context.vitest.tsx +1 -1
  141. package/src/examples/bar-graph-weekly.vitest.tsx +10 -36
  142. package/src/examples/detail-metadata-showcase.vitest.tsx +36 -36
  143. package/src/examples/form-basic.vitest.tsx +21 -17
  144. package/src/examples/github.vitest.tsx +4 -4
  145. package/src/examples/graph-bar-chart.vitest.tsx +13 -11
  146. package/src/examples/graph-polymarket.vitest.tsx +2 -2
  147. package/src/examples/graph-row.vitest.tsx +66 -66
  148. package/src/examples/graph-styles.vitest.tsx +12 -12
  149. package/src/examples/internal/simple-scrollbox.vitest.tsx +14 -48
  150. package/src/examples/list-detail-metadata.vitest.tsx +5 -5
  151. package/src/examples/list-fetch-data.vitest.tsx +3 -3
  152. package/src/examples/list-item-accessories.vitest.tsx +2 -2
  153. package/src/examples/list-loading-empty-view.vitest.tsx +1 -1
  154. package/src/examples/list-no-actions.vitest.tsx +2 -2
  155. package/src/examples/list-scrollbox.vitest.tsx +5 -5
  156. package/src/examples/list-spacing-mode.vitest.tsx +3 -3
  157. package/src/examples/list-with-detail.vitest.tsx +68 -68
  158. package/src/examples/list-with-dropdown.vitest.tsx +5 -5
  159. package/src/examples/list-with-sections.vitest.tsx +27 -27
  160. package/src/examples/simple-candle-chart-data.ts +12683 -0
  161. package/src/examples/simple-candle-chart.tsx +363 -0
  162. package/src/examples/simple-candle-chart.vitest.tsx +269 -0
  163. package/src/examples/simple-detail-markdown.vitest.tsx +8 -8
  164. package/src/examples/simple-detail-table.vitest.tsx +10 -10
  165. package/src/examples/simple-graph.vitest.tsx +3 -3
  166. package/src/examples/simple-grid.vitest.tsx +14 -14
  167. package/src/examples/simple-heatmap.vitest.tsx +1 -1
  168. package/src/examples/simple-navigation.vitest.tsx +17 -17
  169. package/src/examples/simple-progress-bar.vitest.tsx +1 -1
  170. package/src/examples/simple-table-wrap.vitest.tsx +19 -19
  171. package/src/examples/store.vitest.tsx +1 -1
  172. package/src/examples/swift-extension.vitest.tsx +2 -2
  173. package/src/examples/table-edge-cases.vitest.tsx +18 -18
  174. package/src/examples/table-flex-grow.vitest.tsx +8 -8
  175. package/src/examples/toast-action.vitest.tsx +2 -2
  176. package/src/extensions/dev.tsx +5 -2
  177. package/src/extensions/dev.vitest.tsx +3 -3
  178. package/src/globals.ts +2 -1
  179. package/src/index.tsx +7 -0
  180. package/src/internal/error-handler.tsx +19 -21
  181. package/src/internal/providers.tsx +39 -0
  182. package/src/logger.tsx +38 -41
  183. package/src/platform/browser/cache.ts +327 -0
  184. package/src/platform/browser/localstorage.ts +119 -0
  185. package/src/platform/browser/runtime.ts +209 -0
  186. package/src/platform/bun/sqlite.ts +19 -0
  187. package/src/platform/node/cache.ts +372 -0
  188. package/src/platform/node/localstorage.ts +214 -0
  189. package/src/platform/node/runtime.ts +264 -0
  190. package/src/platform/node/sqlite.ts +43 -0
  191. package/src/state.tsx +17 -28
  192. package/src/utils/file-system.ts +17 -22
  193. package/src/utils.test.tsx +1 -1
  194. package/src/utils.tsx +56 -47
  195. package/src/vim-mode.tsx +153 -0
  196. package/src/apis/sqlite.ts +0 -14
@@ -1 +1 @@
1
- {"version":3,"file":"file-autocomplete.js","sourceRoot":"","sources":["../../../src/components/form/file-autocomplete.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-autocomplete.js","sourceRoot":"","sources":["../../../src/components/form/file-autocomplete.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/components/list.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/components/list.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@opentui/react/jsx-runtime";
1
+ import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "@opentui/react/jsx-runtime";
2
2
  import { MouseButton, TextAttributes, } from '@opentui/core';
3
3
  import { useKeyboard, flushSync } from '@opentui/react';
4
4
  import React, { createContext, useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
@@ -18,6 +18,8 @@ import { getIconEmoji, getIconValue } from 'termcast/src/components/icon';
18
18
  import { ActionPanel, matchesShortcut } from 'termcast/src/components/actions';
19
19
  import { getInteractiveHoverBackground, useTheme } from 'termcast/src/theme';
20
20
  import { Markdown } from 'termcast/src/components/markdown';
21
+ import { getMatchingCommands, executeVimCommand } from 'termcast/src/vim-mode';
22
+ import { ThemePicker } from 'termcast/src/components/theme-picker';
21
23
  export { Color };
22
24
  function formatRelativeDate(date) {
23
25
  const now = new Date();
@@ -55,6 +57,9 @@ function ListFooter() {
55
57
  const dropdownFooterLabel = useStore((s) => s.dropdownFooterLabel);
56
58
  const dropdownTooltip = useStore((s) => s.dropdownTooltip);
57
59
  const hasToast = useStore((s) => s.toast !== null);
60
+ const inputMode = useStore((s) => s.inputMode);
61
+ const vimInputSubMode = useStore((s) => s.vimInputSubMode);
62
+ const vimCommandText = useStore((s) => s.vimCommandText);
58
63
  const listContext = useContext(ListContext);
59
64
  const isShowingDetail = listContext?.isShowingDetail ?? false;
60
65
  const hasDropdown = listContext?.hasDropdown ?? false;
@@ -64,11 +69,19 @@ function ListFooter() {
64
69
  listContext?.openDropdown();
65
70
  }
66
71
  };
72
+ // When in command mode, show the command input in the footer
73
+ if (vimInputSubMode === 'command' && !hasToast) {
74
+ const matchingCommands = getMatchingCommands(vimCommandText);
75
+ return (_jsx(Footer, { hidePoweredBy: isShowingDetail, children: _jsxs("box", { style: { flexDirection: 'row', gap: 2, flexShrink: 0, flexGrow: 1 }, children: [_jsxs("text", { flexShrink: 0, fg: theme.text, children: [":", vimCommandText] }), _jsx("text", { flexShrink: 0, fg: theme.textMuted, children: matchingCommands.map((cmd) => cmd.name).join(' · ') })] }) }));
76
+ }
77
+ const isVim = inputMode === 'vim';
67
78
  const content = hasToast ? null : (_jsxs("box", { style: { flexDirection: 'row', gap: 3, flexShrink: 0 }, children: [firstActionTitle && (_jsxs(Hoverable, { onMouseDown: () => {
68
79
  useStore.setState({ shouldAutoExecuteFirstAction: true });
69
- }, children: [_jsx("text", { flexShrink: 0, fg: theme.text, attributes: TextAttributes.BOLD, children: "\u21B5" }), _jsx("text", { flexShrink: 0, fg: theme.textMuted, children: firstActionTitle.toLowerCase() })] })), _jsxs("box", { style: { flexDirection: 'row', gap: 1, flexShrink: 0 }, children: [_jsx("text", { flexShrink: 0, fg: theme.text, attributes: TextAttributes.BOLD, children: "\u2191\u2193" }), _jsx("text", { flexShrink: 0, fg: theme.textMuted, children: "navigate" })] }), _jsxs(Hoverable, { onMouseDown: () => {
80
+ }, children: [_jsx("text", { flexShrink: 0, fg: theme.text, attributes: TextAttributes.BOLD, children: "\u21B5" }), _jsx("text", { flexShrink: 0, fg: theme.textMuted, children: firstActionTitle.toLowerCase() })] })), _jsxs("box", { style: { flexDirection: 'row', gap: 1, flexShrink: 0 }, children: [_jsx("text", { flexShrink: 0, fg: theme.text, attributes: TextAttributes.BOLD, children: isVim ? 'j/k' : '↑↓' }), _jsx("text", { flexShrink: 0, fg: theme.textMuted, children: "navigate" })] }), isVim && (_jsxs("box", { style: { flexDirection: 'row', gap: 1, flexShrink: 0 }, children: [_jsx("text", { flexShrink: 0, fg: theme.text, attributes: TextAttributes.BOLD, children: "/" }), _jsx("text", { flexShrink: 0, fg: theme.textMuted, children: "search" })] })), _jsxs(Hoverable, { onMouseDown: () => {
70
81
  useStore.setState({ showActionsDialog: true });
71
- }, children: [_jsx("text", { flexShrink: 0, fg: theme.text, attributes: TextAttributes.BOLD, children: "^k" }), _jsx("text", { flexShrink: 0, fg: theme.textMuted, children: "actions" })] }), hasDropdown && (_jsxs(Hoverable, { onMouseDown: openDropdownIfClosed, children: [_jsx("text", { flexShrink: 0, fg: theme.text, attributes: TextAttributes.BOLD, children: "^p" }), _jsx("text", { flexShrink: 0, fg: theme.textMuted, children: (dropdownTooltip || dropdownFooterLabel || 'dropdown').toLowerCase() })] }))] }));
82
+ }, children: [_jsx("text", { flexShrink: 0, fg: theme.text, attributes: TextAttributes.BOLD, children: "^k" }), _jsx("text", { flexShrink: 0, fg: theme.textMuted, children: "actions" })] }), hasDropdown && (_jsxs(Hoverable, { onMouseDown: openDropdownIfClosed, children: [_jsx("text", { flexShrink: 0, fg: theme.text, attributes: TextAttributes.BOLD, children: "^p" }), _jsx("text", { flexShrink: 0, fg: theme.textMuted, children: (dropdownTooltip || dropdownFooterLabel || 'dropdown').toLowerCase() })] })), !isVim && (_jsx(Hoverable, { onMouseDown: () => {
83
+ executeVimCommand('vim');
84
+ }, children: _jsx("text", { flexShrink: 0, fg: theme.textMuted, children: ":vim" }) }))] }));
72
85
  return _jsx(Footer, { hidePoweredBy: isShowingDetail, children: content });
73
86
  }
74
87
  /**
@@ -647,16 +660,224 @@ export const List = (props) => {
647
660
  };
648
661
  const inFocus = useIsInFocus();
649
662
  const dialog = useDialog();
663
+ const inputMode = useStore((s) => s.inputMode);
664
+ const vimInputSubMode = useStore((s) => s.vimInputSubMode);
665
+ // Textarea is focused when:
666
+ // - raycast mode default (always focused for type-to-search)
667
+ // - vim mode search (user pressed /)
668
+ // - NOT in command mode (command input lives in footer, not textarea)
669
+ const searchBarFocused = vimInputSubMode !== 'command' && (inputMode === 'raycast' || vimInputSubMode === 'search');
670
+ // Timestamp-based gg sequence detection in vim mode.
671
+ // If two 'g' presses happen within 500ms, jump to first item.
672
+ // Using timestamps instead of setTimeout avoids cleanup on unmount.
673
+ const lastGPressedAtRef = useRef(0);
674
+ // Helper: jump to first visible item
675
+ const moveToFirst = () => {
676
+ const items = Object.values(descendantsContext.map.current)
677
+ .filter((item) => item.index !== -1 && item.props?.visible !== false)
678
+ .sort((a, b) => a.index - b.index);
679
+ if (items[0]) {
680
+ flushSync(() => {
681
+ setSelectedIndex(items[0].index);
682
+ });
683
+ persistSelectedIndexInCurrentNavigationItem(items[0].index);
684
+ scrollToItemIfNeeded({ item: items[0], direction: -1 });
685
+ }
686
+ };
687
+ // Helper: jump to last visible item
688
+ const moveToLast = () => {
689
+ const items = Object.values(descendantsContext.map.current)
690
+ .filter((item) => item.index !== -1 && item.props?.visible !== false)
691
+ .sort((a, b) => a.index - b.index);
692
+ const lastItem = items[items.length - 1];
693
+ if (lastItem) {
694
+ flushSync(() => {
695
+ setSelectedIndex(lastItem.index);
696
+ });
697
+ persistSelectedIndexInCurrentNavigationItem(lastItem.index);
698
+ scrollToItemIfNeeded({ item: lastItem, direction: 1 });
699
+ }
700
+ };
701
+ // Helper: move by N items (for half-page jumps)
702
+ const moveByN = (n) => {
703
+ const items = Object.values(descendantsContext.map.current)
704
+ .filter((item) => item.index !== -1 && item.props?.visible !== false)
705
+ .sort((a, b) => a.index - b.index);
706
+ if (items.length === 0)
707
+ return;
708
+ const currentVisibleIndex = items.findIndex((item) => item.index === selectedIndex);
709
+ if (currentVisibleIndex === -1)
710
+ return;
711
+ const nextVisibleIndex = Math.max(0, Math.min(items.length - 1, currentVisibleIndex + n));
712
+ const nextItem = items[nextVisibleIndex];
713
+ if (nextItem) {
714
+ flushSync(() => {
715
+ setSelectedIndex(nextItem.index);
716
+ });
717
+ persistSelectedIndexInCurrentNavigationItem(nextItem.index);
718
+ scrollToItemIfNeeded({ item: nextItem, direction: n > 0 ? 1 : -1 });
719
+ }
720
+ };
650
721
  useKeyboard((evt) => {
651
722
  if (!inFocus)
652
723
  return;
653
- // Handle Ctrl+P for dropdown
724
+ const { inputMode, vimInputSubMode } = useStore.getState();
725
+ // ── Command mode: trap all keys ──
726
+ // When ':' command input is active, all keystrokes are handled here.
727
+ // Enter executes, Esc cancels, backspace deletes, printable chars append.
728
+ // Auto-exit command mode if a toast appeared (toast needs its own key handlers).
729
+ if (vimInputSubMode === 'command') {
730
+ if (useStore.getState().toast) {
731
+ useStore.setState({ vimInputSubMode: 'default', vimCommandText: '' });
732
+ return;
733
+ }
734
+ evt.stopPropagation();
735
+ if (evt.name === 'return') {
736
+ const text = useStore.getState().vimCommandText;
737
+ const result = executeVimCommand(text);
738
+ if (result === 'theme') {
739
+ dialog.push({ element: _jsx(ThemePicker, {}) });
740
+ }
741
+ else if (result === 'actions') {
742
+ useStore.setState({ showActionsDialog: true });
743
+ }
744
+ else if (result === 'filter') {
745
+ if (searchBarAccessory && !isDropdownOpen) {
746
+ openDropdown();
747
+ }
748
+ }
749
+ useStore.setState({ vimInputSubMode: 'default', vimCommandText: '' });
750
+ return;
751
+ }
752
+ if (evt.name === 'escape') {
753
+ useStore.setState({ vimInputSubMode: 'default', vimCommandText: '' });
754
+ return;
755
+ }
756
+ if (evt.name === 'backspace') {
757
+ const current = useStore.getState().vimCommandText;
758
+ if (current.length === 0) {
759
+ // Backspace on empty exits command mode
760
+ useStore.setState({ vimInputSubMode: 'default' });
761
+ }
762
+ else {
763
+ useStore.setState({ vimCommandText: current.slice(0, -1) });
764
+ }
765
+ return;
766
+ }
767
+ if (evt.name === 'tab') {
768
+ // Tab-complete: fill in the first matching command
769
+ const current = useStore.getState().vimCommandText;
770
+ const matches = getMatchingCommands(current);
771
+ if (matches.length > 0 && matches[0]) {
772
+ useStore.setState({ vimCommandText: matches[0].name });
773
+ }
774
+ return;
775
+ }
776
+ // Append printable characters (single char, no modifiers except shift)
777
+ if (evt.sequence.length === 1 && !evt.ctrl && !evt.meta) {
778
+ useStore.setState({ vimCommandText: useStore.getState().vimCommandText + evt.sequence });
779
+ }
780
+ return;
781
+ }
782
+ // ── Vim search mode: Enter confirms, Esc clears and exits ──
783
+ // Ctrl+K and Ctrl+P still work while searching (fall through to shared handlers below).
784
+ if (inputMode === 'vim' && vimInputSubMode === 'search') {
785
+ if (evt.name === 'return') {
786
+ // Confirm search: keep search text, return to normal mode
787
+ useStore.setState({ vimInputSubMode: 'default' });
788
+ evt.stopPropagation();
789
+ return;
790
+ }
791
+ if (evt.name === 'escape') {
792
+ // Clear search and return to normal mode
793
+ useStore.setState({ vimInputSubMode: 'default' });
794
+ if (inputRef.current) {
795
+ inputRef.current.clear();
796
+ }
797
+ handleSearchChange('');
798
+ evt.stopPropagation();
799
+ return;
800
+ }
801
+ // Let Ctrl+K, Ctrl+P, and registered shortcuts fall through to shared handlers.
802
+ // All other keys (text input) are handled by the focused textarea.
803
+ const isSharedShortcut = (evt.ctrl || evt.super || evt.meta);
804
+ if (!isSharedShortcut)
805
+ return;
806
+ }
807
+ // ── Shared: Ctrl+P for dropdown ──
654
808
  if (evt.ctrl && evt.name === 'p' && searchBarAccessory && !isDropdownOpen) {
655
809
  openDropdown();
656
810
  return;
657
811
  }
658
- // Check if key matches any registered action shortcut
659
- // This enables direct execution of actions via their shortcuts (e.g., ctrl+r for Refresh)
812
+ // ── Shared: Ctrl+K / Cmd+K for actions dialog ──
813
+ if (evt.name === 'k' && (evt.ctrl || evt.super)) {
814
+ useStore.setState({ showActionsDialog: true });
815
+ return;
816
+ }
817
+ // ── Vim mode keybindings (only in default sub-mode) ──
818
+ // Checked before registered action shortcuts so extensions can't hijack
819
+ // core vim motions like j/k with unmodified single-letter shortcuts.
820
+ if (inputMode === 'vim' && vimInputSubMode === 'default') {
821
+ // j/k for navigation
822
+ if (evt.name === 'j' && !evt.ctrl && !evt.meta) {
823
+ move(1);
824
+ evt.stopPropagation();
825
+ return;
826
+ }
827
+ if (evt.name === 'k' && !evt.ctrl && !evt.meta) {
828
+ move(-1);
829
+ evt.stopPropagation();
830
+ return;
831
+ }
832
+ // G (shift+g) for last item
833
+ if (evt.name === 'g' && evt.shift) {
834
+ moveToLast();
835
+ evt.stopPropagation();
836
+ return;
837
+ }
838
+ // g then g for first item (gg sequence).
839
+ // Two 'g' presses within 500ms triggers jump to first item.
840
+ if (evt.name === 'g' && !evt.shift && !evt.ctrl && !evt.meta) {
841
+ const now = Date.now();
842
+ if (now - lastGPressedAtRef.current < 500) {
843
+ // Second g within window: jump to first
844
+ lastGPressedAtRef.current = 0;
845
+ moveToFirst();
846
+ }
847
+ else {
848
+ // First g: record timestamp, wait for second
849
+ lastGPressedAtRef.current = now;
850
+ }
851
+ evt.stopPropagation();
852
+ return;
853
+ }
854
+ // Ctrl+d for half-page down, Ctrl+u for half-page up
855
+ if (evt.ctrl && evt.name === 'd') {
856
+ const viewportHeight = scrollBoxRef.current?.viewport?.height || 20;
857
+ moveByN(Math.floor(viewportHeight / 2));
858
+ evt.stopPropagation();
859
+ return;
860
+ }
861
+ if (evt.ctrl && evt.name === 'u') {
862
+ const viewportHeight = scrollBoxRef.current?.viewport?.height || 20;
863
+ moveByN(-Math.floor(viewportHeight / 2));
864
+ evt.stopPropagation();
865
+ return;
866
+ }
867
+ // / to enter search mode
868
+ if (evt.sequence === '/' && !evt.ctrl && !evt.meta) {
869
+ useStore.setState({ vimInputSubMode: 'search' });
870
+ evt.stopPropagation();
871
+ return;
872
+ }
873
+ // : to enter command mode
874
+ if (evt.sequence === ':' && !evt.ctrl && !evt.meta) {
875
+ useStore.setState({ vimInputSubMode: 'command', vimCommandText: '' });
876
+ evt.stopPropagation();
877
+ return;
878
+ }
879
+ }
880
+ // ── Shared: registered action shortcuts ──
660
881
  const registeredShortcuts = useStore.getState().registeredActionShortcuts;
661
882
  for (const { shortcut, execute } of registeredShortcuts) {
662
883
  if (matchesShortcut(evt, shortcut)) {
@@ -669,28 +890,35 @@ export const List = (props) => {
669
890
  .filter((item) => item.index !== -1)
670
891
  .sort((a, b) => a.index - b.index);
671
892
  const currentItem = items.find((item) => item.index === selectedIndex);
672
- // Handle Ctrl+K / Cmd+K to show actions dialog via portal
673
- // Always open — built-in actions (Change Theme, etc.) are always available
674
- if (evt.name === 'k' && (evt.ctrl || evt.super)) {
675
- useStore.setState({ showActionsDialog: true });
676
- return;
677
- }
893
+ // ── Shared: arrow keys ──
678
894
  if (evt.name === 'up')
679
895
  move(-1);
680
896
  if (evt.name === 'down')
681
897
  move(1);
682
- // Handle Enter to auto-execute first action via ActionPanel
898
+ // ── Shared: Enter to auto-execute first action ──
683
899
  if (evt.name === 'return') {
684
900
  if (!currentItem?.props)
685
901
  return;
686
902
  if (currentItem.props.actions) {
687
903
  useStore.setState({ shouldAutoExecuteFirstAction: true });
688
904
  }
905
+ return;
689
906
  }
690
907
  });
691
908
  const handleSearchChange = (newValue) => {
692
909
  if (!inFocus)
693
910
  return;
911
+ // Intercept ':' in raycast mode: when the search bar was empty and user typed ':',
912
+ // enter command mode instead of searching. Clear the textarea back to empty.
913
+ // Only triggers from truly empty state (not from editing "foo" to ":").
914
+ const wasEmpty = searchText.length === 0;
915
+ if (inputMode === 'raycast' && wasEmpty && newValue === ':') {
916
+ if (inputRef.current) {
917
+ inputRef.current.clear();
918
+ }
919
+ useStore.setState({ vimInputSubMode: 'command', vimCommandText: '' });
920
+ return;
921
+ }
694
922
  // Always update internal state immediately so the textarea and filtering
695
923
  // stay responsive even when throttle delays the parent callback
696
924
  if (controlledSearchText === undefined) {
@@ -734,7 +962,7 @@ export const List = (props) => {
734
962
  }, children: [isLoading ? _jsx(Spinner, { color: theme.textMuted }) : _jsx("text", { flexShrink: 0, fg: theme.textMuted, children: ">" }), _jsx("text", { flexShrink: 0, children: " " }), _jsx("textarea", { ref: setInputRef, height: 1, flexGrow: 1, wrapMode: 'none', keyBindings: [
735
963
  { name: 'return', action: 'submit' },
736
964
  { name: 'linefeed', action: 'submit' },
737
- ], placeholder: searchBarPlaceholder, focused: inFocus && !isDropdownOpen, initialValue: searchText, onContentChange: () => {
965
+ ], placeholder: searchBarPlaceholder, focused: inFocus && !isDropdownOpen && searchBarFocused, initialValue: searchText, onContentChange: () => {
738
966
  const value = inputRef.current?.plainText || '';
739
967
  handleSearchChange(value);
740
968
  }, focusedBackgroundColor: theme.backgroundPanel, cursorColor: theme.primary, focusedTextColor: isLoading ? theme.textMuted : theme.text })] }), searchBarAccessory, !navigationTitle && !searchBarAccessory && logo ? (_jsx("box", { flexShrink: 0, paddingLeft: 2, children: logo })) : null] }) }), _jsxs("box", { style: { flexDirection: 'row', flexGrow: 1, flexShrink: 1 }, children: [_jsxs("box", { style: { width: isShowingDetail ? '50%' : '100%', flexGrow: 1, flexShrink: 1, flexDirection: 'column' }, children: [_jsx(ScrollBox, { ref: scrollBoxRef, focused: false, flexGrow: 1, flexShrink: 1, minHeight: 6, style: {