imdl 0.1.16

📦 A 40' shipping container for the internet
Documentation
use crate::common::*;

#[derive(StructOpt)]
#[structopt(
  about(consts::ABOUT),
  version(consts::VERSION),
  author(consts::AUTHOR),
  help_message(consts::HELP_MESSAGE),
  version_message(consts::VERSION_MESSAGE),
  global_setting(AppSettings::ColoredHelp),
  global_setting(AppSettings::ColorAuto)
)]
pub(crate) struct Arguments {
  #[structopt(flatten)]
  options: Options,
  #[structopt(subcommand)]
  subcommand: Subcommand,
}

impl Arguments {
  pub(crate) fn run(self, env: &mut Env) -> Result<(), Error> {
    self.subcommand.run(env, &self.options)
  }

  pub(crate) fn options(&self) -> &Options {
    &self.options
  }
}