use std::path::PathBuf;
use clap::{ArgAction, Parser};
#[derive(Parser, Debug)]
#[command(name = "duckdb-slt", about = "DuckDB sqllogictest runner", version)]
pub(crate) struct Cli {
#[arg(long, value_name = "PATH")]
pub(crate) db: Option<PathBuf>,
#[arg(short = 'u', long)]
pub(crate) allow_unsigned_extensions: bool,
#[arg(short = 'e', long, value_name = "EXT")]
pub(crate) extensions: Vec<String>,
#[arg(short = 'w', long, value_name = "DIR")]
pub(crate) workdir: Option<PathBuf>,
#[arg(long, default_value_t = false, action = ArgAction::SetTrue)]
pub(crate) fail_fast: bool,
#[arg(value_name = "FILES", required = true)]
pub(crate) files: Vec<PathBuf>,
}
pub(crate) fn try_parse() -> Result<Cli, clap::Error> {
Cli::try_parse()
}