summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/App.tsx
diff options
context:
space:
mode:
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(() => {