Skip to main content

Module config

Module config 

Source
Expand description

ConfigErrorDisplay - Specialized display for configuration errors.

This module provides rich error display for configuration-related issues, including TOML parse errors, missing files, invalid values, and permission issues.

§Features

  • Parses toml::de::Error for location extraction
  • Shows file content snippets with error highlighting
  • Displays expected vs actual values for type mismatches
  • Includes config file search paths when file not found
  • Suggests rch config init for missing configs
  • Supports JSON serialization for structured output

§Example

use rch_common::ui::errors::ConfigErrorDisplay;
use rch_common::ui::OutputContext;

let display = ConfigErrorDisplay::parse_error("/home/user/.config/rch/config.toml")
    .line(13)
    .column(15)
    .snippet("timeout = \"thirty\"")
    .expected("integer")
    .actual("string");

display.render(OutputContext::detect());

Structs§

ConfigErrorDisplay
ConfigErrorDisplay - Rich error display for configuration errors.
ConfigLocation
Location within a configuration file.
ConfigSearchPaths
Config search paths for “file not found” errors.
ConfigSnippet
A snippet of config file content with context.
SnippetLine
A single line in a config snippet.
TypeMismatch
Type mismatch information for validation errors.