1 个不稳定版本
0.1.0 | 2023年1月12日 |
---|
#470 在 Cargo 插件
5KB
60 行
cargo-nag:编写自定义 Rust linters 的实验性工具包
如何编写 lints?
使用 nag-toolkit 库,调用 declare_lints!()
宏并导出结果的 ::register()
函数:请参见 example-nag-linter/src/lints.rs 作为示例。
您可以为您的库用户提供带有 lints 的 crate,或者将它们写在与您的 linter 相同的 crate 中。
nightly-rustc 文档,特别是关于 LateLintPass 的部分,在编写 lints 时非常有用。
如何编写一个 linter?
使用 nag-driver 库,调用 nag_driver::run()
或 nag_driver::Driver::with_callback()
,然后调用 .run()
:请参见 example-nag-linter/src/main.rs 作为示例。
如何使用 linter?
安装 cargo-nag
二进制文件。设置环境变量 CARGO_NAG_LINTER_DIR
为您的 linter 源代码的绝对路径,然后运行 cargo nag
。它将为您编译和运行 linter。
依赖
~4–6MB
~110K SLoC