use anyhow::Result; use argh::FromArgs; mod cldr; mod glottolog; mod merge; #[derive(FromArgs, PartialEq, Debug)] /// txtlang-gen. struct Opt { #[argh(subcommand)] cmd: Command, } #[derive(FromArgs, PartialEq, Debug)] #[argh(subcommand)] enum Command { Cldr(cldr::Cldr), Glottolog(glottolog::Glottolog), Merge(merge::Merge), } fn main() -> Result<()> { let opt: Opt = argh::from_env(); match opt.cmd { Command::Cldr(cmd) => cmd.run(), Command::Glottolog(cmd) => cmd.run(), Command::Merge(cmd) => cmd.run(), } }