1extern crate man;
2
3use man::prelude::*;
4
5fn main() {
6 let msg = Manual::new("auth-service")
7 .about("authorize & authenticate members")
8 .arg(Arg::new("path"))
9 .env(Env::new("PORT").help("The network port to listen to"))
10 .flag(
11 Flag::new()
12 .short("-h")
13 .long("--help")
14 .help("Prints help information."),
15 )
16 .flag(
17 Flag::new()
18 .short("-V")
19 .long("--version")
20 .help("Prints version information."),
21 )
22 .flag(
23 Flag::new()
24 .short("-v")
25 .long("--verbosity")
26 .help("Pass multiple times to print more information."),
27 )
28 .option(
29 Opt::new("port")
30 .short("-p")
31 .long("--port")
32 .help("The network port to listen to."),
33 )
34 .example(
35 Example::new()
36 .text("listen on port 3000")
37 .command("auth-service -p 3000")
38 .output("now listening on port 3000"),
39 )
40 .example(
41 Example::new()
42 .text("auth-service may need to be run by root")
43 .prompt("#")
44 .command("auth-service"),
45 )
46 .custom(
47 Section::new("custom section")
48 .paragraph("text for the custom section")
49 .paragraph("Additional text for the custom section"),
50 )
51 .author(Author::new("Alice Person").email("alice@person.com"))
52 .author(Author::new("Bob Human").email("bob@human.com"))
53 .render();
54 println!("{}", msg);
57}