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