Skip to main content

alint_core/
lib.rs

1//! alint-core — engine, walker, rule trait, config AST.
2//!
3//! See `docs/design/ARCHITECTURE.md` in the alint repository for the
4//! rule model, execution order, and crate layout rationale.
5
6mod config;
7mod engine;
8mod error;
9pub mod facts;
10mod level;
11mod registry;
12mod report;
13mod rule;
14mod scope;
15pub mod template;
16mod walker;
17pub mod when;
18
19pub use config::{
20    Config, FileAppendFinalNewlineFixSpec, FileAppendFixSpec, FileCollapseBlankLinesFixSpec,
21    FileCreateFixSpec, FileNormalizeLineEndingsFixSpec, FilePrependFixSpec, FileRemoveFixSpec,
22    FileRenameFixSpec, FileStripBidiFixSpec, FileStripBomFixSpec, FileStripZeroWidthFixSpec,
23    FileTrimTrailingWhitespaceFixSpec, FixSpec, NestedRuleSpec, PathsSpec, RuleSpec,
24};
25pub use engine::{Engine, RuleEntry};
26pub use error::{Error, Result};
27pub use facts::{FactKind, FactSpec, FactValue, FactValues, evaluate_facts};
28pub use level::Level;
29pub use registry::{RuleBuilder, RuleRegistry};
30pub use report::{FixItem, FixReport, FixRuleResult, FixStatus, Report};
31pub use rule::{
32    Context, FixContext, FixOutcome, Fixer, ReadForFix, Rule, RuleResult, Violation,
33    check_fix_size, read_for_fix,
34};
35pub use scope::Scope;
36pub use walker::{FileEntry, FileIndex, WalkOptions, walk};
37pub use when::{WhenEnv, WhenError, WhenExpr};