use clap::{Parser, ValueEnum};
use std::path::PathBuf;
use crate::{ProfileArg, RootArgs};
#[derive(Debug, Clone, Parser)]
pub(crate) struct DoctorArgs {
#[command(flatten)]
pub(super) root: RootArgs,
#[arg(long)]
pub(super) config: Option<PathBuf>,
#[arg(long, value_enum)]
pub(super) profile: Option<ProfileArg>,
#[arg(long, value_enum, default_value_t = DoctorFormat::Human)]
pub(super) format: DoctorFormat,
#[arg(long)]
pub(super) output: Option<PathBuf>,
#[arg(long)]
pub(super) require_clean: bool,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, ValueEnum)]
pub(super) enum DoctorFormat {
Human,
Json,
}