From e3555c2729c9ac923b433046146462623f248167 Mon Sep 17 00:00:00 2001 From: Saoud Rizwan <7799382+saoudrizwan@users.noreply.github.com> Date: Tue, 17 Sep 2024 11:59:20 -0400 Subject: [PATCH] Fix using shell API failing --- src/integrations/TerminalManager.ts | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/integrations/TerminalManager.ts b/src/integrations/TerminalManager.ts index 4258d8d..452c2d1 100644 --- a/src/integrations/TerminalManager.ts +++ b/src/integrations/TerminalManager.ts @@ -148,15 +148,20 @@ export class TerminalManager { constructor() { // Listening to this reduces the # of empty terminal outputs! - const disposable = (vscode.window as vscode.Window).onDidEndTerminalShellExecution?.(async (e) => { - // console.log(`Terminal shell execution ended. Command line:`, e.execution.commandLine.value) - const stream = e?.execution?.read() - if (stream) { - for await (let _ of stream) { - // console.log(`from onDidEndTerminalShellExecution, read:`, data) + let disposable: vscode.Disposable | undefined + try { + disposable = (vscode.window as vscode.Window).onDidEndTerminalShellExecution?.(async (e) => { + // console.log(`Terminal shell execution ended. Command line:`, e.execution.commandLine.value) + const stream = e?.execution?.read() + if (stream) { + for await (let _ of stream) { + // console.log(`from onDidEndTerminalShellExecution, read:`, data) + } } - } - }) + }) + } catch (error) { + console.error("Error setting up onDidEndTerminalShellExecution", error) + } if (disposable) { this.disposables.push(disposable) }