adjective-adjective-animal/cli/src/main.rs

35 lines
1001 B
Rust

#[macro_use] extern crate clap;
extern crate names;
use clap::{App, Arg};
use names::{Generator, Name};
fn main() {
let matches = App::new("names")
.version(&crate_version!()[..])
.author("\nAuthor: Fletcher Nichol <fnichol@nichol.ca>\n")
.about("A random name generator with results like `delirious-pail'.")
.arg(Arg::with_name("amount")
.help("Number of names to generate (default: 1)")
.index(1)
)
.arg(Arg::with_name("number")
.short("n")
.long("number")
.help("Adds a random number to the name(s)")
)
.get_matches();
let amount = value_t!(matches.value_of("amount"), usize).unwrap_or(1);
let naming: Name = if matches.is_present("number") {
Name::Numbered
} else {
Default::default()
};
let mut generator = Generator::with_naming(naming);
for _ in 0..amount {
println!("{}", generator.next().unwrap());
}
}