aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--editors/code/src/util.ts8
1 files changed, 2 insertions, 6 deletions
diff --git a/editors/code/src/util.ts b/editors/code/src/util.ts
index 78fe6f5da..970fedb37 100644
--- a/editors/code/src/util.ts
+++ b/editors/code/src/util.ts
@@ -1,5 +1,4 @@
1import * as lc from "vscode-languageclient"; 1import * as lc from "vscode-languageclient";
2import * as fs from "fs";
3import * as vscode from "vscode"; 2import * as vscode from "vscode";
4import { strict as nativeAssert } from "assert"; 3import { strict as nativeAssert } from "assert";
5import { spawnSync } from "child_process"; 4import { spawnSync } from "child_process";
@@ -114,15 +113,12 @@ export function isRustEditor(editor: vscode.TextEditor): editor is RustEditor {
114export function isValidExecutable(path: string): boolean { 113export function isValidExecutable(path: string): boolean {
115 log.debug("Checking availability of a binary at", path); 114 log.debug("Checking availability of a binary at", path);
116 115
117 if (!fs.existsSync(path)) return false;
118
119 const res = spawnSync(path, ["--version"], { encoding: 'utf8' }); 116 const res = spawnSync(path, ["--version"], { encoding: 'utf8' });
120 117
121 const isSuccess = res.status === 0; 118 const printOutput = res.error && (res.error as any).code !== 'ENOENT' ? log.warn : log.debug;
122 const printOutput = isSuccess ? log.debug : log.warn;
123 printOutput(path, "--version:", res); 119 printOutput(path, "--version:", res);
124 120
125 return isSuccess; 121 return res.status === 0;
126} 122}
127 123
128/** Sets ['when'](https://code.visualstudio.com/docs/getstarted/keybindings#_when-clause-contexts) clause contexts */ 124/** Sets ['when'](https://code.visualstudio.com/docs/getstarted/keybindings#_when-clause-contexts) clause contexts */