#cargo #search #cargo-subcommand #cli #subcommand

app cargo-ssearch

cargo-ssearch:增强版的 cargo search

4 个版本

使用旧版 Rust 2015

0.1.3 2018年10月7日
0.1.2 2018年6月21日
0.1.1 2018年4月9日
0.1.0 2018年4月9日

#552Cargo 插件

每月 25 次下载

MIT 许可证

14KB
194

cargo ssearch -- 增强版的 cargo search

使用 cargo search 时,你可能会错过一些常用包,例如 cargo search serialize 默认输出不会显示 serde,而且只有当你请求前 20 个结果时才会显示 serde_json

这个搜索工具会将结果按下载量(或最近下载量)排序,并可选地显示其他有用的资源,如主页和文档,供用户查看。输出使用颜色来区分结果(希望更清晰)。

使用方法非常简单,只需输入 cargo ssearch --help

cargo-ssearch-ssearch 0.1.2
Marcello Seri <marcello.seri@gmail.com>
cargo search on steroids
USAGE:
    cargo ssearch [FLAGS] [OPTIONS] <query>
FLAGS:
    -h, --help       Prints help information
    -q, --quiet      quiet output, display only crate, version and downloads
    -r, --recent     sort by recent downloads instead of overall downloads
    -V, --version    Prints version information
OPTIONS:
    -l, --limit <limit>    how many packages to display [default: 10]
        --page <page>      the crates.io search result page to display [default: 1]
ARGS:
    <query>    query string for crates.io

这个软件是一个非常快速的破解版,但我正在使用它,并且对它的功能感到满意。信息直接来自 crates.io。

构建

只需克隆仓库,然后用 cargo 编译即可

$ git clone https://github.com/mseri/scrutch
$ cd scrutch
$ cargo build --release

然后可以通过 cargo 本身运行此工具,或将其安装在本地路径并作为独立应用程序运行。

示例

$ cargo ssearch serialize --limit 20 -q
Displaying 20 crates from page 1 out of the 466 found.
serde                   = "1.0.37"      (downloads: 5160233)
rustc-serialize         = "0.3.24"      (downloads: 4389049)
serde_json              = "1.0.13"      (downloads: 2730954)
toml                    = "0.4.6"       (downloads: 2190141)
quote                   = "0.5.1"       (downloads: 2127675)
serde_derive            = "1.0.37"      (downloads: 1870124)
serde_derive_internals  = "0.23.0"      (downloads: 1376928)
xml-rs                  = "0.7.0"       (downloads: 880986)
serde_codegen_internals = "0.14.2"      (downloads: 741492)
serde_codegen           = "0.9.0"       (downloads: 639554)
handlebars              = "1.0.0-beta.1"        (downloads: 440993)
cargo_metadata          = "0.5.4"       (downloads: 378409)
bincode                 = "1.0.0"       (downloads: 331593)
serde_urlencoded        = "0.5.1"       (downloads: 260365)
serde_macros            = "0.8.9"       (downloads: 209024)
serde_cbor              = "0.8.2"       (downloads: 179360)
serde_yaml              = "0.7.3"       (downloads: 162988)
postgres                = "0.15.2"      (downloads: 99893)
rmp                     = "0.8.7"       (downloads: 99743)
sodiumoxide             = "0.0.16"      (downloads: 87682)
$ cargo ssearch serialize -q --limit 20 -r
Displaying 20 crates from page 1 out of the 466 found.
serde                   = "1.0.37"      (downloads: 5160233)
quote                   = "0.5.1"       (downloads: 2127675)
serde_json              = "1.0.13"      (downloads: 2730954)
serde_derive            = "1.0.37"      (downloads: 1870124)
serde_derive_internals  = "0.23.0"      (downloads: 1376928)
toml                    = "0.4.6"       (downloads: 2190141)
rustc-serialize         = "0.3.24"      (downloads: 4389049)
cargo_metadata          = "0.5.4"       (downloads: 378409)
xml-rs                  = "0.7.0"       (downloads: 880986)
handlebars              = "1.0.0-beta.1"        (downloads: 440993)
serde_urlencoded        = "0.5.1"       (downloads: 260365)
bincode                 = "1.0.0"       (downloads: 331593)
rustc-ap-serialize      = "92.0.0"      (downloads: 69093)
serde_codegen_internals = "0.14.2"      (downloads: 741492)
serde_yaml              = "0.7.3"       (downloads: 162988)
encoding_rs             = "0.7.2"       (downloads: 85705)
serde_cbor              = "0.8.2"       (downloads: 179360)
serde_codegen           = "0.9.0"       (downloads: 639554)
serde_test              = "1.0.37"      (downloads: 82573)
rmp                     = "0.8.7"       (downloads: 99743)
$ cargo ssearch serialize
Displaying 10 crates from page 1 out of the 466 found.

serde                   = "1.0.37"      (downloads: 5160233)
 -> A generic serialization/deserialization framework
    docs: https://docs.serde.rs/serde/
    home: https://serde.rs

rustc-serialize         = "0.3.24"      (downloads: 4389049)
 -> Generic serialization/deserialization support corresponding to the
`derive(RustcEncodable, RustcDecodable)` mode in the compiler. Also includes
support for hex, base64, and json encoding and decoding.
    docs: https://doc.rust-lang.net.cn/rustc-serialize
    home: https://github.com/rust-lang/rustc-serialize

serde_json              = "1.0.13"      (downloads: 2730954)
 -> A JSON serialization file format
    docs: http://docs.serde.rs/serde_json/

toml                    = "0.4.6"       (downloads: 2190141)
 -> A native Rust encoder and decoder of TOML-formatted files and streams. Provides
implementations of the standard Serialize/Deserialize traits for TOML data to
facilitate deserializing and serializing Rust structures.
    docs: https://docs.rs/toml
    home: https://github.com/alexcrichton/toml-rs

quote                   = "0.5.1"       (downloads: 2127675)
 -> Quasi-quoting macro quote!(...)
    docs: https://docs.rs/quote/

serde_derive            = "1.0.37"      (downloads: 1870124)
 -> Macros 1.1 implementation of #[derive(Serialize, Deserialize)]
    docs: https://serde.rs/codegen.html
    home: https://serde.rs

serde_derive_internals  = "0.23.0"      (downloads: 1376928)
 -> AST representation used by Serde derive macros. Unstable.
    docs: https://docs.serde.rs/serde_derive_internals/
    home: https://serde.rs

xml-rs                  = "0.7.0"       (downloads: 880986)
 -> An XML library in pure Rust
    docs: http://netvl.github.io/xml-rs/

serde_codegen_internals = "0.14.2"      (downloads: 741492)
 -> AST representation used by Serde codegen. Unstable.
    docs: https://docs.serde.rs/serde_codegen_internals/
    home: https://serde.rs

serde_codegen           = "0.9.0"       (downloads: 639554)
 -> Macros to auto-generate implementations for the serde framework
    docs: https://serde.rs/codegen.html
    home: https://serde.rs


待办事项

该工具从未更新,因为它仍然正常工作。很乐意找到时间将代码更新到更现代和符合 Rust 风格的版本。

依赖项

~22–33MB
~567K SLoC