Expand description
Configuration management module for SubX.
This module provides the complete configuration service system with dependency injection support and comprehensive type definitions.
§Key Components
Config- Main configuration structure containing all settingsConfigService- Service interface for configuration managementProductionConfigService- Production implementation with file I/OTestConfigService- Test implementation with controlled behaviorTestConfigBuilder- Builder pattern for test configurations
§Examples
use subx_cli::config::{Config, ConfigService, ProductionConfigService};
// Create a production configuration service
let config_service = ProductionConfigService::new()?;
// Load configuration
let config = config_service.get_config()?;
println!("AI Provider: {}", config.ai.provider);§Architecture
The configuration system uses dependency injection to provide testable
and maintainable configuration management. All configuration access
should go through the ConfigService trait.
Re-exports§
pub use builder::TestConfigBuilder;pub use environment::EnvironmentProvider;pub use environment::SystemEnvironmentProvider;pub use environment::TestEnvironmentProvider;pub use service::ConfigService;pub use service::ProductionConfigService;pub use test_service::TestConfigService;
Modules§
- builder
- Configuration builder for fluent test configuration creation.
- environment
- Environment variable provider module.
- service
- Configuration service system for dependency injection and test isolation.
- test_
macros - Test macros for convenient configuration service testing.
- test_
service - Test configuration service for isolated testing.
- validation
- Configuration value validation utilities.
- validator
- Configuration validation module providing validation rules and constraints.
Structs§
- AIConfig
- AI service configuration parameters.
- Config
- Full application configuration for SubX.
- Formats
Config - Subtitle format related configuration.
- General
Config - General configuration settings for the SubX CLI tool.
- Parallel
Config - Parallel processing configuration.
- Sync
Config - Audio synchronization configuration supporting VAD speech detection.
- VadConfig
- Local Voice Activity Detection configuration.
Enums§
- Overflow
Strategy - Strategy for handling overflow when all workers are busy.