diff options
author | wxb1ank <[email protected]> | 2021-06-15 18:29:02 +0100 |
---|---|---|
committer | wxb1ank <[email protected]> | 2021-06-15 18:29:02 +0100 |
commit | 56e128a979082de4ea58b7739049405fbc43f394 (patch) | |
tree | 5f85baa3fc4c36162ff2ea3011b796bf6ff56bf2 /editors/code/src/toolchain.ts | |
parent | 7a8a72c38f5626aea6c8f3c2dacbb23ed166901e (diff) |
fix: clean-up #8951
Diffstat (limited to 'editors/code/src/toolchain.ts')
-rw-r--r-- | editors/code/src/toolchain.ts | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/editors/code/src/toolchain.ts b/editors/code/src/toolchain.ts index 902d0ddda..355dd76fe 100644 --- a/editors/code/src/toolchain.ts +++ b/editors/code/src/toolchain.ts | |||
@@ -159,7 +159,7 @@ export const getPathForExecutable = memoize( | |||
159 | // it is not mentioned in docs and cannot be infered by the type signature... | 159 | // it is not mentioned in docs and cannot be infered by the type signature... |
160 | const standardPath = vscode.Uri.joinPath(vscode.Uri.file(os.homedir()), ".cargo", "bin", executableName); | 160 | const standardPath = vscode.Uri.joinPath(vscode.Uri.file(os.homedir()), ".cargo", "bin", executableName); |
161 | 161 | ||
162 | if (isFile(standardPath.path)) return standardPath.path; | 162 | if (isFileAtUri(standardPath)) return standardPath.fsPath; |
163 | } catch (err) { | 163 | } catch (err) { |
164 | log.error("Failed to read the fs info", err); | 164 | log.error("Failed to read the fs info", err); |
165 | } | 165 | } |
@@ -177,9 +177,17 @@ function lookupInPath(exec: string): boolean { | |||
177 | : [candidate]; | 177 | : [candidate]; |
178 | }); | 178 | }); |
179 | 179 | ||
180 | return candidates.some(isFile); | 180 | return candidates.some(isFileAtPath); |
181 | } | 181 | } |
182 | 182 | ||
183 | async function isFile(path: string): Promise<boolean> { | 183 | async function isFileAtPath(path: string): Promise<boolean> { |
184 | return ((await vscode.workspace.fs.stat(vscode.Uri.file(path))).type & vscode.FileType.File) !== 0; | 184 | return isFileAtUri(vscode.Uri.file(path)); |
185 | } | ||
186 | |||
187 | async function isFileAtUri(uri: vscode.Uri): Promise<boolean> { | ||
188 | try { | ||
189 | return ((await vscode.workspace.fs.stat(uri)).type & vscode.FileType.File) !== 0; | ||
190 | } catch { | ||
191 | return false; | ||
192 | } | ||
185 | } | 193 | } |