From 0353e1c6f4eb0f9351f9a75f5fef016d6ac7960b Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Mon, 17 Feb 2020 17:12:37 +0100 Subject: Use Arguments::from_os --- crates/ra_cli/src/main.rs | 12 +++--------- 1 file changed, 3 insertions(+), 9 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 750cbab86..f0daaaf15 100644 --- a/crates/ra_cli/src/main.rs +++ b/crates/ra_cli/src/main.rs @@ -40,16 +40,10 @@ impl Verbosity { fn main() -> Result<()> { env_logger::try_init()?; - let subcommand = match std::env::args_os().nth(1) { - None => { - eprintln!("{}", help::GLOBAL_HELP); - return Ok(()); - } - Some(s) => s, - }; - let mut matches = Arguments::from_vec(std::env::args_os().skip(2).collect()); + let mut matches = Arguments::from_env(); + let subcommand = matches.subcommand()?.unwrap_or_default(); - match &*subcommand.to_string_lossy() { + match subcommand.as_str() { "parse" => { if matches.contains(["-h", "--help"]) { eprintln!("{}", help::PARSE_HELP); -- cgit v1.2.3 From d5371b5dec5fbf6add535d09afbddcb5b180ef85 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Mon, 17 Feb 2020 17:14:55 +0100 Subject: Inline help --- crates/ra_cli/src/main.rs | 103 ++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 96 insertions(+), 7 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 f0daaaf15..9a7f9724e 100644 --- a/crates/ra_cli/src/main.rs +++ b/crates/ra_cli/src/main.rs @@ -2,7 +2,6 @@ mod analysis_stats; mod analysis_bench; -mod help; mod progress_report; use std::{error::Error, fmt::Write, io::Read}; @@ -46,9 +45,20 @@ fn main() -> Result<()> { match subcommand.as_str() { "parse" => { if matches.contains(["-h", "--help"]) { - eprintln!("{}", help::PARSE_HELP); + eprintln!( + "\ +ra-cli-parse + +USAGE: + ra_cli parse [FLAGS] + +FLAGS: + -h, --help Prints help inforamtion + --no-dump" + ); return Ok(()); } + let no_dump = matches.contains("--no-dump"); matches.finish().or_else(handle_extra_flags)?; @@ -61,10 +71,21 @@ fn main() -> Result<()> { } "symbols" => { if matches.contains(["-h", "--help"]) { - eprintln!("{}", help::SYMBOLS_HELP); + eprintln!( + "\ +ra-cli-symbols + +USAGE: + ra_cli highlight [FLAGS] + +FLAGS: + -h, --help Prints help inforamtion" + ); return Ok(()); } + matches.finish().or_else(handle_extra_flags)?; + let file = file()?; for s in file_structure(&file) { println!("{:?}", s); @@ -72,20 +93,51 @@ fn main() -> Result<()> { } "highlight" => { if matches.contains(["-h", "--help"]) { - eprintln!("{}", help::HIGHLIGHT_HELP); + eprintln!( + "\ +ra-cli-highlight + +USAGE: + ra_cli highlight [FLAGS] + +FLAGS: + -h, --help Prints help information + -r, --rainbow" + ); return Ok(()); } + let rainbow_opt = matches.contains(["-r", "--rainbow"]); matches.finish().or_else(handle_extra_flags)?; + let (analysis, file_id) = Analysis::from_single_file(read_stdin()?); let html = analysis.highlight_as_html(file_id, rainbow_opt).unwrap(); println!("{}", html); } "analysis-stats" => { if matches.contains(["-h", "--help"]) { - eprintln!("{}", help::ANALYSIS_STATS_HELP); + eprintln!( + "\ +ra-cli-analysis-stats + +USAGE: + ra_cli analysis-stats [FLAGS] [OPTIONS] [PATH] + +FLAGS: + -h, --help Prints help information + --memory-usage + -v, --verbose + -q, --quiet + +OPTIONS: + -o + +ARGS: + " + ); return Ok(()); } + let verbosity = match ( matches.contains(["-vv", "--spammy"]), matches.contains(["-v", "--verbose"]), @@ -110,6 +162,8 @@ fn main() -> Result<()> { } trailing.pop().unwrap() }; + matches.finish().or_else(handle_extra_flags)?; + analysis_stats::run( verbosity, memory_usage, @@ -121,9 +175,27 @@ fn main() -> Result<()> { } "analysis-bench" => { if matches.contains(["-h", "--help"]) { - eprintln!("{}", help::ANALYSIS_BENCH_HELP); + eprintln!( + "\ +ra_cli-analysis-bench + +USAGE: + ra_cli analysis-bench [FLAGS] [OPTIONS] [PATH] + +FLAGS: + -h, --help Prints help information + -v, --verbose + +OPTIONS: + --complete Compute completions at this location + --highlight Hightlight this file + +ARGS: + Project to analyse" + ); return Ok(()); } + let verbose = matches.contains(["-v", "--verbose"]); let path: String = matches.opt_value_from_str("--path")?.unwrap_or_default(); let highlight_path: Option = matches.opt_value_from_str("--highlight")?; @@ -138,9 +210,26 @@ fn main() -> Result<()> { ), }; matches.finish().or_else(handle_extra_flags)?; + analysis_bench::run(verbose, path.as_ref(), op)?; } - _ => eprintln!("{}", help::GLOBAL_HELP), + _ => eprintln!( + "\ +ra-cli + +USAGE: + ra_cli + +FLAGS: + -h, --help Prints help information + +SUBCOMMANDS: + analysis-bench + analysis-stats + highlight + parse + symbols" + ), } Ok(()) } -- cgit v1.2.3 From d7be1da8df45027ce18b8af9da68ed98b9a454cc Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Mon, 17 Feb 2020 17:31:09 +0100 Subject: Inline ra_batch --- crates/ra_cli/src/main.rs | 3 +-- 1 file changed, 1 insertion(+), 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 9a7f9724e..4a428faff 100644 --- a/crates/ra_cli/src/main.rs +++ b/crates/ra_cli/src/main.rs @@ -1,5 +1,6 @@ //! FIXME: write short doc here +mod load_cargo; mod analysis_stats; mod analysis_bench; mod progress_report; @@ -157,12 +158,10 @@ ARGS: let path = { let mut trailing = matches.free()?; if trailing.len() != 1 { - eprintln!("{}", help::ANALYSIS_STATS_HELP); Err("Invalid flags")?; } trailing.pop().unwrap() }; - matches.finish().or_else(handle_extra_flags)?; analysis_stats::run( verbosity, -- cgit v1.2.3