[][src]Crate rslint_core

Re-exports

pub use crate::directives::apply_top_level_directives;

Modules

directives

Directives used to configure or ignore rules. These take place of comments over nodes or comments at the top level.

groups

All of the groups of built in rules in the linter.

rule_prelude

Commonly used items by rules. These include some AST definitions, and utilities.

util

General utilities to make linting easier.

Macros

declare_lint

A macro to easily generate rule boilerplate code.

group

Macro for easily making a rule group hashmap. This will call ::new() on each rule.

rule_tests

A macro for generating linter rule tests.

Structs

CstRuleStore

A utility structure for housing CST rules for a linting run.

DiagnosticBuilder

A simple builder for creating codespan diagnostics sequentially

Directive

A command given to the linter by an inline comment. A single command may include multiple commands inside of it. A directive constitutes a single comment, which may have one or more commands inside of it.

DirectiveParser
Label

A label describing an underlined region of code associated with a diagnostic.

LintResult

The result of linting a file.

RuleCtx

Context given to a rule when running it.

RuleResult

The result of running a single rule on a syntax tree.

Enums

Outcome

The overall result of running a single rule or linting a file.

RuleLevel

The level configured for a rule.

Severity

A severity level for diagnostic messages.

Traits

CstRule

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 Send + Sync, because rules are run in parallel.

Rule

A generic trait which describes things common to a rule regardless on what they run on.

Span

A value which can be used as the range inside of a diagnostic.

Functions

get_group_rules_by_name

Get a group's rules by the group name.

get_rule_by_name

Get a rule by its kebab-case name.

get_rule_suggestion

Get a suggestion for an incorrect rule name for things such as "did you mean ...?"

lint_file

Lint a file with a specific rule store.

run_rule

Run a single run on an entire parsed file.

Type Definitions

Diagnostic

The type of errors, warnings, and notes emitted by the linter.