#cargo-command #search-pattern #cargo #cargo-subcommand #crates #version #cli

app cargo-crate

一组与 crate 相关的 cargo 命令。例如,您可以获取 crate 的信息,包括 crate 的所有者和版本,以文本或 json 格式。

12 个版本

0.2.4 2024 年 7 月 20 日
0.2.2 2023 年 6 月 29 日
0.2.1 2023 年 4 月 28 日
0.1.8 2023 年 1 月 11 日
0.0.3 2022 年 5 月 12 日

Cargo 插件 中排名 62

Download history 140/week @ 2024-07-20 16/week @ 2024-07-27 1/week @ 2024-08-03

每月下载 157

MIT 许可协议

39KB
580

cargo-crate

简介

cargo-crate 是为您的 crate(s) 提供的一个额外的 cargo 命令。

功能

简而言之,cargo-crate 允许

  • 检索关于一个或多个 crate 的信息,包括所有者

  • 在 crates.io 中打开 crate(s)

  • 直接打开 crate 的文档

  • 直接打开 crate 的仓库

  • 直接打开 crate 的主页

  • 通过模式搜索 crate

您可以通过 crate 的名称(如 cargo-crate)或提供包的路径,甚至是一个工作空间。

以下命令可能很有用

  • cargocrate open .
  • cargocrate open . --doc
  • cargo crate open . --repo(如果您喜欢,可以查看 chevdor/gho
  • cargocrate info .

对于上述所有命令,如果您在一个工作空间中工作,所有相关的 crate 都将被处理。

类似的项目

cargo-crate 基本上与以下(我认为更好)的组合做相同的事情:

  • cargo-show
  • cargo-info
  • cargo-open
  • cargo-search

安装

cargo instal cargo-crate

别名

您通常使用 cargo-crate 作为 cargo crate <command> [args],这可能显得有点冗长。为了方便起见,cargo 允许在您的 $CARGO_HOME/config 文件中的 [alias] 部分定义别名。

例如,您可以添加

[alias]
...
open = "crate open"
info = "crate info"
show = "crate info"
repo = "crate open --repo"
home = "crate open --home"
docu = "crate open --doc"

这将为您提供以下调用

  • cargo repo clap 打开 clap 文档

  • cargo home clap 打开 clap 主页

  • 等等...

用法

cargo-crate 可以通过 cargo cratecargo-crate 启动。

帮助

You can find all available commands below

Usage: cargo-crate [OPTIONS] <COMMAND>

Commands:
  info    The `info` command returns summarized information
  open    Opens the crate in a browser
  search  Search crates.io and return a list of crates matching your search pattern
  help    Print this message or the help of the given subcommand(s)

Options:
  -j, --json     Output as json
  -h, --help     Print help
  -V, --version  Print version

信息命令

The `info` command returns summarized information

Usage: cargo-crate info [OPTIONS] [CRATE_NAMES]...

Arguments:
  [CRATE_NAMES]...  One or more crate, passed as name or path

Options:
  -j, --json                         Output as json
  -m, --max-versions <MAX_VERSIONS>  Limit the number of versions that are displayed. You can push the limit using this flag [default: 10]
  -h, --help                         Print help
  -V, --version                      Print version

打开命令

Opens the crate in a browser

Usage: cargo-crate open [OPTIONS] [CRATE_NAMES]...

Arguments:
  [CRATE_NAMES]...  The name(s) of the crate to open in your browser

Options:
  -j, --json           Output as json
      --repository     Open crates.io by default, use this flag to open the repo instead
      --homepage       Open crates.io by default, use this flag to open the homepage instead
      --documentation  Open crates.io by default, use this flag to open the documentation instead
  -h, --help           Print help
  -V, --version        Print version

搜索命令

Search crates.io and return a list of crates matching your search pattern

Usage: cargo-crate search [OPTIONS] <PATTERN>

Arguments:
  <PATTERN>  You search pattern

Options:
  -j, --json           Output as json
  -l, --limit <LIMIT>  Number of expected results: 0..100 [default: 12]
  -r, --raw            Show only the list of crates, without extra information
  -h, --help           Print help
  -V, --version        Print version

高级用法

cargo-crate 可以与 fzf 一起使用,以实现强大的交互式搜索。

function crate_search() {
    PATTERN=${@};
    if [ $PATTERN ]; then
        cargo-crate search --raw -l 100 $PATTERN | fzf -m -i --preview 'cargo-crate info {}' --query "$PATTERN"
    else
        echo You must provide a starting search pattern
        exit 1
    fi
}

可以进行一些有趣的事情,例如 这样

依赖

~15–28MB
~406K SLoC