use std::path::PathBuf;
#[derive(clap::ValueEnum, Debug, Clone, Copy, PartialEq, Eq, Default)]
pub enum CoverageFormat {
#[default]
Text,
Json,
Md,
#[value(alias = "github")]
Markdown,
}
#[derive(clap::Args, Debug, Clone)]
pub struct CoverageArgs {
#[arg(long)]
pub input: Option<std::path::PathBuf>,
#[arg(long)]
pub out: Option<std::path::PathBuf>,
#[arg(long = "out-md")]
pub out_md: Option<std::path::PathBuf>,
#[arg(long = "declared-tool")]
pub declared_tools: Vec<String>,
#[arg(long = "declared-tools-file")]
pub declared_tools_file: Option<std::path::PathBuf>,
#[arg(long, default_value = "eval.yaml")]
pub config: std::path::PathBuf,
#[arg(long)]
pub policy: Option<PathBuf>,
#[arg(long, alias = "traces")]
pub trace_file: Option<std::path::PathBuf>,
#[arg(long, default_value_t = 0.0)]
pub min_coverage: f64,
#[arg(long)]
pub baseline: Option<PathBuf>,
#[arg(long)]
pub export_baseline: Option<PathBuf>,
#[arg(long)]
pub format: Option<CoverageFormat>,
#[arg(long = "routes-top", default_value_t = 10)]
pub routes_top: usize,
}