///|
/// Selects an ASCII Roman letter-case style requirement.
pub(all) enum RomanCaseRequirement {
AnyRomanCase
RequireRomanUppercase
RequireRomanLowercase
} derive(Eq, Debug)
///|
/// Separates broad parsing acceptance from document style requirements.
pub(all) struct RomanLintPolicy {
parse_config : ParseConfig
case_requirement : RomanCaseRequirement
allow_unicode : Bool
allow_outer_whitespace : Bool
require_canonical : Bool
include_single_symbol : Bool
retain_rejected_candidates : Bool
max_candidate_length : Int
} derive(Eq, Debug)
///|
/// Returns retained analysis plus style-policy evidence.
pub(all) struct RomanLintReport {
original : String
policy : RomanLintPolicy
analysis : RomanAnalysisReport
style_diagnostics : Array[RomanDiagnostic]
diagnostics : Array[RomanDiagnostic]
replacement : String?
error_count : Int
warning_count : Int
conforms : Bool
} derive(Eq, Debug)