From 66aff046cf66d8577843d0317b66a4e252ba4fd6 Mon Sep 17 00:00:00 2001 From: "Earle F. Philhower, III" Date: Thu, 28 Sep 2023 16:35:42 -0700 Subject: [PATCH] Working properly, making term when needed or reusing --- arduino-littlefs-upload-0.0.2.vsix | Bin 196919 -> 196950 bytes src/extension.ts | 18 +++++++----------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/arduino-littlefs-upload-0.0.2.vsix b/arduino-littlefs-upload-0.0.2.vsix index 5ab87119f0f450491e10af98af74a97899d90027..b56ed3305c5d34558f46f3ae08015ae8ea4c8e2c 100644 GIT binary patch delta 5740 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 G$^QXLZ~ol? delta 5646 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 ePs*dmDAy=b{E=0eSlKl@jWT?mh diff --git a/src/extension.ts b/src/extension.ts index e7e3b8b..c1dc46e 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -9,12 +9,11 @@ let writerReady : boolean = false; function makeTerminal(title : string) { // If it exists, move it to the front - vscode.window.terminals.forEach( (w) => { - if (w.name === title) { - w.show(false); - return; - } - }); + let w = vscode.window.terminals.find( (w) => ((w.name === title) && (w.exitStatus === undefined))); + if (w !== undefined) { + w.show(false); + return; + } // Not found, make a new terminal const pty = { onDidWrite: writeEmitter.event, @@ -40,8 +39,6 @@ function findTool(ctx: ArduinoContext, match : string) : string | undefined { return ret; } - - export function activate(context: vscode.ExtensionContext) { // Get the Arduino info extension loaded const arduinoContext: ArduinoContext = vscode.extensions.getExtension('dankeboy36.vscode-arduino-api')?.exports; @@ -51,8 +48,6 @@ export function activate(context: vscode.ExtensionContext) { return; } - makeTerminal("LittleFS Upload"); - // Register the command const disposable = vscode.commands.registerCommand('arduino-littlefs-upload.uploadLittleFS', async () => { @@ -64,6 +59,7 @@ export function activate(context: vscode.ExtensionContext) { return; } + makeTerminal("LittleFS Upload"); // Wait for the terminal to become active. while (!writerReady) { await new Promise( resolve => setTimeout(resolve, 100) ); @@ -246,4 +242,4 @@ export function activate(context: vscode.ExtensionContext) { context.subscriptions.push(disposable); } -export function deactivate() {} \ No newline at end of file +export function deactivate() { } \ No newline at end of file