1 个不稳定版本

0.1.0 2023年1月12日

#470Cargo 插件

MIT/Apache

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