Change Runnable.bin -> Runnable.kind

As per matklad, we now pass the responsibility for finding the binary to the frontend.
Also, added caching for finding the binary path to reduce
the amount of filesystem interactions.
This commit is contained in:
veetaha 2020-05-31 05:13:08 +03:00
parent a419cedb1c
commit d605ec9c32
13 changed files with 133 additions and 93 deletions

View file

@ -1,5 +1,5 @@
import * as vscode from 'vscode';
import { getCargoPathOrFail } from "./cargo";
import * as toolchain from "./toolchain";
// This ends up as the `type` key in tasks.json. RLS also uses `cargo` and
// our configuration should be compatible with it so use the same key.
@ -25,7 +25,7 @@ class CargoTaskProvider implements vscode.TaskProvider {
// set of tasks that always exist. These tasks cannot be removed in
// tasks.json - only tweaked.
const cargoPath = getCargoPathOrFail();
const cargoPath = toolchain.cargoPath();
return [
{ command: 'build', group: vscode.TaskGroup.Build },