diff options
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/cli/package.json | 1 | ||||
| -rw-r--r-- | packages/cli/src/config/settings.ts | 5 |
2 files changed, 4 insertions, 2 deletions
diff --git a/packages/cli/package.json b/packages/cli/package.json index 433b9a58..0c088dc6 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -45,6 +45,7 @@ "shell-quote": "^1.8.2", "string-width": "^7.1.0", "strip-ansi": "^7.1.0", + "strip-json-comments": "^3.1.1", "yargs": "^17.7.2" }, "devDependencies": { diff --git a/packages/cli/src/config/settings.ts b/packages/cli/src/config/settings.ts index 1689a2f4..25ec5cb4 100644 --- a/packages/cli/src/config/settings.ts +++ b/packages/cli/src/config/settings.ts @@ -8,6 +8,7 @@ import * as fs from 'fs'; import * as path from 'path'; import { homedir } from 'os'; import { MCPServerConfig } from '@gemini-code/server/src/config/config.js'; +import stripJsonComments from 'strip-json-comments'; export const SETTINGS_DIRECTORY_NAME = '.gemini'; export const USER_SETTINGS_DIR = path.join(homedir(), SETTINGS_DIRECTORY_NAME); @@ -92,7 +93,7 @@ export function loadSettings(workspaceDir: string): LoadedSettings { try { if (fs.existsSync(USER_SETTINGS_PATH)) { const userContent = fs.readFileSync(USER_SETTINGS_PATH, 'utf-8'); - userSettings = JSON.parse(userContent); + userSettings = JSON.parse(stripJsonComments(userContent)); } } catch (error) { console.error('Error reading user settings file:', error); @@ -108,7 +109,7 @@ export function loadSettings(workspaceDir: string): LoadedSettings { try { if (fs.existsSync(workspaceSettingsPath)) { const projectContent = fs.readFileSync(workspaceSettingsPath, 'utf-8'); - workspaceSettings = JSON.parse(projectContent); + workspaceSettings = JSON.parse(stripJsonComments(projectContent)); } } catch (error) { console.error('Error reading workspace settings file:', error); |
