diff options
| author | Aleksei Sidorov <aleksei.sidorov@xdev.re> | 2019-06-24 13:02:20 +0300 |
|---|---|---|
| committer | Aleksei Sidorov <aleksei.sidorov@xdev.re> | 2019-06-24 13:02:20 +0300 |
| commit | 4722e6d491a29bdb077fc01aa8c5bdc734282c69 (patch) | |
| tree | 681b4fd62ce9b2166180713236254a8a25f2b60f /editors/code/src | |
| parent | 7d79be32801036c39507fe96f87ed316e3934662 (diff) | |
| download | rust-4722e6d491a29bdb077fc01aa8c5bdc734282c69.tar.gz rust-4722e6d491a29bdb077fc01aa8c5bdc734282c69.zip | |
Introduce cargo-watch.check-command
Diffstat (limited to 'editors/code/src')
| -rw-r--r-- | editors/code/src/commands/cargo_watch.ts | 6 | ||||
| -rw-r--r-- | editors/code/src/commands/watch_status.ts | 8 | ||||
| -rw-r--r-- | editors/code/src/config.ts | 13 |
3 files changed, 21 insertions, 6 deletions
diff --git a/editors/code/src/commands/cargo_watch.ts b/editors/code/src/commands/cargo_watch.ts index 6ba794bb337..db92e03f4cc 100644 --- a/editors/code/src/commands/cargo_watch.ts +++ b/editors/code/src/commands/cargo_watch.ts @@ -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; diff --git a/editors/code/src/commands/watch_status.ts b/editors/code/src/commands/watch_status.ts index a3b0178f20a..91bc7195b2e 100644 --- a/editors/code/src/commands/watch_status.ts +++ b/editors/code/src/commands/watch_status.ts @@ -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); diff --git a/editors/code/src/config.ts b/editors/code/src/config.ts index 3024546d25e..85366fc341e 100644 --- a/editors/code/src/config.ts +++ b/editors/code/src/config.ts @@ -1,6 +1,7 @@ import * as vscode from 'vscode'; import { Server } from './server'; +import { strict } from 'assert'; const RA_LSP_DEBUG = process.env.__RA_LSP_SERVER_DEBUG; @@ -10,6 +11,7 @@ export type CargoWatchTraceOptions = 'off' | 'error' | 'verbose'; export interface CargoWatchOptions { enableOnStartup: CargoWatchStartupOptions; checkArguments: string; + checkCommand: string; trace: CargoWatchTraceOptions; } @@ -23,7 +25,8 @@ export class Config { public cargoWatchOptions: CargoWatchOptions = { enableOnStartup: 'ask', trace: 'off', - checkArguments: '' + checkArguments: '', + checkCommand: '' }; private prevEnhancedTyping: null | boolean = null; @@ -110,6 +113,14 @@ export class Config { '' ); } + + if (config.has('cargo-watch.check-command')) { + this.cargoWatchOptions.checkCommand = config.get<string>( + 'cargo-watch.check-command', + '' + ); + } + if (config.has('lruCapacity')) { this.lruCapacity = config.get('lruCapacity') as number; } |
