Skip to main content

ass_editor/utils/validator/
config.rs

1//! Configuration for the lazy validator.
2//!
3//! Defines `ValidatorConfig`, controlling validation behavior such as
4//! enabled rule sets, severity thresholds, and caching intervals.
5
6use super::ValidationSeverity;
7
8/// Configuration for the lazy validator
9#[derive(Debug, Clone)]
10pub struct ValidatorConfig {
11    /// Enable automatic validation after document changes
12    pub auto_validate: bool,
13
14    /// Minimum time between validations
15    #[cfg(feature = "std")]
16    pub min_validation_interval: std::time::Duration,
17
18    /// Maximum number of issues to report
19    pub max_issues: usize,
20
21    /// Severity threshold for reporting issues
22    pub severity_threshold: ValidationSeverity,
23
24    /// Enable specific validation rules
25    pub enable_performance_hints: bool,
26    pub enable_accessibility_checks: bool,
27    pub enable_spec_compliance: bool,
28    pub enable_unicode_checks: bool,
29}
30
31impl Default for ValidatorConfig {
32    fn default() -> Self {
33        Self {
34            auto_validate: true,
35            #[cfg(feature = "std")]
36            min_validation_interval: std::time::Duration::from_millis(500),
37            max_issues: 100,
38            severity_threshold: ValidationSeverity::Info,
39            enable_performance_hints: true,
40            enable_accessibility_checks: true,
41            enable_spec_compliance: true,
42            enable_unicode_checks: true,
43        }
44    }
45}