Introduce cargo-watch.check-command

This commit is contained in:
Aleksei Sidorov 2019-06-24 13:02:20 +03:00
parent 7d79be3280
commit 4722e6d491
4 changed files with 27 additions and 7 deletions

View file

@ -43,7 +43,7 @@ export class CargoWatchProvider implements vscode.Disposable {
this.diagnosticCollection = vscode.languages.createDiagnosticCollection(
'rustc'
);
this.statusDisplay = new StatusDisplay();
this.statusDisplay = new StatusDisplay(Server.config.cargoWatchOptions.checkCommand);
this.outputChannel = vscode.window.createOutputChannel(
'Cargo Watch Trace'
);
@ -57,7 +57,9 @@ export class CargoWatchProvider implements vscode.Disposable {
return;
}
let args = 'check --all-targets --message-format json';
let command = Server.config.cargoWatchOptions.checkCommand;
let args = command + ' --all-targets --message-format json';
if (Server.config.cargoWatchOptions.checkArguments.length > 0) {
// Excape the double quote string:
args += ' ' + Server.config.cargoWatchOptions.checkArguments;

View file

@ -7,13 +7,15 @@ export class StatusDisplay implements vscode.Disposable {
private i = 0;
private statusBarItem: vscode.StatusBarItem;
private command: string;
private timer?: NodeJS.Timeout;
constructor() {
constructor(command: string) {
this.statusBarItem = vscode.window.createStatusBarItem(
vscode.StatusBarAlignment.Left,
10
);
this.command = command;
this.statusBarItem.hide();
}
@ -24,11 +26,11 @@ export class StatusDisplay implements vscode.Disposable {
this.timer ||
setInterval(() => {
if (this.packageName) {
this.statusBarItem!.text = `cargo check [${
this.statusBarItem!.text = `cargo ${this.command} [${
this.packageName
}] ${this.frame()}`;
} else {
this.statusBarItem!.text = `cargo check ${this.frame()}`;
this.statusBarItem!.text = `cargo ${this.command} ${this.frame()}`;
}
}, 300);