#[macro_use]
extern crate structopt;
use structopt::clap::ArgGroup;
use structopt::StructOpt;
fn vers_arg_group() -> ArgGroup<'static> {
ArgGroup::with_name("vers").required(true)
}
#[derive(StructOpt, Debug)]
#[structopt(raw(group = "vers_arg_group()"))]
struct Opt {
#[structopt(long = "set-ver", group = "vers")]
set_ver: Option<String>,
#[structopt(long = "major", group = "vers")]
major: bool,
#[structopt(long = "minor", group = "vers")]
minor: bool,
#[structopt(long = "patch", group = "vers")]
patch: bool,
}
fn main() {
let opt = Opt::from_args();
println!("{:?}", opt);
}