use std::path::PathBuf;
use structopt::clap;
pub use structopt::clap::{AppSettings, Shell};
pub use structopt::StructOpt;
#[derive(StructOpt, Debug)]
#[structopt(global_settings(&[AppSettings::ColoredHelp]))]
pub enum Opt {
#[structopt(name = "pull")]
Pull(PullOpt),
#[structopt(name = "completion")]
Completion(CompletionOpt),
#[structopt(name = "update")]
Update,
}
#[derive(StructOpt, Debug)]
pub struct CompletionOpt {
pub shell: clap::Shell,
}
#[derive(StructOpt, Debug)]
pub struct PullOpt {
#[structopt(short = "h", long = "host", default_value = "http://localhost:9200")]
pub host: String,
#[structopt(short = "u", long = "user")]
pub user: Option<String>,
#[structopt(short = "i", long = "index")]
pub index: String,
#[structopt(short = "q", long = "query")]
pub query: Option<PathBuf>,
#[structopt(short = "s", long = "slice", default_value = "1")]
pub slice: u64,
#[structopt(short = "b", long = "batch")]
pub batch: Option<u64>,
#[structopt(short = "l", long = "limit")]
pub limit: Option<u64>,
#[structopt(short = "o", long = "output", default_value = "/dev/stdout")]
pub output: PathBuf,
#[structopt(long = "ttl", default_value = "1m")]
pub ttl: String,
}