summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/App.tsx
diff options
context:
space:
mode:
authorDeWitt Clinton <[email protected]>2025-05-14 17:33:37 -0700
committerGitHub <[email protected]>2025-05-14 17:33:37 -0700
commitaec6c0861e8244cdaefda14840844e922705c8fa (patch)
tree040c8cc37513d05ec72d855c918ebeccce3a9787 /packages/cli/src/ui/App.tsx
parentff36c937338d534d7d0ee87944c60f130aa10d23 (diff)
Add readline-like keybindings to the input prompts. (#354)
New keybindings in the main input prompt (when auto-suggestions are not active): - `Ctrl+L`: Clears the entire screen. - `Ctrl+A`: Moves the cursor to the beginning of the current input line. - `Ctrl+E`: Moves the cursor to the end of the current input line. - `Ctrl+P`: Navigates to the previous command in the input history. - `Ctrl+N`: Navigates to the next command in the input history. In the multiline text editor (e.g., when editing a previous message): - `Ctrl+K`: Deletes text from the current cursor position to the end of the line ("kill line right").
Diffstat (limited to 'packages/cli/src/ui/App.tsx')
-rw-r--r--packages/cli/src/ui/App.tsx7
1 files changed, 7 insertions, 0 deletions
diff --git a/packages/cli/src/ui/App.tsx b/packages/cli/src/ui/App.tsx
index e1ae8da3..e4cd5de9 100644
--- a/packages/cli/src/ui/App.tsx
+++ b/packages/cli/src/ui/App.tsx
@@ -180,6 +180,11 @@ export const App = ({
[setQuery, setEditorState],
);
+ const handleClearScreen = useCallback(() => {
+ clearItems();
+ refreshStatic();
+ }, [clearItems, refreshStatic]);
+
const completion = useCompletion(
query,
config.getTargetDir(),
@@ -305,6 +310,8 @@ export const App = ({
navigateSuggestionUp={completion.navigateUp}
navigateSuggestionDown={completion.navigateDown}
resetCompletion={completion.resetCompletionState}
+ setEditorState={setEditorState}
+ onClearScreen={handleClearScreen} // Added onClearScreen prop
/>
{completion.showSuggestions && (
<Box>