32 lines
572 B
Rust
32 lines
572 B
Rust
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(),
|
|
}
|
|
}
|