7 个版本 (破坏性更新)
0.8.0 | 2023 年 9 月 20 日 |
---|---|
0.7.0 | 2023 年 9 月 20 日 |
0.6.0 | 2023 年 9 月 15 日 |
0.5.0 | 2023 年 9 月 14 日 |
0.1.0 | 2023 年 9 月 14 日 |
#127 在 #scan
每月 43 次下载
36KB
566 行
概述
这是一个简单的 crate,允许我们扫描当前工作空间中的一个或所有 crate。
我们还可以用它来扫描 vendored crate。
这有助于我们在 crate 中直接搜索特性、函数、结构体、枚举、类型名称和宏定义。
该 crate 使用 rust-analyzer API 来执行繁重的任务。
用法
我通常这样使用它
[build-dependencies]
scan-crate-for-typedefs = "0.6.0"
//this is the `build.rs` file for one of the most
// stable crates in the workspace:
use scan_crate_for_typedefs::*;
fn main() -> std::io::Result<()> {
let typemap = PersistentWorkspaceTypeMap::new_with_path("..")?;
Ok(())
}
然后,我们只需要构建项目,我们就会在顶层得到一个 rust-workspace-typemap.json
我通常解析 cargo build 的输出以找到找不到的类型。
接下来,我扫描文件中包含的索引,以确定它们属于哪个 crate。
依赖项
~13–24MB
~366K SLoC