use clap::Parser;
use crate::engine::providers::ProviderKind;
#[derive(Debug, Parser)]
#[command(name = "netspd", version, about)]
pub struct Cli {
#[arg(long, short = 'p', value_name = "NAME")]
pub provider: Option<ProviderKind>,
#[arg(long)]
pub no_tui: bool,
#[arg(long)]
pub json: bool,
#[arg(long, short = 's', value_name = "TEXT")]
pub server: Option<String>,
#[arg(long)]
pub list_servers: bool,
#[arg(long, short = 'd', value_name = "SECS")]
pub duration: Option<u64>,
#[arg(long, short = 'c', value_name = "N")]
pub connections: Option<usize>,
}
impl Cli {
#[must_use]
pub fn headless(&self) -> bool {
self.no_tui || self.json || self.list_servers
}
}