37 个版本
0.2.23 | 2024年7月25日 |
---|---|
0.2.20 | 2024年2月8日 |
0.2.16 | 2023年12月28日 |
0.2.15 | 2023年10月24日 |
0.1.2 | 2022年2月16日 |
#172 在 命令行界面
165,661 每月下载量
被 241 个 crate(直接使用) 使用
110KB
664 行
clap_mangen
为
clap
生成 man 页
双授权于 Apache 2.0 或 MIT。
关于
从 clap::Command
生成 ROFF。
示例
我们假设您想在开发过程中而不是在您的程序中包含生成标志的情况下生成您的 man 页。
运行
$ cargo add --build clap_mangen
在您的 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(())
}
提示:考虑使用 cargo xtask 而不是 build.rs
以降低构建成本。
依赖项
~0.8–1.5MB
~28K SLoC