#clap #structopt #flags

clap_flags

Collection of reusable flags for Clap

5 releases (breaking)

0.5.0 Mar 2, 2020
0.4.0 May 26, 2019
0.3.0 Aug 22, 2018
0.2.0 Aug 6, 2018
0.1.0 Aug 6, 2018

#2 in #structopt-structopt

Download history 42/week @ 2023-11-06 31/week @ 2023-11-13 53/week @ 2023-11-20 40/week @ 2023-11-27 14/week @ 2023-12-04 17/week @ 2023-12-11 27/week @ 2023-12-18 24/week @ 2023-12-25 7/week @ 2024-01-01 22/week @ 2024-01-08 44/week @ 2024-01-15 18/week @ 2024-01-22 36/week @ 2024-01-29 21/week @ 2024-02-05 35/week @ 2024-02-12 142/week @ 2024-02-19

235 downloads per month
Used in 3 crates

MIT/Apache

23KB
90 lines

clap_flags

crates.io version build status downloads docs.rs docs

Collection of reusable flags for Clap.

Usage

#[derive(structopt::StructOpt, paw_structopt::StructOpt)]
#[structopt(author = "", raw(setting = "structopt::clap::AppSettings::ColoredHelp"))]
struct Args {
    #[structopt(flatten)]
    address: clap_flags::Address,
    #[structopt(flatten)]
    logger: clap_flags::Log,
    #[structopt(flatten)]
    port: clap_flags::Port,
}

#[async_std::main]
#[paw::main]
async fn main(args: Args) -> Result<(), Box<dyn std::error::Error + Send + Sync + 'static>> {
    args.logger.start(env!("CARGO_PKG_NAME"))?;
    let mut app = tide::new();
    app.at("/").get(async move |_| "Hello, world!");
    app.listen((&*args.address.address, args.port.port)).await?;
    Ok(())
}

Output

clap_flags 0.3.0
Collection of reusable flags for Clap

USAGE:
    main [FLAGS] [OPTIONS]

FLAGS:
    -h, --help         Prints help information
        --log-all      Enable log output from dependencies
    -P, --pretty       Enable pretty printing
    -q, --quiet        Suppress all log output
    -V, --version      Prints version information
    -v, --verbosity    Print more log output

OPTIONS:
    -a, --address <address>    Network address [default: 127.0.0.1]
    -p, --port <port>          Insecure HTTP port [env: PORT=]  [default: 80]

Installation

$ cargo add clap_flags

License

MIT OR Apache-2.0

Dependencies

~4.5–6MB
~109K SLoC