From a85cd6455a66ca75ba9991d91acf36f55cb74e8c Mon Sep 17 00:00:00 2001 From: Vadzim Dambrouski Date: Sun, 15 Dec 2019 23:02:13 +0530 Subject: Add option to disable all-targets. Can be useful in embedded. --- editors/code/package.json | 5 +++++ editors/code/src/commands/cargo_watch.ts | 5 ++++- editors/code/src/config.ts | 9 +++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/editors/code/package.json b/editors/code/package.json index 9290599c7..df8e9eecb 100644 --- a/editors/code/package.json +++ b/editors/code/package.json @@ -237,6 +237,11 @@ "description": "A list of patterns for cargo-watch to ignore (will be passed as `--ignore`)", "default": [] }, + "rust-analyzer.cargo-watch.allTargets": { + "type": "boolean", + "description": "Check all targets and tests (will be passed as `--all-targets`)", + "default": true + }, "rust-analyzer.trace.server": { "type": "string", "scope": "window", diff --git a/editors/code/src/commands/cargo_watch.ts b/editors/code/src/commands/cargo_watch.ts index 512362eb1..45f1dd49f 100644 --- a/editors/code/src/commands/cargo_watch.ts +++ b/editors/code/src/commands/cargo_watch.ts @@ -83,7 +83,10 @@ export class CargoWatchProvider implements vscode.Disposable { let args = Server.config.cargoWatchOptions.command + - ' --all-targets --message-format json'; + ' --message-format json'; + if (Server.config.cargoWatchOptions.allTargets) { + args += ' --all-targets'; + } if (Server.config.cargoWatchOptions.command.length > 0) { // Excape the double quote string: args += ' ' + Server.config.cargoWatchOptions.arguments; diff --git a/editors/code/src/config.ts b/editors/code/src/config.ts index defdfeb9c..a6e0f6454 100644 --- a/editors/code/src/config.ts +++ b/editors/code/src/config.ts @@ -13,6 +13,7 @@ export interface CargoWatchOptions { command: string; trace: CargoWatchTraceOptions; ignore: string[]; + allTargets: boolean; } export interface CargoFeatures { @@ -40,6 +41,7 @@ export class Config { arguments: '', command: '', ignore: [], + allTargets: true, }; public cargoFeatures: CargoFeatures = { noDefaultFeatures: false, @@ -132,6 +134,13 @@ export class Config { ); } + if (config.has('cargo-watch.allTargets')) { + this.cargoWatchOptions.allTargets = config.get( + 'cargo-watch.allTargets', + true, + ); + } + if (config.has('lruCapacity')) { this.lruCapacity = config.get('lruCapacity') as number; } -- cgit v1.2.3