use clap::Parser;
use std::path::PathBuf;
#[derive(Parser, Debug)]
#[clap(author, name = "SILE", bin_name = "sile")]
pub struct Cli {
pub input: Option<Vec<PathBuf>>,
#[clap(short, long, value_name = "BACKEND")]
pub backend: Option<String>,
#[clap(short, long)]
pub class: Option<String>,
#[clap(short, long, value_name = "DEBUGFLAG[,DEBUGFLAG]")]
pub debug: Option<Vec<String>>,
#[clap(short, long, value_name = "EXRPESION")]
pub evaluate: Option<Vec<String>>,
#[clap(short = 'E', long, value_name = "EXRPESION")]
pub evaluate_after: Option<Vec<String>>,
#[clap(short, long, value_name = "FONTMANAGER")]
pub fontmanager: Option<String>,
#[clap(long, value_name = "LUAROCKS_TREE")]
pub luarocks_tree: Option<Vec<PathBuf>>,
#[clap(short, long, value_name = "FILE")]
pub makedeps: Option<PathBuf>,
#[clap(short, long, value_name = "FILE", required_if_eq("input", "-"))]
pub output: Option<PathBuf>,
#[clap(short = 'O', long, alias = "options")]
pub option: Option<Vec<String>>,
#[clap(short, long, value_name = "FILE")]
pub preamble: Option<Vec<PathBuf>>,
#[clap(short = 'P', long, value_name = "FILE")]
pub postamble: Option<Vec<PathBuf>>,
#[clap(
short,
long,
value_name = "MODULE[[PARAMETER=VALUE[,PARAMETER=VALUE]]]"
)]
pub r#use: Option<Vec<String>>,
#[clap(short, long)]
pub quiet: bool,
#[clap(short, long)]
pub traceback: bool,
}