use clap::Subcommand; use cuddle_please_frontend::PleaseConfig; use cuddle_please_misc::DynUi; #[derive(Subcommand, Debug, Clone)] pub enum ConfigCommand { /// List will list the final configuration List {}, } pub struct ConfigCommandHandler { ui: DynUi, config: PleaseConfig, } impl ConfigCommandHandler { pub fn new(ui: DynUi, config: PleaseConfig) -> Self { Self { ui, config } } pub fn execute(&self, command: &ConfigCommand) -> anyhow::Result<()> { match command { ConfigCommand::List {} => { tracing::debug!("running command: config list"); self.ui.write_str_ln("cuddle-config"); self.ui.write_str(&format!("{}", self.config)); } } Ok(()) } }