summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/App.tsx
diff options
context:
space:
mode:
authorJacob Richman <[email protected]>2025-08-15 10:54:00 -0700
committerGitHub <[email protected]>2025-08-15 17:54:00 +0000
commitbd5e49c5ff0d0f5e03e5f42435de00c5a0758d7e (patch)
treec55a474cd3630661ed42d63d8662b8266bdf11d0 /packages/cli/src/ui/App.tsx
parent1a2906a8ad6e9cf7a68441c956af91d189eff417 (diff)
fix(input) Resolve cases where escape was broken (#6304)
Diffstat (limited to 'packages/cli/src/ui/App.tsx')
-rw-r--r--packages/cli/src/ui/App.tsx26
1 files changed, 16 insertions, 10 deletions
diff --git a/packages/cli/src/ui/App.tsx b/packages/cli/src/ui/App.tsx
index 70ee0730..9773971b 100644
--- a/packages/cli/src/ui/App.tsx
+++ b/packages/cli/src/ui/App.tsx
@@ -80,6 +80,7 @@ import { useTextBuffer } from './components/shared/text-buffer.js';
import { useVimMode, VimModeProvider } from './contexts/VimModeContext.js';
import { useVim } from './hooks/vim.js';
import { useKeypress, Key } from './hooks/useKeypress.js';
+import { KeypressProvider } from './contexts/KeypressContext.js';
import { useKittyKeyboardProtocol } from './hooks/useKittyKeyboardProtocol.js';
import { keyMatchers, Command } from './keyMatchers.js';
import * as fs from 'fs';
@@ -109,13 +110,21 @@ interface AppProps {
version: string;
}
-export const AppWrapper = (props: AppProps) => (
- <SessionStatsProvider>
- <VimModeProvider settings={props.settings}>
- <App {...props} />
- </VimModeProvider>
- </SessionStatsProvider>
-);
+export const AppWrapper = (props: AppProps) => {
+ const kittyProtocolStatus = useKittyKeyboardProtocol();
+ return (
+ <KeypressProvider
+ kittyProtocolEnabled={kittyProtocolStatus.enabled}
+ config={props.config}
+ >
+ <SessionStatsProvider>
+ <VimModeProvider settings={props.settings}>
+ <App {...props} />
+ </VimModeProvider>
+ </SessionStatsProvider>
+ </KeypressProvider>
+ );
+};
const App = ({ config, settings, startupWarnings = [], version }: AppProps) => {
const isFocused = useFocus();
@@ -611,7 +620,6 @@ const App = ({ config, settings, startupWarnings = [], version }: AppProps) => {
const { elapsedTime, currentLoadingPhrase } =
useLoadingIndicator(streamingState);
const showAutoAcceptIndicator = useAutoAcceptIndicator({ config });
- const kittyProtocolStatus = useKittyKeyboardProtocol();
const handleExit = useCallback(
(
@@ -706,8 +714,6 @@ const App = ({ config, settings, startupWarnings = [], version }: AppProps) => {
useKeypress(handleGlobalKeypress, {
isActive: true,
- kittyProtocolEnabled: kittyProtocolStatus.enabled,
- config,
});
useEffect(() => {