Skip to main content

diffguard_domain/
lib.rs

1//! Domain logic: preprocessing + rule evaluation.
2//!
3//! This crate is designed to be I/O-free and highly testable.
4
5pub mod evaluate;
6pub mod overrides;
7pub mod preprocess;
8pub mod rules;
9pub mod suppression;
10
11pub use evaluate::{
12    Evaluation, InputLine, RuleHitStat, evaluate_lines, evaluate_lines_with_overrides,
13    evaluate_lines_with_overrides_and_language,
14};
15pub use overrides::{
16    DirectoryRuleOverride, OverrideCompileError, ResolvedRuleOverride, RuleOverrideMatcher,
17};
18pub use preprocess::{Language, PreprocessOptions, Preprocessor};
19pub use rules::{CompiledRule, RuleCompileError, compile_rules, detect_language};
20pub use suppression::{
21    EffectiveSuppressions, Suppression, SuppressionKind, SuppressionTracker, parse_suppression,
22};