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

32 lines
995 B
Rust

#[macro_use]
extern crate clap;
extern crate names;
use names::{Generator, Name};
fn main() {
let (naming, amount) = {
let app = clap_app!(names =>
(version: &crate_version!()[..])
(author: "\nAuthor: Fletcher Nichol <fnichol@nichol.ca>\n")
(about: "A random name generator with results like `delirious-pail'.")
(@setting ColoredHelp)
(@arg amount: "Number of names to generate (default: 1)")
(@arg number: -n --number "Adds a random number to the name(s)")
);
let matches = app.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()
};
(naming, amount)
};
let mut generator = Generator::with_naming(naming);
for _ in 0..amount {
println!("{}", generator.next().unwrap());
}
}