summaryrefslogtreecommitdiff
path: root/packages/cli/src/config
diff options
context:
space:
mode:
Diffstat (limited to 'packages/cli/src/config')
-rw-r--r--packages/cli/src/config/settings.ts24
1 files changed, 21 insertions, 3 deletions
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);