clap/clap_man/tests/generate.rs
Sondre Nilsen 0b045f5d0d
feat(man): Initial man generator (#3174)
This is an initial implementation with plenty of room to grow, including
- Allowing pulling out a subset of the generated man page for greater customization
- Subcommand handling
- Extra sections
- Consolidate argument formatter after #2914

Fixes #552
2022-01-28 14:55:55 -06:00

29 lines
1 KiB
Rust

use clap::{arg, App};
use clap_man::generate_manpage;
use std::io;
#[test]
fn render_manpage() {
let mut app = App::new("myapp")
.version("1.0")
.author("Kevin K. <kbknapp@gmail.com>")
.about("Does awesome things")
.long_about("With a longer description to help clarify some things.")
.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")
.required(false)
.takes_value(true),
)
.arg(arg!([output] "Sets an optional output file").index(1))
.arg(arg!(-d --debug ... "Turn debugging information on"))
.subcommand(
App::new("test")
.about("does testing things")
.arg(arg!(-l --list "Lists test values")),
);
generate_manpage(&mut app, &mut io::sink()).unwrap();
}