3 releases (1 stable)
Uses old Rust 2015
1.0.0 | Aug 25, 2018 |
---|---|
0.1.1 | Mar 29, 2018 |
0.1.0 | Jun 30, 2017 |
#2572 in Parser implementations
51KB
1K
SLoC
cargo-cli
Create a command line interface binary with some common dependencies ((clap
||
docopt
) and error_chain
)
Installation
cargo install cargo-cli
Usage
In general, this is extension is used in the same manner as you would use cargo new --bin
.
Most of the command line arguments supported by cargo new
are supported by cargo cli
and are
actually passed through to cargo new
.
In addition, cargo cli
supports the following options:
arg_parser
: Specify the argument parser to use in the generated output. [default: clap] [values: clap, docopt]license
: Specify licensing to include in the generated output. [default: both] [values: both, mit, apache, none]no-readme
: Turn off README.md generation.no-latest
: Turn off the crates.io query for the latest version (use defaults).
cargo-cli 0.1.0
USAGE:
cargo-cli cli [FLAGS] [OPTIONS] <path>
FLAGS:
--frozen Require Cargo.lock and cache are up to date
-h, --help Prints help information
--locked Require Cargo.lock is up to date
--no-latest Turn off the crates.io query for the latest version (use defaults).
--no-readme Turn off README.md generation.
-q, --quiet No output printed to stdout
-v Use verbose output (-vv very verbose/build.rs output)
OPTIONS:
-a, --arg_parser <PARSER> Specify the argument parser to use in the generated output. [default: clap] [values: clap, docopt]
--color <WHEN> Coloring [default: auto] [values: auto, always, never]
--license <TYPE> Specify licensing to include in the generated output. [default: both] [values: both, mit, apache, none]
--name <NAME> Set the resulting package name, defaults to the value of <path>.
--vcs <VCS> Initialize a new repository for the given version control system
or do not initialize any version control at all, overriding a
global configuration. [default: git] [values: git, hg, pijul, fossil, none]
ARGS:
<path>
Examples
With clap
cargo cli <path>
With docopt
cargo cli -a docopt <path>
No licenses or README.md
cargo cli --license none --no-readme <path>
With some cargo new
arguments
cargo cli --vcs pijul -vv -a docopt --name flambe <path>
CLI Layout
Default
.
├── Cargo.toml
├── LICENSE-APACHE
├── LICENSE-MIT
├── README.md
└── src
├── error.rs
├── main.rs
└── run.rs
No Licenses or README.md
.
├── Cargo.toml
└── src
├── error.rs
├── main.rs
└── run.rs
Dependencies
~13–23MB
~362K SLoC