use std::path::PathBuf;
use clap::{Args, ValueEnum};
#[derive(Debug, Clone, Copy, PartialEq, Eq, ValueEnum, Default)]
#[value(rename_all = "kebab-case")]
pub enum CaptureMode {
Match,
#[default]
Switch,
Assert,
Deassert,
}
#[derive(Debug, Args)]
pub struct PropertyArgs {
#[arg(long, value_name = "FILE", help_heading = "Input options")]
pub waves: PathBuf,
#[arg(long, help_heading = "Selection options")]
pub from: Option<String>,
#[arg(long, help_heading = "Selection options")]
pub to: Option<String>,
#[arg(long, help_heading = "Selection options")]
pub scope: Option<String>,
#[arg(long, help_heading = "Selection options")]
pub on: Option<String>,
#[arg(long, help_heading = "Selection options")]
pub eval: String,
#[arg(
long,
value_enum,
default_value_t = CaptureMode::Switch,
value_name = "MODE",
help_heading = "Output options"
)]
pub capture: CaptureMode,
#[arg(long, help_heading = "Output options")]
pub json: bool,
}