1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
use clap::{arg, Command};
use clap_mangen::Man;
use std::io;
fn main() -> Result<(), std::io::Error> {
let cmd = Command::new("myapp")
.version("1.0")
.author("Kevin K. <kbknapp@gmail.com>:Ola Nordmann <old@nordmann.no>")
.about("Does awesome things")
.long_about(
"With a longer description to help clarify some things.
And a few newlines.",
)
.after_help("This is an extra section added to the end of the manpage.")
.after_long_help("With even more text added.")
.arg(
arg!(-c --config <FILE> "Sets a custom config file")
.long_help("Some more text about how to set a custom config file")
.default_value("config.toml")
.env("CONFIG_FILE"),
)
.arg(arg!([output] "Sets an output file").default_value("result.txt"))
.arg(
arg!(-d --debug ... "Turn debugging information on")
.env("DEBUG_ON")
.hide_env(true),
)
.subcommand(
Command::new("test")
.about("does testing things")
.arg(arg!(-l --list "Lists test values")),
);
Man::new(cmd).render(&mut io::stdout())
}