use arboard::Clipboard;
use pwgen::generate;
use structopt::StructOpt;
#[derive(StructOpt, Debug)]
#[structopt()]
struct Opt {
#[structopt(short, long, default_value = "alpha")]
r#type: String,
#[structopt(short, long, default_value = "16")]
length: u8,
#[structopt(long = "no-copy")]
do_not_copy: bool,
}
fn main() {
let opt = Opt::from_args();
let pw = generate(opt.r#type.as_str(), opt.length);
println!("{}", &pw);
if !opt.do_not_copy {
if let Ok(mut clipboard) = Clipboard::new() {
let _res = clipboard.set_text(pw);
}
}
}