mod flags {
#![allow(unused)]
xflags::xflags! {
src "./examples/hello-generated.rs"
cmd hello {
required name: String
optional -e, --emoji
}
}
#[derive(Debug)]
pub struct Hello {
pub name: String,
pub emoji: bool,
}
impl Hello {
#[allow(dead_code)]
pub fn from_env() -> xflags::Result<Self> {
Self::from_env_()
}
#[allow(dead_code)]
pub fn from_vec(args: Vec<std::ffi::OsString>) -> xflags::Result<Self> {
Self::from_vec_(args)
}
}
}
fn main() {
match flags::Hello::from_env() {
Ok(flags) => {
let bang = if flags.emoji { "❣️" } else { "!" };
println!("Hello {}{}", flags.name, bang);
}
Err(err) => err.exit(),
}
}