Directives used to configure or ignore rules. These take place of comments over nodes or comments at the top level.
Commonly used items by rules. These include some AST definitions, and utilities.
General utilities to make linting easier.
A macro to easily generate rule boilerplate code.
Macro for easily making a rule group hashmap.
This will call
A macro for generating linter rule tests.
A simple builder for creating codespan diagnostics sequentially
A label describing an underlined region of code associated with a diagnostic.
The result of linting a file.
Context given to a rule when running it.
The result of running a single rule on a syntax tree.
The overall result of running a single rule or linting a file.
The level configured for a rule.
A severity level for diagnostic messages.
The main type of rule run by the runner. The rule takes individual
nodes inside of a Concrete Syntax Tree and checks them.
It may also take individual syntax tokens.
Rule must be all be
A generic trait which describes things common to a rule regardless on what they run on.
A value which can be used as the range inside of a diagnostic.
Get a group's rules by the group name.
Get a rule by its kebab-case name.
Get a suggestion for an incorrect rule name for things such as "did you mean ...?"
Lint a file with a specific rule store.
The type of errors, warnings, and notes emitted by the linter.