diff --git a/src/node/vscode.ts b/src/node/vscode.ts index 9ab22ef78d2bb9f824076fa7750e5c1a81b819ed..c3da8a24d679d1a0e0e25cde28ea36ca9e001a02 100644 --- a/src/node/vscode.ts +++ b/src/node/vscode.ts @@ -122,9 +122,9 @@ export class VscodeProvider { proc: cp.ChildProcess, fn: (message: ipc.VscodeMessage) => message is T, ): Promise { - return new Promise((resolve, _reject) => { + return new Promise((resolve, reject) => { const cleanup = () => { - proc.off("error", reject) + proc.off("error", onError) proc.off("exit", onExit) proc.off("message", onMessage) clearTimeout(timeout) @@ -132,15 +132,16 @@ export class VscodeProvider { const timeout = setTimeout(() => { cleanup() - _reject(new Error("timed out")) + reject(new Error("timed out")) }, this.timeoutInterval) - const reject = (error: Error) => { + const onError = (error: Error) => { cleanup() - _reject(error) + reject(error) } const onExit = (code: number | null) => { + cleanup() reject(new Error(`VS Code exited unexpectedly with code ${code}`)) } @@ -153,7 +154,7 @@ export class VscodeProvider { } proc.on("message", onMessage) - proc.on("error", reject) + proc.on("error", onError) proc.on("exit", onExit) }) }