use clap::Args;
use std::path::PathBuf;
#[derive(Args, Debug, Clone, Default)]
pub struct CoverageArgs {
#[arg(long)]
pub manifest_path: Option<PathBuf>,
#[arg(short, long)]
pub package: Option<String>,
#[arg(short, long)]
pub release: bool,
#[arg(long)]
pub summary_only: bool,
#[arg(long)]
pub html: bool,
#[arg(long)]
pub lcov: bool,
#[arg(long)]
pub json: bool,
#[arg(long)]
pub text: bool,
#[arg(long)]
pub output_dir: Option<PathBuf>,
#[arg(long)]
pub open: bool,
#[arg(long)]
pub fail_under_lines: Option<f64>,
#[arg(value_name = "TESTNAME")]
pub filter: Option<String>,
#[arg(long)]
pub workspace: bool,
#[arg(long)]
pub all_targets: bool,
#[arg(long)]
pub target_dir: Option<PathBuf>,
#[arg(short = 'F', long)]
pub features: Vec<String>,
#[arg(long)]
pub no_default_features: bool,
#[arg(long)]
pub all_features: bool,
#[arg(long)]
pub no_cache: bool,
#[arg(long)]
pub cache_dir: Option<PathBuf>,
#[arg(short, long, action = clap::ArgAction::Count)]
pub verbose: u8,
#[arg(last = true)]
pub test_args: Vec<String>,
}