#cargo #dependencies #cli #crates

app rhack

对您的 Rust 依赖项进行临时编辑

1 个不稳定版本

0.1.0 2021 年 3 月 28 日

#20#crate

自定义许可协议

15KB
309

rhack

您是否想快速将类似于 dbg! 的宏添加到外部 crate 中以了解某些内部数据结构的工作方式?如果是这样,那么 rhack 就是为您准备的!

rhack 可以让您更容易地编辑项目所依赖的外部 crate 的代码。

用法

假设您想修改 reqwest crate。

[dependencies]
reqwest = "0.11"

运行以下命令:

$ rhack edit reqwest

这将在 $HOME/.rhack/reqwest-0.11.1 中创建 crate 的副本,并将其路径添加到 Cargo.toml 中的 [patch] 部分,路径会自动检测

[patch.crates-io]
reqwest = { path = "/home/you/.rhack/reqwest-0.11.1" }

现在,您的包使用的是本地签出的副本,而不是来自 crates.io 的副本。您现在可以打开文件(通常通过利用“跳转到定义”功能),然后随意修改源代码。

撤销

只需运行 undo 命令,然后您就可以撤销对 Cargo.toml 的所有更改

$ rhack undo

请注意,此命令不会删除任何 crate 的副本。

设置

它默认使用 $HOME/.rhack 作为外部 crate 源代码的副本目的地。您可以通过设置并暴露 $RHACK_DIR 环境变量来更改它。

致谢

这个工具高度受到 gohack 的启发。它清楚地刺激了创作的动力。向他们表示衷心的“谢谢!”

依赖项

~4–13MB
~143K SLoC