pub mod error;
pub mod handlers;
pub mod helpers;
pub mod registry;
pub use error::SettingError;
pub use registry::SettingRegistry;
use crate::character::CharacterService;
use crate::core::config::data::Config;
pub struct SetContext<'a> {
pub config: &'a Config,
pub character_service: &'a mut CharacterService,
}
pub trait SettingHandler: Send + Sync {
fn key(&self) -> &'static str;
fn set(&self, args: &[String], ctx: &mut SetContext<'_>) -> Result<String, SettingError>;
fn unset(&self, args: Option<&str>, _ctx: &mut SetContext<'_>) -> Result<String, SettingError>;
fn format(&self, config: &Config) -> String;
}