Crate clap_doc

Crate clap_doc 

Source
Expand description

§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

Functions§

markdown
Create a markdown description for the given Command.
markdown_for
Create a markdown description for the given CommandFactory.