13 个版本

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.1.5 2022年5月23日

#107Cargo 插件

Download history 1025/week @ 2024-05-03 940/week @ 2024-05-10 1032/week @ 2024-05-17 1593/week @ 2024-05-24 1044/week @ 2024-05-31 651/week @ 2024-06-07 1413/week @ 2024-06-14 1146/week @ 2024-06-21 635/week @ 2024-06-28 442/week @ 2024-07-05 1084/week @ 2024-07-12 1238/week @ 2024-07-19 883/week @ 2024-07-26 644/week @ 2024-08-02 1019/week @ 2024-08-09 859/week @ 2024-08-16

每月 下载 3,722
用于 cargo-crate

MIT 许可证

16KB
275

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 <命令> [参数],这可能会显得有些冗长。为了让它更易于使用,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
}

允许做类似 这样的事情

依赖

~10–21MB
~295K SLoC