use clap::Parser;
#[derive(Parser)]
pub struct Opts {
#[clap(subcommand)]
pub subcommand: SubCommand,
}
#[derive(Parser)]
pub enum SubCommand {
Serve(ServeCommand),
Build,
Dev {
#[clap(default_value = "8080")]
port: u32,
},
}
#[derive(Parser)]
pub struct LoginCommand {
#[clap(short, long)]
pub token: Option<String>,
#[clap(short, long)]
pub clear: bool,
}
#[derive(Parser)]
pub struct ServeCommand {
pub module: String,
#[clap(short, long, default_value = "8080")]
pub port: u32,
#[clap(short = 'i', long, default_value = "30")]
pub heartbeat_interval: u64,
#[clap(short = 't', long, default_value = "120")]
pub heartbeat_timeout: u64,
}