diff options
| author | Miquel Sabaté Solà <mikisabate@gmail.com> | 2025-07-25 15:58:10 +0200 |
|---|---|---|
| committer | Miquel Sabaté Solà <mikisabate@gmail.com> | 2025-07-25 15:58:10 +0200 |
| commit | 6ea4d1f33e158407a1a0b51f210461d698513300 (patch) | |
| tree | 8e3d82008d2b28f7a17c9719787e24813c7af4ff /crates/cli/src/main.rs | |
| parent | 9310bf5d60810c1f911a41cccfeef3c8563211ef (diff) | |
| download | mihi-6ea4d1f33e158407a1a0b51f210461d698513300.tar.gz mihi-6ea4d1f33e158407a1a0b51f210461d698513300.zip | |
Apply suggestions from clippy
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
Diffstat (limited to 'crates/cli/src/main.rs')
| -rw-r--r-- | crates/cli/src/main.rs | 87 |
1 files changed, 39 insertions, 48 deletions
diff --git a/crates/cli/src/main.rs b/crates/cli/src/main.rs index 78d094d..239891e 100644 --- a/crates/cli/src/main.rs +++ b/crates/cli/src/main.rs @@ -23,59 +23,50 @@ fn help() { fn main() { let mut args = std::env::args(); - let nargs = std::env::args().count(); - let mut count = 1; + let nargs = args.len(); // Skip command name. args.next(); - // And iterate over the arguments. - while let Some(arg) = args.next() { - count += 1; - - match arg.as_str() { - "-h" | "--help" => { - if nargs > count { - println!( - "warning: arguments passed the '{}' flag will be ignored.", - arg.as_str() - ); - } - help(); - std::process::exit(0); - } - "-v" | "--version" => { - if nargs > count { - println!( - "warning: arguments passed the '{}' flag will be ignored.", - arg.as_str() - ); + match args.next() { + Some(command_flag) => { + match command_flag.as_str() { + "-h" | "--help" => { + if nargs > 2 { + println!("warning: arguments passed the 'help' flag will be ignored.\n"); + } + help(); + std::process::exit(0); + }, + "-v" | "--version" => { + if nargs > 2 { + println!("warning: arguments passed the 'version' flag will be ignored.\n"); + } + println!("mihi {VERSION}"); + std::process::exit(0); + }, + "init" => { + let rest: Vec<String> = args.collect(); + init::run(rest); + }, + "nuke" => { + let rest: Vec<String> = args.collect(); + nuke::run(rest); + }, + "words" => { + let rest: Vec<String> = args.collect(); + words::run(rest); + }, + "run" => { + let rest: Vec<String> = args.collect(); + run::run(rest); + }, + _ => { + println!("error: unknown flag or command: '{command_flag}'"); + std::process::exit(1); } - println!("mihi {}", VERSION); - std::process::exit(0); - } - "init" => { - let rest: Vec<String> = args.collect(); - return init::run(rest); - } - "nuke" => { - let rest: Vec<String> = args.collect(); - return nuke::run(rest); } - "words" => { - let rest: Vec<String> = args.collect(); - return words::run(rest); - } - "run" => { - let rest: Vec<String> = args.collect(); - return run::run(rest); - } - _ => { - println!("error: unknown flag or command: '{}'", arg.as_str()); - std::process::exit(1); - } - } + }, + None => run::run(Vec::new()) } - - run::run(Vec::new()); } |
