#命令行界面 #cargo # #命令 #clap-parser #最新版本 #cli

app cargo-cli

使用一些常用依赖(clap 或 docopt)和 error_chain 创建命令行界面二进制文件

3个版本 (1个稳定版)

使用旧的Rust 2015

1.0.0 2018年8月25日
0.1.1 2018年3月29日
0.1.0 2017年6月30日

#1836解析实现

每月21次下载

MIT/Apache

51KB
1K SLoC

cargo-cli

使用一些常用依赖(clapdocopt)和 error_chain 创建命令行界面二进制文件

安装

cargo安装 cargo-cli

使用方法

通常,这个扩展的使用方式与使用 cargo new --bin 相同。大多数 cargo new 支持的命令行参数都由 cargo cli 支持,并且实际上通过 cargo new 传递。

此外,cargo cli 还支持以下选项

  • arg_parser:指定在生成的输出中使用的参数解析器。[默认:clap] [值:clap, docopt]
  • license:指定要包含在生成的输出中的许可协议。[默认:两者] [值:both, mit, apache, none]
  • no-readme:关闭 README.md 的生成。
  • no-latest:关闭 crates.io 对最新版本的查询(使用默认值)。
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>

示例

使用 clap

cargocli<路径>

使用 docopt

cargocli -adocopt<路径>

不包含许可协议或 README.md

cargocli --许可协议none --no-readme <路径>

使用一些 cargo new 参数

cargocli --vcspijul -vv -adocopt --名称flambe<路径>

CLI布局

默认

.
├── Cargo.toml
├── LICENSE-APACHE
├── LICENSE-MIT
├── README.md
└── src
    ├── error.rs
    ├── main.rs
    └── run.rs

不包含许可协议或 README.md

.
├── Cargo.toml
└── src
    ├── error.rs
    ├── main.rs
    └── run.rs

依赖项

~12–22MB
~331K SLoC