summaryrefslogtreecommitdiff
path: root/packages/cli/src
diff options
context:
space:
mode:
authorN. Taylor Mullen <[email protected]>2025-06-04 00:46:57 -0700
committerGitHub <[email protected]>2025-06-04 07:46:57 +0000
commitafc30e314f29e00e462b0f2b11ea63fda31c3c3e (patch)
treef15fbc94bdfc065195f031e925d61a28479ec117 /packages/cli/src
parentd179b3aae41b466a5e75ac4392d5a5ad88ffffb0 (diff)
feat(accessibility): Add option to disable loading phrases (#745)
Diffstat (limited to 'packages/cli/src')
-rw-r--r--packages/cli/src/config/config.ts1
-rw-r--r--packages/cli/src/config/settings.ts5
-rw-r--r--packages/cli/src/ui/App.test.tsx5
-rw-r--r--packages/cli/src/ui/App.tsx6
-rw-r--r--packages/cli/src/ui/components/LoadingIndicator.tsx6
5 files changed, 20 insertions, 3 deletions
diff --git a/packages/cli/src/config/config.ts b/packages/cli/src/config/config.ts
index ad5c270e..67175473 100644
--- a/packages/cli/src/config/config.ts
+++ b/packages/cli/src/config/config.ts
@@ -214,6 +214,7 @@ export async function loadCliConfig(
vertexai: useVertexAI,
showMemoryUsage:
argv.show_memory_usage || settings.showMemoryUsage || false,
+ accessibility: settings.accessibility,
// Git-aware file filtering settings
fileFilteringRespectGitIgnore: settings.fileFiltering?.respectGitIgnore,
fileFilteringAllowBuildArtifacts:
diff --git a/packages/cli/src/config/settings.ts b/packages/cli/src/config/settings.ts
index 8c26ef54..580c284d 100644
--- a/packages/cli/src/config/settings.ts
+++ b/packages/cli/src/config/settings.ts
@@ -21,6 +21,10 @@ export enum SettingScope {
Workspace = 'Workspace',
}
+export interface AccessibilitySettings {
+ disableLoadingPhrases?: boolean;
+}
+
export interface Settings {
theme?: string;
sandbox?: boolean | string;
@@ -32,6 +36,7 @@ export interface Settings {
showMemoryUsage?: boolean;
contextFileName?: string;
title?: string;
+ accessibility?: AccessibilitySettings;
// Git-aware file filtering settings
fileFiltering?: {
diff --git a/packages/cli/src/ui/App.test.tsx b/packages/cli/src/ui/App.test.tsx
index cba00b42..0dc4cb79 100644
--- a/packages/cli/src/ui/App.test.tsx
+++ b/packages/cli/src/ui/App.test.tsx
@@ -12,6 +12,7 @@ import {
MCPServerConfig,
ApprovalMode,
ToolRegistry,
+ AccessibilitySettings,
} from '@gemini-code/core';
import { LoadedSettings, SettingsFile, Settings } from '../config/settings.js';
@@ -35,6 +36,7 @@ interface MockServerConfig {
approvalMode: ApprovalMode;
vertexai?: boolean;
showMemoryUsage?: boolean;
+ accessibility?: AccessibilitySettings;
getApiKey: Mock<() => string>;
getModel: Mock<() => string>;
@@ -58,6 +60,7 @@ interface MockServerConfig {
setApprovalMode: Mock<(skip: ApprovalMode) => void>;
getVertexAI: Mock<() => boolean | undefined>;
getShowMemoryUsage: Mock<() => boolean>;
+ getAccessibility: Mock<() => AccessibilitySettings>;
}
// Mock @gemini-code/core and its Config class
@@ -87,6 +90,7 @@ vi.mock('@gemini-code/core', async (importOriginal) => {
approvalMode: opts.approvalMode ?? ApprovalMode.DEFAULT,
vertexai: opts.vertexai,
showMemoryUsage: opts.showMemoryUsage ?? false,
+ accessibility: opts.accessibility ?? {},
getApiKey: vi.fn(() => opts.apiKey || 'test-key'),
getModel: vi.fn(() => opts.model || 'test-model-in-mock-factory'),
@@ -112,6 +116,7 @@ vi.mock('@gemini-code/core', async (importOriginal) => {
setApprovalMode: vi.fn(),
getVertexAI: vi.fn(() => opts.vertexai),
getShowMemoryUsage: vi.fn(() => opts.showMemoryUsage ?? false),
+ getAccessibility: vi.fn(() => opts.accessibility ?? {}),
};
});
return {
diff --git a/packages/cli/src/ui/App.tsx b/packages/cli/src/ui/App.tsx
index ddaf2f02..c463afdb 100644
--- a/packages/cli/src/ui/App.tsx
+++ b/packages/cli/src/ui/App.tsx
@@ -399,7 +399,11 @@ export const App = ({
) : (
<>
<LoadingIndicator
- currentLoadingPhrase={currentLoadingPhrase}
+ currentLoadingPhrase={
+ config.getAccessibility()?.disableLoadingPhrases
+ ? undefined
+ : currentLoadingPhrase
+ }
elapsedTime={elapsedTime}
/>
<Box
diff --git a/packages/cli/src/ui/components/LoadingIndicator.tsx b/packages/cli/src/ui/components/LoadingIndicator.tsx
index 64059d53..6ff4dac8 100644
--- a/packages/cli/src/ui/components/LoadingIndicator.tsx
+++ b/packages/cli/src/ui/components/LoadingIndicator.tsx
@@ -12,7 +12,7 @@ import { StreamingState } from '../types.js';
import { GeminiRespondingSpinner } from './GeminiRespondingSpinner.js';
interface LoadingIndicatorProps {
- currentLoadingPhrase: string;
+ currentLoadingPhrase?: string;
elapsedTime: number;
rightContent?: React.ReactNode;
}
@@ -37,7 +37,9 @@ export const LoadingIndicator: React.FC<LoadingIndicatorProps> = ({
}
/>
</Box>
- <Text color={Colors.AccentPurple}>{currentLoadingPhrase}</Text>
+ {currentLoadingPhrase && (
+ <Text color={Colors.AccentPurple}>{currentLoadingPhrase}</Text>
+ )}
<Text color={Colors.SubtleComment}>
{streamingState === StreamingState.WaitingForConfirmation
? ''