10 releases
0.3.6 | Jul 28, 2020 |
---|---|
0.3.5 | Sep 22, 2019 |
0.3.4 | Aug 13, 2019 |
0.3.2 | May 21, 2019 |
0.1.0 | Oct 7, 2018 |
#353 in Command-line interface
313 downloads per month
Used in 8 crates
32KB
418 lines
structopt-flags
A set of reusable flags and option for your CLIs using StructOpt
Getting started
Add the crate to your project, adding this in Cargo.toml
:
[dependencies]
structopt-flags = "0.3"
In your code, you can use one or more flags provided by this crate. For instance:
extern crate structopt;
extern crate structopt_flags;
use structopt::StructOpt;
use structopt_flags::LogLevel; // traits for flags that can provide a log level
#[derive(Debug, StructOpt)]
#[structopt(name = "verbose", about = "An example using verbose flag")]
struct Opt {
#[structopt(flatten)]
verbose: structopt_flags::Verbose,
}
fn main() {
let opt = Opt::from_args();
let _log_level = opt.verbose.get_level_filter();
// set the log level of your preferred log crate
}
simplelog
Feature
A non-default feature added in version 0.3 is an API to automatically configure simplelog
depending on you log or verbosity level.
To use this feature, add in your Cargo.toml
[dependencies]
structopt-flags = { version = "0.3", features = ["simplelog"] }
License
Licensed under:
- BSD 3-Clause License (LICENSE or https://opensource.org/licenses/BSD-3-Clause )
Dependencies
~3–5.5MB
~88K SLoC