From fbfad06307c7292287333c380005d9c5ce2f39e2 Mon Sep 17 00:00:00 2001 From: phreakocious Date: Thu, 8 Jan 2026 13:49:05 -0600 Subject: [PATCH] feat: add native Sublime Text support to IDE detection (#16083) Co-authored-by: phreakocious <567063+phreakocious@users.noreply.github.com> --- packages/core/src/ide/detect-ide.test.ts | 12 ++++++++++++ packages/core/src/ide/detect-ide.ts | 11 +++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/packages/core/src/ide/detect-ide.test.ts b/packages/core/src/ide/detect-ide.test.ts index ebeb522933..6cab76e07d 100644 --- a/packages/core/src/ide/detect-ide.test.ts +++ b/packages/core/src/ide/detect-ide.test.ts @@ -114,6 +114,18 @@ describe('detectIde', () => { vi.stubEnv('ANTIGRAVITY_CLI_ALIAS', 'agy'); expect(detectIde(ideProcessInfo)).toBe(IDE_DEFINITIONS.antigravity); }); + + it('should detect Sublime Text', () => { + vi.stubEnv('TERM_PROGRAM', 'sublime'); + vi.stubEnv('ANTIGRAVITY_CLI_ALIAS', ''); + expect(detectIde(ideProcessInfo)).toBe(IDE_DEFINITIONS.sublimetext); + }); + + it('should prioritize Antigravity over Sublime Text', () => { + vi.stubEnv('TERM_PROGRAM', 'sublime'); + vi.stubEnv('ANTIGRAVITY_CLI_ALIAS', 'agy'); + expect(detectIde(ideProcessInfo)).toBe(IDE_DEFINITIONS.antigravity); + }); }); describe('detectIde with ideInfoFromFile', () => { diff --git a/packages/core/src/ide/detect-ide.ts b/packages/core/src/ide/detect-ide.ts index c7945593b2..0939af6b79 100644 --- a/packages/core/src/ide/detect-ide.ts +++ b/packages/core/src/ide/detect-ide.ts @@ -15,6 +15,7 @@ export const IDE_DEFINITIONS = { vscode: { name: 'vscode', displayName: 'VS Code' }, vscodefork: { name: 'vscodefork', displayName: 'IDE' }, antigravity: { name: 'antigravity', displayName: 'Antigravity' }, + sublimetext: { name: 'sublimetext', displayName: 'Sublime Text' }, } as const; export interface IdeInfo { @@ -51,6 +52,9 @@ export function detectIdeFromEnv(): IdeInfo { if (process.env['MONOSPACE_ENV']) { return IDE_DEFINITIONS.firebasestudio; } + if (process.env['TERM_PROGRAM'] === 'sublime') { + return IDE_DEFINITIONS.sublimetext; + } return IDE_DEFINITIONS.vscode; } @@ -87,8 +91,11 @@ export function detectIde( }; } - // Only VSCode-based integrations are currently supported. - if (process.env['TERM_PROGRAM'] !== 'vscode') { + // Only VS Code and Sublime Text integrations are currently supported. + if ( + process.env['TERM_PROGRAM'] !== 'vscode' && + process.env['TERM_PROGRAM'] !== 'sublime' + ) { return undefined; }