aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVadzim Dambrouski <[email protected]>2019-12-15 17:32:13 +0000
committerVadzim Dambrouski <[email protected]>2019-12-15 18:02:13 +0000
commita85cd6455a66ca75ba9991d91acf36f55cb74e8c (patch)
tree356d7b61e93d1aad261dba959afafc231d163441
parent4e24b25c669965cf6a68c4b8e775cc83615d978a (diff)
Add option to disable all-targets.
Can be useful in embedded.
-rw-r--r--editors/code/package.json5
-rw-r--r--editors/code/src/commands/cargo_watch.ts5
-rw-r--r--editors/code/src/config.ts9
3 files changed, 18 insertions, 1 deletions
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 @@
237 "description": "A list of patterns for cargo-watch to ignore (will be passed as `--ignore`)", 237 "description": "A list of patterns for cargo-watch to ignore (will be passed as `--ignore`)",
238 "default": [] 238 "default": []
239 }, 239 },
240 "rust-analyzer.cargo-watch.allTargets": {
241 "type": "boolean",
242 "description": "Check all targets and tests (will be passed as `--all-targets`)",
243 "default": true
244 },
240 "rust-analyzer.trace.server": { 245 "rust-analyzer.trace.server": {
241 "type": "string", 246 "type": "string",
242 "scope": "window", 247 "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 {
83 83
84 let args = 84 let args =
85 Server.config.cargoWatchOptions.command + 85 Server.config.cargoWatchOptions.command +
86 ' --all-targets --message-format json'; 86 ' --message-format json';
87 if (Server.config.cargoWatchOptions.allTargets) {
88 args += ' --all-targets';
89 }
87 if (Server.config.cargoWatchOptions.command.length > 0) { 90 if (Server.config.cargoWatchOptions.command.length > 0) {
88 // Excape the double quote string: 91 // Excape the double quote string:
89 args += ' ' + Server.config.cargoWatchOptions.arguments; 92 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 {
13 command: string; 13 command: string;
14 trace: CargoWatchTraceOptions; 14 trace: CargoWatchTraceOptions;
15 ignore: string[]; 15 ignore: string[];
16 allTargets: boolean;
16} 17}
17 18
18export interface CargoFeatures { 19export interface CargoFeatures {
@@ -40,6 +41,7 @@ export class Config {
40 arguments: '', 41 arguments: '',
41 command: '', 42 command: '',
42 ignore: [], 43 ignore: [],
44 allTargets: true,
43 }; 45 };
44 public cargoFeatures: CargoFeatures = { 46 public cargoFeatures: CargoFeatures = {
45 noDefaultFeatures: false, 47 noDefaultFeatures: false,
@@ -132,6 +134,13 @@ export class Config {
132 ); 134 );
133 } 135 }
134 136
137 if (config.has('cargo-watch.allTargets')) {
138 this.cargoWatchOptions.allTargets = config.get<boolean>(
139 'cargo-watch.allTargets',
140 true,
141 );
142 }
143
135 if (config.has('lruCapacity')) { 144 if (config.has('lruCapacity')) {
136 this.lruCapacity = config.get('lruCapacity') as number; 145 this.lruCapacity = config.get('lruCapacity') as number;
137 } 146 }