use anyhow::Result;
use clap::{Parser, Subcommand};
use crate::claude::model_config::MODELS_YAML;
#[derive(Parser)]
pub struct ConfigCommand {
#[command(subcommand)]
pub command: ConfigSubcommands,
}
#[derive(Subcommand)]
pub enum ConfigSubcommands {
Models(ModelsCommand),
}
#[derive(Parser)]
pub struct ModelsCommand {
#[command(subcommand)]
pub command: ModelsSubcommands,
}
#[derive(Subcommand)]
pub enum ModelsSubcommands {
Show(ShowCommand),
}
#[derive(Parser)]
pub struct ShowCommand {}
impl ConfigCommand {
pub fn execute(self) -> Result<()> {
match self.command {
ConfigSubcommands::Models(models_cmd) => models_cmd.execute(),
}
}
}
impl ModelsCommand {
pub fn execute(self) -> Result<()> {
match self.command {
ModelsSubcommands::Show(show_cmd) => show_cmd.execute(),
}
}
}
impl ShowCommand {
pub fn execute(self) -> Result<()> {
println!("{MODELS_YAML}");
Ok(())
}
}