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;
10pub mod git;
11mod level;
12mod registry;
13mod report;
14mod rule;
15mod scope;
16pub mod template;
17mod walker;
18pub mod when;
19
20pub use config::{
21    Config, ContentSourceSpec, ExtendsEntry, FileAppendFinalNewlineFixSpec, FileAppendFixSpec,
22    FileCollapseBlankLinesFixSpec, FileCreateFixSpec, FileNormalizeLineEndingsFixSpec,
23    FilePrependFixSpec, FileRemoveFixSpec, FileRenameFixSpec, FileStripBidiFixSpec,
24    FileStripBomFixSpec, FileStripZeroWidthFixSpec, FileTrimTrailingWhitespaceFixSpec, FixSpec,
25    NestedRuleSpec, PathsSpec, RuleSpec, resolve_content_source,
26};
27pub use engine::{Engine, RuleEntry};
28pub use error::{Error, Result};
29pub use facts::{FactKind, FactSpec, FactValue, FactValues, evaluate_facts};
30pub use level::Level;
31pub use registry::{RuleBuilder, RuleRegistry};
32pub use report::{FixItem, FixReport, FixRuleResult, FixStatus, Report};
33pub use rule::{
34    Context, FixContext, FixOutcome, Fixer, ReadForFix, Rule, RuleResult, Violation,
35    check_fix_size, read_for_fix,
36};
37pub use scope::Scope;
38pub use walker::{FileEntry, FileIndex, WalkOptions, walk};
39pub use when::{WhenEnv, WhenError, WhenExpr};