Skip to main content

Module validation

Module validation 

Source
Expand description

Configuration validation and error reporting.

This module provides validation for configuration files with:

  • TOML syntax validation
  • Type checking (expected vs actual types)
  • Unknown key detection with typo suggestions (Levenshtein distance)
  • Multi-file error aggregation
  • User-friendly error messages

§Architecture

The validation process follows these steps:

  1. Parse TOML syntax → ConfigValidationError::TomlSyntax on failure
  2. Detect unknown/deprecated keys → ConfigValidationError::UnknownKey + warnings
  3. Validate types against schema → ConfigValidationError::InvalidValue on mismatch

§Modules

  • levenshtein: String distance calculation for typo suggestions
  • keys: Valid configuration key definitions
  • key_detection: TOML structure traversal for unknown key detection
  • error_formatting: User-friendly error message generation

Enums§

ConfigValidationError
Configuration validation error.

Functions§

format_validation_errors
Format validation errors for user display.
suggest_key
Find the closest valid key name for typo detection.
validate_config_file
Validate a config file and collect errors and warnings.

Type Aliases§

ValidationResult
Result of config validation. On success: Ok(warnings) where warnings is a Vec of deprecation warnings On failure: Err(errors) where errors is a Vec