luhncalc 1.1.0

Validate digit sequences with the Luhn algorithm and calculate the next check digit.
Documentation
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);
}