clap-complete-command

Crates.io

Reduces boilerplate for adding a completion command to Clap

Example

```rust use clap::{IntoApp, Parser, Subcommand};

[derive(Parser)]

struct Cli { #[clap(subcommand)] command: Commands, }

[derive(Subcommand)]

enum Commands { /// Generate shell completion Completion { /// The shell to generate the completions for #[clap(argenum)] shell: clapcomplete_command::Shell, }, }

fn main() { let cli = Cli::parse();

match cli.command {
    // e.g. `$ cli completion bash`
    Commands::Completion { shell } => {
        shell.generate(
            &mut Cli::command(),
            env!("CARGO_PKG_NAME"),
            &mut std::io::stdout(),
        );
    }
}

} ```