diff options
| author | N. Taylor Mullen <[email protected]> | 2025-06-04 00:46:57 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-06-04 07:46:57 +0000 |
| commit | afc30e314f29e00e462b0f2b11ea63fda31c3c3e (patch) | |
| tree | f15fbc94bdfc065195f031e925d61a28479ec117 /packages/cli/src | |
| parent | d179b3aae41b466a5e75ac4392d5a5ad88ffffb0 (diff) | |
feat(accessibility): Add option to disable loading phrases (#745)
Diffstat (limited to 'packages/cli/src')
| -rw-r--r-- | packages/cli/src/config/config.ts | 1 | ||||
| -rw-r--r-- | packages/cli/src/config/settings.ts | 5 | ||||
| -rw-r--r-- | packages/cli/src/ui/App.test.tsx | 5 | ||||
| -rw-r--r-- | packages/cli/src/ui/App.tsx | 6 | ||||
| -rw-r--r-- | packages/cli/src/ui/components/LoadingIndicator.tsx | 6 |
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 ? '' |
