use clap::Parser;
use french_numbers::{french_number_options, Options};
use num_bigint::BigInt;
#[derive(Parser)]
#[clap(version, author, about)]
struct Args {
#[clap(short, long)]
feminine: bool,
#[clap(short, long)]
prefix: bool,
#[clap(short('r'), long)]
no_reform: bool,
low: BigInt,
high: Option<BigInt>,
}
fn main() {
let args = Args::parse();
let options = Options {
feminine: args.feminine,
reformed: !args.no_reform,
};
let high = args.high.unwrap_or_else(|| args.low.clone());
let mut i = args.low;
while i <= high {
let repr = french_number_options(&i, &options);
if args.prefix {
println!("{i} {repr}");
} else {
println!("{repr}");
}
i += 1;
}
}