From 80b45d59285e95dc3af611cb739324fcf5777660 Mon Sep 17 00:00:00 2001 From: Lucas Spits Date: Mon, 9 Sep 2019 20:24:31 +0200 Subject: Replace watcher file existence check with vscode.fs version --- editors/code/src/commands/cargo_watch.ts | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'editors/code/src') diff --git a/editors/code/src/commands/cargo_watch.ts b/editors/code/src/commands/cargo_watch.ts index 4c3c10c8b..00b24dbce 100644 --- a/editors/code/src/commands/cargo_watch.ts +++ b/editors/code/src/commands/cargo_watch.ts @@ -1,5 +1,4 @@ import * as child_process from 'child_process'; -import * as fs from 'fs'; import * as path from 'path'; import * as vscode from 'vscode'; @@ -15,23 +14,23 @@ import { import SuggestedFixCollection from '../utils/diagnostics/SuggestedFixCollection'; import { areDiagnosticsEqual } from '../utils/diagnostics/vscode'; -export function registerCargoWatchProvider( +export async function registerCargoWatchProvider( subscriptions: vscode.Disposable[] -): CargoWatchProvider | undefined { +): Promise { let cargoExists = false; - const cargoTomlFile = path.join(vscode.workspace.rootPath!, 'Cargo.toml'); + // Check if the working directory is valid cargo root path - try { - if (fs.existsSync(cargoTomlFile)) { - cargoExists = true; - } - } catch (err) { - cargoExists = false; + const cargoTomlPath = path.join(vscode.workspace.rootPath!, 'Cargo.toml'); + const cargoTomlUri = vscode.Uri.file(cargoTomlPath); + const cargoTomlFileInfo = await vscode.workspace.fs.stat(cargoTomlUri); + + if (cargoTomlFileInfo) { + cargoExists = true; } if (!cargoExists) { vscode.window.showErrorMessage( - `Couldn\'t find \'Cargo.toml\' in ${cargoTomlFile}` + `Couldn\'t find \'Cargo.toml\' at ${cargoTomlPath}` ); return; } -- cgit v1.2.3