useclap::Parser;usecrate::{Action, SolarError, Tool};#[derive(Parser, Clone)]pubstructInstall{/// The name of the tool to install.
#[command(subcommand)]tool: Tool,
}implInstall{pubfnrun(&mutself)->Result<(), SolarError>{self.tool.act(&Action::INSTALL,None)}}