use clap::Parser;
#[derive(Parser)]
#[command(author, version, about)]
struct Opts {
#[arg(help = "A digit sequence")]
digit_sequence: String,
}
fn main() {
let args = Opts::parse();
let digit_sequence = args.digit_sequence;
let analysis = match luhncalc::analyze(&digit_sequence) {
Ok(analysis) => analysis,
Err(error) => {
eprintln!("Error: {}", error);
std::process::exit(1);
}
};
println!("Sequence:\t{}", digit_sequence);
println!("Valid sequence:\t{}", analysis.valid);
println!("Next digit:\t{}", analysis.next_check_digit);
}