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

35 lines
984 B
Rust
Raw Normal View History

2015-09-19 16:17:59 -04:00
#[macro_use] extern crate clap;
extern crate names;
2015-09-19 15:28:27 -04:00
use clap::{App, Arg};
use names::{Generator, Name};
2015-09-19 15:28:27 -04:00
2015-09-19 14:06:58 -04:00
fn main() {
2015-09-19 15:28:27 -04:00
let matches = App::new("names")
.version(&crate_version!()[..])
2015-09-28 01:39:21 -04:00
.author("\nAuthor: Fletcher Nichol <fnichol@nichol.ca>\n")
.about("A random name generator with results like `delirious-pail'.")
.arg(Arg::with_name("amount")
2015-09-19 15:28:27 -04:00
.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();
2015-09-28 01:39:21 -04:00
let amount = value_t!(matches.value_of("amount"), usize).unwrap_or(1);
let naming = if matches.is_present("number") {
Name::Numbered
} else {
Name::Plain
};
2015-09-19 14:06:58 -04:00
let mut generator = Generator::default(naming);
2015-09-19 15:28:27 -04:00
for _ in 0..amount {
println!("{}", generator.next().unwrap());
2015-09-19 14:06:58 -04:00
}
}