diff options
author | Aleksey Kladov <[email protected]> | 2020-02-17 17:05:45 +0000 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2020-02-17 17:05:45 +0000 |
commit | c818f5c65e67c93a55cbf7b1b6ded983d8f392b8 (patch) | |
tree | 865b701c74c2fd4c64a50e2cf2649480c4546131 /crates/ra_cli/src/main.rs | |
parent | fa482a9fee6596f9b3021b188a2120873d5bb0d3 (diff) |
Unify verbosity handling
Diffstat (limited to 'crates/ra_cli/src/main.rs')
-rw-r--r-- | crates/ra_cli/src/main.rs | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/crates/ra_cli/src/main.rs b/crates/ra_cli/src/main.rs index f952d0f6c..58fea2cd4 100644 --- a/crates/ra_cli/src/main.rs +++ b/crates/ra_cli/src/main.rs | |||
@@ -48,8 +48,8 @@ fn main() -> Result<()> { | |||
48 | randomize, | 48 | randomize, |
49 | )?; | 49 | )?; |
50 | } | 50 | } |
51 | Command::Bench { verbose, path, op } => { | 51 | Command::Bench { verbosity, path, op } => { |
52 | analysis_bench::run(verbose, path.as_ref(), op)?; | 52 | analysis_bench::run(verbosity, path.as_ref(), op)?; |
53 | } | 53 | } |
54 | Command::HelpPrinted => (), | 54 | Command::HelpPrinted => (), |
55 | } | 55 | } |
@@ -97,7 +97,7 @@ enum Command { | |||
97 | path: PathBuf, | 97 | path: PathBuf, |
98 | }, | 98 | }, |
99 | Bench { | 99 | Bench { |
100 | verbose: bool, | 100 | verbosity: Verbosity, |
101 | path: PathBuf, | 101 | path: PathBuf, |
102 | op: analysis_bench::Op, | 102 | op: analysis_bench::Op, |
103 | }, | 103 | }, |
@@ -109,6 +109,19 @@ impl Command { | |||
109 | let mut matches = Arguments::from_env(); | 109 | let mut matches = Arguments::from_env(); |
110 | let subcommand = matches.subcommand()?.unwrap_or_default(); | 110 | let subcommand = matches.subcommand()?.unwrap_or_default(); |
111 | 111 | ||
112 | let verbosity = match ( | ||
113 | matches.contains(["-vv", "--spammy"]), | ||
114 | matches.contains(["-v", "--verbose"]), | ||
115 | matches.contains(["-q", "--quiet"]), | ||
116 | ) { | ||
117 | (true, _, true) => Err("Invalid flags: -q conflicts with -vv")?, | ||
118 | (true, _, false) => Verbosity::Spammy, | ||
119 | (false, false, false) => Verbosity::Normal, | ||
120 | (false, false, true) => Verbosity::Quiet, | ||
121 | (false, true, false) => Verbosity::Verbose, | ||
122 | (false, true, true) => Err("Invalid flags: -q conflicts with -v")?, | ||
123 | }; | ||
124 | |||
112 | let command = match subcommand.as_str() { | 125 | let command = match subcommand.as_str() { |
113 | "parse" => { | 126 | "parse" => { |
114 | if matches.contains(["-h", "--help"]) { | 127 | if matches.contains(["-h", "--help"]) { |
@@ -193,18 +206,6 @@ ARGS: | |||
193 | return Ok(Command::HelpPrinted); | 206 | return Ok(Command::HelpPrinted); |
194 | } | 207 | } |
195 | 208 | ||
196 | let verbosity = match ( | ||
197 | matches.contains(["-vv", "--spammy"]), | ||
198 | matches.contains(["-v", "--verbose"]), | ||
199 | matches.contains(["-q", "--quiet"]), | ||
200 | ) { | ||
201 | (true, _, true) => Err("Invalid flags: -q conflicts with -vv")?, | ||
202 | (true, _, false) => Verbosity::Spammy, | ||
203 | (false, false, false) => Verbosity::Normal, | ||
204 | (false, false, true) => Verbosity::Quiet, | ||
205 | (false, true, false) => Verbosity::Verbose, | ||
206 | (false, true, true) => Err("Invalid flags: -q conflicts with -v")?, | ||
207 | }; | ||
208 | let randomize = matches.contains("--randomize"); | 209 | let randomize = matches.contains("--randomize"); |
209 | let memory_usage = matches.contains("--memory-usage"); | 210 | let memory_usage = matches.contains("--memory-usage"); |
210 | let only: Option<String> = matches.opt_value_from_str(["-o", "--only"])?; | 211 | let only: Option<String> = matches.opt_value_from_str(["-o", "--only"])?; |
@@ -242,7 +243,6 @@ ARGS: | |||
242 | return Ok(Command::HelpPrinted); | 243 | return Ok(Command::HelpPrinted); |
243 | } | 244 | } |
244 | 245 | ||
245 | let verbose = matches.contains(["-v", "--verbose"]); | ||
246 | let path: PathBuf = matches.opt_value_from_str("--path")?.unwrap_or_default(); | 246 | let path: PathBuf = matches.opt_value_from_str("--path")?.unwrap_or_default(); |
247 | let highlight_path: Option<String> = matches.opt_value_from_str("--highlight")?; | 247 | let highlight_path: Option<String> = matches.opt_value_from_str("--highlight")?; |
248 | let complete_path: Option<String> = matches.opt_value_from_str("--complete")?; | 248 | let complete_path: Option<String> = matches.opt_value_from_str("--complete")?; |
@@ -255,7 +255,7 @@ ARGS: | |||
255 | "exactly one of `--highlight`, `--complete` or `--goto-def` must be set" | 255 | "exactly one of `--highlight`, `--complete` or `--goto-def` must be set" |
256 | ), | 256 | ), |
257 | }; | 257 | }; |
258 | Command::Bench { verbose, path, op } | 258 | Command::Bench { verbosity, path, op } |
259 | } | 259 | } |
260 | _ => { | 260 | _ => { |
261 | eprintln!( | 261 | eprintln!( |