summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/hooks/useGeminiStream.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/cli/src/ui/hooks/useGeminiStream.ts')
-rw-r--r--packages/cli/src/ui/hooks/useGeminiStream.ts15
1 files changed, 9 insertions, 6 deletions
diff --git a/packages/cli/src/ui/hooks/useGeminiStream.ts b/packages/cli/src/ui/hooks/useGeminiStream.ts
index 6385d267..6f3cb4fd 100644
--- a/packages/cli/src/ui/hooks/useGeminiStream.ts
+++ b/packages/cli/src/ui/hooks/useGeminiStream.ts
@@ -5,7 +5,6 @@
*/
import { useState, useRef, useCallback, useEffect, useMemo } from 'react';
-import { useInput } from 'ink';
import {
Config,
GeminiClient,
@@ -55,6 +54,7 @@ import {
TrackedCancelledToolCall,
} from './useReactToolScheduler.js';
import { useSessionStats } from '../contexts/SessionContext.js';
+import { useKeypress } from './useKeypress.js';
export function mergePartListUnions(list: PartListUnion[]): PartListUnion {
const resultParts: PartListUnion = [];
@@ -213,11 +213,14 @@ export const useGeminiStream = (
pendingHistoryItemRef,
]);
- useInput((_input, key) => {
- if (key.escape) {
- cancelOngoingRequest();
- }
- });
+ useKeypress(
+ (key) => {
+ if (key.name === 'escape') {
+ cancelOngoingRequest();
+ }
+ },
+ { isActive: streamingState === StreamingState.Responding },
+ );
const prepareQueryForGemini = useCallback(
async (