• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //! How to use flattening.
2 //!
3 //! Running this example with --help prints this message:
4 //! -----------------------------------------------------
5 //! structopt 0.3.25
6 //!
7 //! USAGE:
8 //!     flatten [FLAGS] -g <group> -u <user>
9 //!
10 //! FLAGS:
11 //!     -h, --help       Prints help information
12 //!     -V, --version    Prints version information
13 //!     -v               switch verbosity on
14 //!
15 //! OPTIONS:
16 //!     -g <group>        daemon group
17 //!     -u <user>         daemon user
18 //! -----------------------------------------------------
19 
20 use structopt::StructOpt;
21 
22 #[derive(StructOpt, Debug)]
23 struct Cmdline {
24     /// switch verbosity on
25     #[structopt(short)]
26     verbose: bool,
27 
28     #[structopt(flatten)]
29     daemon_opts: DaemonOpts,
30 }
31 
32 #[derive(StructOpt, Debug)]
33 struct DaemonOpts {
34     /// daemon user
35     #[structopt(short)]
36     user: String,
37 
38     /// daemon group
39     #[structopt(short)]
40     group: String,
41 }
42 
main()43 fn main() {
44     let opt = Cmdline::from_args();
45     println!("{:?}", opt);
46 }
47