Module config

Module config 

Source
Expand description

Configuration for the TUI

This module provides configuration management for the RiceCoder TUI. Configuration can be loaded from files or environment variables, and includes settings for:

  • Theme selection
  • Animation preferences
  • Mouse support
  • Terminal dimensions
  • Accessibility options

§Configuration Hierarchy

Configuration is loaded in the following priority order (highest to lowest):

  1. Runtime overrides (CLI flags, environment variables)
  2. Project-level config (.ricecoder/config.yaml)
  3. User-level config (~/.ricecoder/config.yaml)
  4. Built-in defaults

§Examples

Loading default configuration:

use ricecoder_tui::TuiConfig;

let config = TuiConfig::load()?;
println!("Theme: {}", config.theme);
println!("Animations: {}", config.animations);

Creating custom configuration:

use ricecoder_tui::TuiConfig;

let config = TuiConfig {
    theme: "dracula".to_string(),
    animations: false,
    mouse: true,
    ..Default::default()
};
config.save()?;

§Configuration File Format

Configuration files use YAML format:

theme: dracula
animations: true
mouse: true
accessibility:
  screen_reader_enabled: false
  high_contrast_mode: false
  disable_animations: false

Structs§

TuiConfig
TUI configuration