use log::Level;
use std::path::PathBuf;
use structopt::StructOpt;
#[derive(Debug, StructOpt)]
#[structopt(about = "Aggregate your repositories' stars in GitHub!")]
pub struct Args {
#[structopt(long = "no-orgs")]
pub no_orgs: bool,
#[structopt(short = "p", long = "page-size", default_value = "100")]
pub page_size: usize,
#[structopt(short = "r", long = "repo-limit", default_value = "10")]
pub repo_limit: usize,
#[structopt(short = "l", long = "log-level", default_value = "ERROR")]
#[structopt(possible_values = &["INFO", "ERROR", "DEBUG"])]
pub log_level: Level,
#[structopt(short = "s", long = "stargazer-threshold", default_value = "1")]
pub stargazer_threshold: usize,
#[structopt(short = "t", long = "template", parse(from_os_str))]
pub template: Option<PathBuf>,
#[structopt(flatten)]
pub auth: RequestUser,
pub username: String,
}
#[derive(Debug, StructOpt)]
pub struct RequestUser {
#[structopt(short = "u", long = "request-username")]
pub request_username: Option<String>,
#[structopt(long = "request-password")]
pub request_password: Option<String>,
}