33 lines
790 B
Rust
33 lines
790 B
Rust
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(())
|
|
}
|
|
}
|