use anyhow::Result;
use clap::Parser;
use rhymomatic::{find_onepass, RhymeStyle, RhymeType};
#[derive(Parser)]
#[command(version, about)]
struct Args {
#[arg(short = 'w', long = "word")]
word: String,
#[arg(short = 's', long = "style", value_enum, default_value = "syllabic")]
rhyme_style: RhymeStyle,
#[arg(short = 't', long = "type", value_enum, default_value = "rhyme")]
rhyme_type: RhymeType,
#[arg(short = 'm', long = "minphonemes", default_value_t = 2)]
min_phonemes: usize,
#[arg(short = 'n', long = "noemph")]
noemph: bool,
}
fn main() -> Result<()> {
let args = Args::parse();
let results = find_onepass(
&args.word,
args.rhyme_style,
args.rhyme_type,
args.min_phonemes,
!args.noemph,
None,
)?;
rhymomatic::output(&results)?;
Ok(())
}