use serde::{Deserialize, Serialize};
use std::collections::HashMap;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum LogLevel {
Debug,
Info,
Warn,
Error,
Off,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ModuleConfig {
pub level: LogLevel,
pub description: String,
}
pub fn module_registry() -> HashMap<String, ModuleConfig> {
let mut registry = HashMap::new();
registry.insert(
"main".to_string(),
ModuleConfig {
level: LogLevel::Off,
description: "CLI argument parsing".to_string(),
},
);
registry.insert(
"paths".to_string(),
ModuleConfig {
level: LogLevel::Off,
description: "WSL to Windows path conversion".to_string(),
},
);
registry.insert(
"clipboard".to_string(),
ModuleConfig {
level: LogLevel::Off,
description: "PowerShell interaction".to_string(),
},
);
registry.insert(
"text_processor".to_string(),
ModuleConfig {
level: LogLevel::Off,
description: "Text processing and sanitization".to_string(),
},
);
registry.insert(
"classifier".to_string(),
ModuleConfig {
level: LogLevel::Off,
description: "File type detection".to_string(),
},
);
registry.insert(
"walker".to_string(),
ModuleConfig {
level: LogLevel::Off,
description: "Recursive directory traversal".to_string(),
},
);
registry
}