use clap::Subcommand;
#[derive(Subcommand)]
pub enum Commands {
Init,
Check,
Add {
alias: String,
#[arg(long)]
host: String,
#[arg(long)]
user: String,
#[arg(short, long, help = "Skip SSH key copy")]
skip_key: bool,
#[arg(short = 'd', long, help = "Make this host the default")]
is_default: bool,
#[arg(short = 'o', long, help = "Overwrite if alias already exists")]
overwrite: bool,
},
Remove { alias: String },
List,
SetDefault { alias: String },
Connect {
#[arg(default_value = "default")]
alias: String,
},
Exec {
#[arg(default_value = "default")]
alias: String,
#[arg(last = true)]
cmd: Vec<String>,
},
Send {
source: String,
#[arg(help = "Format: [alias:]destination")]
dest: String,
},
Get {
#[arg(help = "Format: [alias:]source")]
source: String,
dest: String,
},
Status {
#[arg(default_value = "default")]
alias: String,
},
}