use clap::{ArgAction, Parser};
#[derive(Parser, Debug)]
#[command(name = "ping")]
#[command(about = "A ping program")]
pub struct Args {
#[arg(short = 'a', long = "beep", action = ArgAction::SetTrue)]
pub beep: bool,
#[arg(short = 'c', long = "count", value_name = "count")]
pub count: Option<u32>,
#[arg(short = 'I', value_name = "interface")]
pub interface: Option<String>,
#[arg(short = 'i', value_name = "milliseconds")]
pub interval: Option<u32>,
#[arg(short = 't', long = "ttl", value_name = "TTL")]
pub ttl: Option<u32>,
#[arg(short = 's', long = "stats", action = ArgAction::SetTrue)]
pub stats: bool,
#[arg(short = 'l', long = "legend", action = ArgAction::SetTrue)]
pub legend: bool,
#[arg(short = 'S', long = "status", action = ArgAction::SetTrue)]
pub status: bool,
#[arg(long = "default-target", value_name = "default_target")]
pub default_target: Option<String>,
#[arg(value_name = "target")]
pub target: Option<String>,
}