diff options
| author | DeWitt Clinton <[email protected]> | 2025-05-14 17:33:37 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-05-14 17:33:37 -0700 |
| commit | aec6c0861e8244cdaefda14840844e922705c8fa (patch) | |
| tree | 040c8cc37513d05ec72d855c918ebeccce3a9787 /packages/cli/src/ui/App.tsx | |
| parent | ff36c937338d534d7d0ee87944c60f130aa10d23 (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.tsx | 7 |
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> |
