use std::path::PathBuf;
use clap::Args;
use crate::cli::limits::LimitArg;
#[derive(Debug, Args)]
pub struct SignalArgs {
#[arg(long, value_name = "FILE", help_heading = "Input options")]
pub waves: PathBuf,
#[arg(long, help_heading = "Input options")]
pub scope: String,
#[arg(long, default_value = "50", help_heading = "Output options")]
pub max: LimitArg,
#[arg(long, default_value = ".*", help_heading = "Selection options")]
pub filter: String,
#[arg(long, help_heading = "Selection options")]
pub recursive: bool,
#[arg(
long,
default_value = "5",
requires = "recursive",
help_heading = "Selection options"
)]
pub max_depth: LimitArg,
#[arg(long, help_heading = "Output options")]
pub abs: bool,
#[arg(long, help_heading = "Output options")]
pub json: bool,
}