1 unstable release
0.1.0 | Sep 17, 2024 |
---|
#825 in Rust patterns
9KB
138 lines
clap-doc
Create markdown descriptions for clap::Command
s.
So given the following rust code:
/// Rust's package manager
#[derive(clap::Parser)]
#[command(name = "cargo")]
enum Cargo {
/// Compile a local package and all of its dependencies
Build {
/// Build artifacts in release mode, with optimizations
#[arg(short, long)]
release: bool,
},
/// Run a binary or example of the local package
Run {
/// Arguments for the binary or example to run
args: Vec<String>,
},
/// Remove artifacts that cargo has generated in the past
Clean,
}
You get the markdown that follows, with subcommands handled as you'd expect.
cargo
Rust's package manager
Usage: cargo <COMMAND>
Commands:
build Compile a local package and all of its dependencies
run Run a binary or example of the local package
clean Remove artifacts that cargo has generated in the past
cargo
build
Compile a local package and all of its dependencies
Usage: cargo build [OPTIONS]
Options:
-r, --release
Build artifacts in release mode, with optimizations
cargo
run
Run a binary or example of the local package
Usage: cargo run [ARGS]...
Arguments:
[ARGS]...
Arguments for the binary or example to run
cargo
clean
Remove artifacts that cargo has generated in the past
Usage: cargo clean
Dependencies
~1MB
~15K SLoC