diff options
| author | christine betts <[email protected]> | 2025-07-30 22:36:24 +0000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-07-30 22:36:24 +0000 |
| commit | 325bb8913776c60b763ee5f66375a4ca90d22ce0 (patch) | |
| tree | eb2aaf9fa1f826e9cfeff3e1507457aeb61d8fdf /packages/cli/src/config | |
| parent | ac1bb5ee4275e508dfc2256bbd5ca012e4a4f469 (diff) | |
Add toggleable IDE mode setting (#5146)
Diffstat (limited to 'packages/cli/src/config')
| -rw-r--r-- | packages/cli/src/config/config.test.ts | 10 | ||||
| -rw-r--r-- | packages/cli/src/config/config.ts | 14 | ||||
| -rw-r--r-- | packages/cli/src/config/settings.ts | 4 |
3 files changed, 17 insertions, 11 deletions
diff --git a/packages/cli/src/config/config.test.ts b/packages/cli/src/config/config.test.ts index 1dd09f4b..d87d0c8f 100644 --- a/packages/cli/src/config/config.test.ts +++ b/packages/cli/src/config/config.test.ts @@ -916,7 +916,7 @@ describe('loadCliConfig extensions', () => { }); }); -describe('loadCliConfig ideMode', () => { +describe('loadCliConfig ideModeFeature', () => { const originalArgv = process.argv; const originalEnv = { ...process.env }; @@ -939,16 +939,16 @@ describe('loadCliConfig ideMode', () => { const settings: Settings = {}; const argv = await parseArguments(); const config = await loadCliConfig(settings, [], 'test-session', argv); - expect(config.getIdeMode()).toBe(false); + expect(config.getIdeModeFeature()).toBe(false); }); - it('should be false when settings.ideMode is true, but SANDBOX is set', async () => { + it('should be false when settings.ideModeFeature is true, but SANDBOX is set', async () => { process.argv = ['node', 'script.js']; const argv = await parseArguments(); process.env.TERM_PROGRAM = 'vscode'; process.env.SANDBOX = 'true'; - const settings: Settings = { ideMode: true }; + const settings: Settings = { ideModeFeature: true }; const config = await loadCliConfig(settings, [], 'test-session', argv); - expect(config.getIdeMode()).toBe(false); + expect(config.getIdeModeFeature()).toBe(false); }); }); diff --git a/packages/cli/src/config/config.ts b/packages/cli/src/config/config.ts index 1cc78888..d650a9af 100644 --- a/packages/cli/src/config/config.ts +++ b/packages/cli/src/config/config.ts @@ -59,7 +59,7 @@ export interface CliArgs { experimentalAcp: boolean | undefined; extensions: string[] | undefined; listExtensions: boolean | undefined; - ideMode: boolean | undefined; + ideModeFeature: boolean | undefined; proxy: string | undefined; includeDirectories: string[] | undefined; } @@ -191,7 +191,7 @@ export async function parseArguments(): Promise<CliArgs> { type: 'boolean', description: 'List all available extensions and exit.', }) - .option('ide-mode', { + .option('ide-mode-feature', { type: 'boolean', description: 'Run in IDE mode?', }) @@ -268,10 +268,13 @@ export async function loadCliConfig( (v) => v === 'true' || v === '1', ); - const ideMode = - (argv.ideMode ?? settings.ideMode ?? false) && !process.env.SANDBOX; + const ideMode = settings.ideMode ?? false; - const ideClient = IdeClient.getInstance(ideMode); + const ideModeFeature = + (argv.ideModeFeature ?? settings.ideModeFeature ?? false) && + !process.env.SANDBOX; + + const ideClient = IdeClient.getInstance(ideMode && ideModeFeature); const allExtensions = annotateActiveExtensions( extensions, @@ -429,6 +432,7 @@ export async function loadCliConfig( noBrowser: !!process.env.NO_BROWSER, summarizeToolOutput: settings.summarizeToolOutput, ideMode, + ideModeFeature, ideClient, }); } diff --git a/packages/cli/src/config/settings.ts b/packages/cli/src/config/settings.ts index 17c1d0d5..5d1b1aaf 100644 --- a/packages/cli/src/config/settings.ts +++ b/packages/cli/src/config/settings.ts @@ -99,7 +99,9 @@ export interface Settings { vimMode?: boolean; - // Add other settings here. + // Flag to be removed post-launch. + ideModeFeature?: boolean; + /// IDE mode setting configured via slash command toggle. ideMode?: boolean; // Setting for disabling auto-update. |
