diff --git a/src/lib.rs b/src/lib.rs index 297bbcd..3e46ad2 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,6 +1,17 @@ use rand::{seq::IndexedRandom as _, Rng as _}; -pub fn main() { +pub fn main() -> Result<(), String> { + let mut args = std::env::args(); + let _ = args.next(); + match args.next().as_deref() { + None => {} + Some("--version") => { + println!("{} {}", env!("CARGO_PKG_NAME"), env!("CARGO_PKG_VERSION")); + return Ok(()); + } + Some(_) => return Err("Unknown CLI arg".to_string()), + } + println!("{}", create_passphrase(" ", 8)); println!("{}", create_pin(9)); println!("{}", create_base32(8)); @@ -8,6 +19,7 @@ pub fn main() { println!("Press Enter"); let mut input = String::new(); std::io::stdin().read_line(&mut input).ok(); + Ok(()) } /// Generates a Base32 string per RFC 4648, Section 6. diff --git a/src/main.rs b/src/main.rs index cd517ec..1dd7929 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,3 @@ -fn main() { +fn main() -> Result<(), String> { division_of_one::main() }