intermodal/src/opt.rs

32 lines
735 B
Rust
Raw Normal View History

2019-05-24 10:25:55 +02:00
use crate::common::*;
use structopt::clap::{AppSettings, ArgSettings};
2019-05-24 10:25:55 +02:00
#[derive(StructOpt)]
#[structopt(
about(consts::ABOUT),
version(consts::VERSION),
author(consts::AUTHOR),
global_setting(AppSettings::ColoredHelp),
global_setting(AppSettings::ColorAuto)
)]
2019-05-24 10:25:55 +02:00
pub(crate) struct Opt {
#[structopt(long = "unstable", short = "u")]
unstable: bool,
#[structopt(
long = "color",
default_value = use_color::AUTO,
set = ArgSettings::CaseInsensitive,
possible_values = use_color::VALUES,
)]
pub(crate) use_color: UseColor,
2019-05-24 10:25:55 +02:00
#[structopt(subcommand)]
subcommand: Subcommand,
}
impl Opt {
pub(crate) fn run(self, env: &mut Env) -> Result<(), Error> {
2019-05-24 10:25:55 +02:00
self.subcommand.run(env, self.unstable)
}
}