use clap::{Parser, Subcommand};
use std::path::PathBuf;
#[derive(Parser)]
#[command(name = "ssh-channels-hub")]
#[command(about = "A CLI application to create and manage SSH channels", long_about = None)]
pub struct Cli {
#[command(subcommand)]
pub command: Commands,
#[arg(short, long, global = true)]
pub config: Option<PathBuf>,
#[arg(short, long, global = true)]
pub debug: bool,
}
#[derive(Subcommand)]
pub enum Commands {
Start {
#[arg(short = 'D', long)]
daemon: bool,
},
Stop,
Restart,
Status,
Validate {
config: Option<PathBuf>,
},
Generate {
#[arg(short, long)]
ssh_config: Option<PathBuf>,
#[arg(short, long)]
output: Option<PathBuf>,
},
Test {
#[arg(short, long)]
config: Option<PathBuf>,
},
}