hello_generated/
hello-generated.rs1mod flags {
2 #![allow(unused)]
3
4 xflags::xflags! {
5 src "./examples/hello-generated.rs"
6
7 cmd hello {
9 required name: String
11
12 optional -e, --emoji
14 }
15 }
16
17 #[derive(Debug)]
21 pub struct Hello {
22 pub name: String,
23
24 pub emoji: bool,
25 }
26
27 impl Hello {
28 #[allow(dead_code)]
29 pub fn from_env() -> xflags::Result<Self> {
30 Self::from_env_()
31 }
32
33 #[allow(dead_code)]
34 pub fn from_vec(args: Vec<std::ffi::OsString>) -> xflags::Result<Self> {
35 Self::from_vec_(args)
36 }
37 }
38 }
40
41fn main() {
42 match flags::Hello::from_env() {
43 Ok(flags) => {
44 let bang = if flags.emoji { "❣️" } else { "!" };
45 println!("Hello {}{}", flags.name, bang);
46 }
47 Err(err) => err.exit(),
48 }
49}