use std::path::PathBuf;

use clap::{builder::BoolishValueParser, ArgAction, Args};

#[derive(Args)]
pub(crate) struct CliConfigs {
    /// How to actually run the pipeline.
    /// Overrides the config file. Defaults to the debug evaluator.
    #[arg(short, long)]
    pub evaluator: Option<eval::Available>,

    /// Read this config file.
    #[arg(short, long)]
    pub config_path: Option<PathBuf>,
    /// Turn off the startup message.
    ///
    /// The startup message is not constant and depends on the time.
    #[arg(long, env = "NO_STARTUP_MESSAGE", action = ArgAction::SetTrue, value_parser = BoolishValueParser::new())]
    pub no_startup_message: bool,
}
