use clap::{Args, Subcommand}; #[derive(Subcommand, Debug)] pub enum ConfigSubcommand { /// Create a new remote host Create(ConfigCreateArgs), /// Update an existing remote host Update(ConfigUpdateArgs), /// List all remote hosts #[command(alias = "ls")] List(ConfigListArgs), /// Delete a remote host #[command(aliases = ["remove", "rm"])] Delete(ConfigDeleteArgs), } #[derive(Args, Debug)] pub struct ConfigCreateArgs { pub remote: String, pub url: String, } #[derive(Args, Debug)] pub struct ConfigUpdateArgs { pub remote: String, pub url: String, } #[derive(Args, Debug)] pub struct ConfigListArgs {} #[derive(Args, Debug)] pub struct ConfigDeleteArgs { pub remote: String, }