#rules #linter #parallel #source #linting #file #run

rslint_core

包含 rslint 项目所有规则的代码检查核心库

7 个版本

0.3.0 2021 年 9 月 16 日
0.2.2 2020 年 10 月 21 日
0.1.2 2020 年 10 月 8 日

开发工具 中排名 #1521

Download history 11/week @ 2024-04-16 23/week @ 2024-04-23 65/week @ 2024-04-30 46/week @ 2024-05-07 12/week @ 2024-05-14 8/week @ 2024-05-21 27/week @ 2024-05-28 19/week @ 2024-06-04 53/week @ 2024-06-11 42/week @ 2024-06-18 2/week @ 2024-06-25 10/week @ 2024-07-02 43/week @ 2024-07-09 15/week @ 2024-07-16 74/week @ 2024-07-23 66/week @ 2024-07-30

每月下载量 204
2 个 软件包中使用

MIT 许可证

1MB
31K SLoC

RSLint 的核心执行器,负责代码检查的大部分工作。

该软件包不是 RSLint 专有的,可以用于任何项目。执行器负责接收规则列表和源代码,并在其上运行代码检查。将 CLI 工作和低级代码检查工作解耦是很重要的,以便重用代码检查功能。因此,核心执行器不应执行任何 rslint_cli 特定的操作。

软件包核心的结构是 CstRuleRule 特性。CST 规则运行在单个文件及其由 rslint_parser 产生的具体语法树上。规则有一些限制以提高清晰度和速度,包括

  • 所有 CST 规则必须是 SendSync,以便可以并行运行
  • 规则不得依赖于其他规则的结果,因为规则是并行运行的
  • 规则不得执行任何网络或文件请求

使用执行器

要运行执行器,您必须首先创建一个 CstRuleStore,这是存储要运行的规则的结构。然后您可以使用 lint_file

运行单个规则

要运行单个规则,您可以在 groups 模块及其子模块中找到您想要的规则。然后在语法树上完整运行规则,可以使用 run_rule

您还可以使用 CstRule 上的函数在单个节点上运行规则。⚠️ 但是请注意,许多规则依赖于检查标记或根节点,并在单个节点上运行可能会导致错误的结果,您只有在了解规则实现的情况下才应该这样做。

依赖项

~3–11MB
~111K SLoC