diff options
Diffstat (limited to 'packages/core/src/ide/ide-client.ts')
| -rw-r--r-- | packages/core/src/ide/ide-client.ts | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/packages/core/src/ide/ide-client.ts b/packages/core/src/ide/ide-client.ts index 4dd720dd..be24db3e 100644 --- a/packages/core/src/ide/ide-client.ts +++ b/packages/core/src/ide/ide-client.ts @@ -41,14 +41,14 @@ export class IdeClient { private readonly currentIde: DetectedIde | undefined; private readonly currentIdeDisplayName: string | undefined; - private constructor(ideMode: boolean) { - if (!ideMode) { - return; - } + constructor(ideMode: boolean) { this.currentIde = detectIde(); if (this.currentIde) { this.currentIdeDisplayName = getIdeDisplayName(this.currentIde); } + if (!ideMode) { + return; + } this.init().catch((err) => { logger.debug('Failed to initialize IdeClient:', err); }); @@ -130,6 +130,10 @@ export class IdeClient { }; } + async reconnect(ideMode: boolean) { + IdeClient.instance = new IdeClient(ideMode); + } + private async establishConnection(port: string) { let transport: StreamableHTTPClientTransport | undefined; try { @@ -189,7 +193,15 @@ export class IdeClient { await this.establishConnection(port); } + dispose() { + this.client?.close(); + } + getDetectedIdeDisplayName(): string | undefined { return this.currentIdeDisplayName; } + + setDisconnected() { + this.setState(IDEConnectionStatus.Disconnected); + } } |
