24 releases
0.2.10 | Mar 16, 2023 |
---|---|
0.2.7 | Jan 13, 2023 |
0.2.6 | Dec 22, 2022 |
0.2.5 | Nov 24, 2022 |
0.1.2 | Feb 16, 2022 |
#17 in Command-line interface
66,427 downloads per month
Used in 96 crates
(76 directly)
1MB
15K
SLoC
clap_mangen
Manpage generation for
clap
Dual-licensed under Apache 2.0 or MIT.
About
Generate ROFF from a clap::Command
.
Example
We're going to assume you want to generate your man page as part of your development rather than your shipped program having a flag to generate it.
Run
$ cargo add --build clap_mangen
In your build.rs
:
fn main() -> std::io::Result<()> {
let out_dir = std::path::PathBuf::from(std::env::var_os("OUT_DIR").ok_or(std::io::ErrorKind::NotFound)?);
let cmd = clap::Command::new("mybin")
.arg(clap::arg!(-n --name <NAME>))
.arg(clap::arg!(-c --count <NUM>));
let man = clap_mangen::Man::new(cmd);
let mut buffer: Vec<u8> = Default::default();
man.render(&mut buffer)?;
std::fs::write(out_dir.join("mybin.1"), buffer)?;
Ok(())
}
Tip: Consider a cargo xtask instead of a build.rs
to reduce build costs.
Dependencies
~0.1–0.9MB
~18K SLoC