From cbc1614b8441dc3dcf35cf4f2e6b3c3457045fcb Mon Sep 17 00:00:00 2001 From: Miguel Solorio Date: Sat, 31 May 2025 11:10:52 -0700 Subject: Update default & ANSI theme names (#637) --- packages/cli/src/config/settings.ts | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) (limited to 'packages/cli/src/config/settings.ts') diff --git a/packages/cli/src/config/settings.ts b/packages/cli/src/config/settings.ts index 107ef522..1aabc127 100644 --- a/packages/cli/src/config/settings.ts +++ b/packages/cli/src/config/settings.ts @@ -9,6 +9,8 @@ import * as path from 'path'; import { homedir } from 'os'; import { MCPServerConfig } from '@gemini-code/core/src/config/config.js'; import stripJsonComments from 'strip-json-comments'; +import { DefaultLight } from '../ui/themes/default-light.js'; +import { DefaultDark } from '../ui/themes/default.js'; export const SETTINGS_DIRECTORY_NAME = '.gemini'; export const USER_SETTINGS_DIR = path.join(homedir(), SETTINGS_DIRECTORY_NAME); @@ -88,13 +90,19 @@ export class LoadedSettings { */ export function loadSettings(workspaceDir: string): LoadedSettings { let userSettings: Settings = {}; - let workspaceSettings = {}; + let workspaceSettings: Settings = {}; // Load user settings try { if (fs.existsSync(USER_SETTINGS_PATH)) { const userContent = fs.readFileSync(USER_SETTINGS_PATH, 'utf-8'); - userSettings = JSON.parse(stripJsonComments(userContent)); + userSettings = JSON.parse(stripJsonComments(userContent)) as Settings; + // Support legacy theme names + if (userSettings.theme && userSettings.theme === 'VS') { + userSettings.theme = DefaultLight.name; + } else if (userSettings.theme && userSettings.theme === 'VS2015') { + userSettings.theme = DefaultDark.name; + } } } catch (error) { console.error('Error reading user settings file:', error); @@ -110,7 +118,17 @@ export function loadSettings(workspaceDir: string): LoadedSettings { try { if (fs.existsSync(workspaceSettingsPath)) { const projectContent = fs.readFileSync(workspaceSettingsPath, 'utf-8'); - workspaceSettings = JSON.parse(stripJsonComments(projectContent)); + workspaceSettings = JSON.parse( + stripJsonComments(projectContent), + ) as Settings; + if (workspaceSettings.theme && workspaceSettings.theme === 'VS') { + workspaceSettings.theme = DefaultLight.name; + } else if ( + workspaceSettings.theme && + workspaceSettings.theme === 'VS2015' + ) { + workspaceSettings.theme = DefaultDark.name; + } } } catch (error) { console.error('Error reading workspace settings file:', error); -- cgit v1.2.3