From 059f078caa688f6484544cd0b6f13aa0aa640425 Mon Sep 17 00:00:00 2001 From: Zastian Pretorius Date: Mon, 18 Jul 2022 13:29:38 +0100 Subject: [PATCH] made it main handle args better --- src/main.rs | 49 ++++++++++++++++++++++++++++++++++++------------- 1 file changed, 36 insertions(+), 13 deletions(-) diff --git a/src/main.rs b/src/main.rs index a9cbd1f..7ec10c2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -16,22 +16,33 @@ mod helpers; mod ln; fn main() { - let mut _arg = String::new(); - if std::env::args().len() > 1 { - _arg = std::env::args().nth(1).unwrap(); - } else { - println!("anime:\t\t{}", format_args!("{}", "a".red())); - println!("light novel:\t{}", format_args!("{}", "l".red())); - println!( - "you can add the name of the anime you want to watch after the {} argument", - format_args!("{}", "a".red()) - ); - //kill the program + let mut help = false; + let mut anime = false; + let mut ln = false; + for arg in std::env::args() { + if arg == "--help" || arg == "-h" { + help = true; + } + if arg == "--anime" || arg == "-a" { + anime = true; + } + if arg == "--ln" || arg == "-l" { + ln = true; + } + } + if help == true{ + print_help(); + } + if anime == false && ln == false { + print_help(); + } + if anime == true && ln == true { + println!("you can only use one of the arguments at a time"); std::process::exit(0); } - if _arg == "l" { + if ln == true { ln_read(); - } else if _arg == "a" { + } else if anime == true { anime_stream(true) } else { println!("Invalid argument"); @@ -41,3 +52,15 @@ fn main() { fn page_selector(ln_id: &str, selected_page: u32) -> String { get_ln_next_page(ln_id, &selected_page.to_string()) } + +fn print_help(){ + println!("anime:\t\t{}", format_args!("{}", "-a --anime".red())); + println!("light novel:\t{}", format_args!("{}", "-l --ln".red())); + println!( + "you can add the name of the anime you want to watch after the {} argument", + format_args!("{}", "-a --anime".red()) + ); + println!("help:\t\t{}", format_args!("{}", "-h --help".red())); + //kill the program + std::process::exit(0); +}