From a31933e4b58f3520a04b99ee60acbabf5695d91e Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Thu, 12 Sep 2019 11:45:33 +0300 Subject: add quiet mode to analysis-stats --- crates/ra_cli/src/main.rs | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) (limited to 'crates/ra_cli/src/main.rs') diff --git a/crates/ra_cli/src/main.rs b/crates/ra_cli/src/main.rs index 23bb83ff1..ca9275cd4 100644 --- a/crates/ra_cli/src/main.rs +++ b/crates/ra_cli/src/main.rs @@ -12,6 +12,22 @@ use ra_syntax::{AstNode, SourceFile}; type Result = std::result::Result>; +#[derive(Clone, Copy)] +pub enum Verbosity { + Verbose, + Normal, + Quiet, +} + +impl Verbosity { + fn is_verbose(&self) -> bool { + match self { + Verbosity::Verbose => true, + _ => false, + } + } +} + fn main() -> Result<()> { Logger::with_env().start()?; @@ -67,7 +83,15 @@ fn main() -> Result<()> { eprintln!("{}", help::ANALYSIS_STATS_HELP); return Ok(()); } - let verbose = matches.contains(["-v", "--verbose"]); + let verbosity = match ( + matches.contains(["-v", "--verbose"]), + matches.contains(["-q", "--quiet"]), + ) { + (false, false) => Verbosity::Normal, + (false, true) => Verbosity::Quiet, + (true, false) => Verbosity::Verbose, + (true, true) => Err("Invalid flags: -q conflicts with -v")?, + }; let memory_usage = matches.contains("--memory-usage"); let only = matches.value_from_str(["-o", "--only"])?.map(|v: String| v.to_owned()); let path = { @@ -79,7 +103,7 @@ fn main() -> Result<()> { trailing.pop().unwrap() }; analysis_stats::run( - verbose, + verbosity, memory_usage, path.as_ref(), only.as_ref().map(String::as_ref), -- cgit v1.2.3