Module rules

Module rules 

Source
Available on crate feature analysis only.
Expand description

Built-in linting rules for ASS script validation.

This module contains implementations of all built-in linting rules that check for common issues in ASS subtitle scripts. Each rule is implemented in a separate module for better maintainability.

§Rule Categories

  • Timing Rules: Check for overlaps, negative durations, and timing issues
  • Style Rules: Validate style references and color formats
  • Content Rules: Check tag validity and text formatting
  • Performance Rules: Detect performance-impacting patterns
  • Accessibility Rules: Ensure compatibility and readability

§Example

use ass_core::analysis::linting::rules::BuiltinRules;
use ass_core::analysis::linting::LintRule;
use ass_core::{Script, ScriptAnalysis};

let script = Script::parse("...")?;
let rules = BuiltinRules::all_rules();

for rule in rules {
    let analysis = ScriptAnalysis::analyze(&script).unwrap();
    let issues = rule.check_script(&analysis);
    for issue in issues {
        println!("{}: {}", rule.name(), issue.message());
    }
}

Re-exports§

pub use accessibility::AccessibilityRule;
pub use encoding::EncodingRule;
pub use invalid_color::InvalidColorRule;
pub use invalid_tag::InvalidTagRule;
pub use missing_style::MissingStyleRule;
pub use negative_duration::NegativeDurationRule;
pub use performance::PerformanceRule;
pub use timing_overlap::TimingOverlapRule;

Modules§

accessibility
Accessibility issue detection rule for ASS script linting.
encoding
Encoding issue detection rule for ASS script linting.
invalid_color
Invalid color format detection rule for ASS script linting.
invalid_tag
Invalid tag detection rule for ASS script linting.
missing_style
Missing style reference detection rule for ASS script linting.
negative_duration
Negative duration detection rule for ASS script linting.
performance
Performance issue detection rule for ASS script linting.
timing_overlap
Timing overlap detection rule for ASS script linting.

Structs§

BuiltinRules
Built-in lint rules registry