From 6cc00871054f9749db96b3eb5a99f02542ca45f8 Mon Sep 17 00:00:00 2001 From: olcan Date: Sun, 18 May 2025 10:47:57 -0700 Subject: allow comments in settings.json --- packages/cli/src/config/settings.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 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 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); -- cgit v1.2.3