use clap::Parser;
use std::path::PathBuf;
use crate::{TexEngine, TexFormat};
#[derive(Parser, Debug, Clone)]
#[command(name = "svg2tex")]
#[command(author, version, about, long_about = None)]
pub struct Args {
#[arg(short, long)]
pub input: String,
#[arg(short, long)]
pub output: Option<String>,
#[arg(long, default_value_t = false)]
pub tex: bool,
#[arg(long, default_value = "standalone")]
pub tex_format: TexFormat,
#[arg(long, default_value_t = false)]
pub embed_images: bool,
#[arg(long, default_value_t = false)]
pub no_system_fonts: bool,
#[arg(long, default_value_t = false)]
pub strict_fonts: bool,
#[arg(long, default_value_t = false)]
pub report_fonts: bool,
#[arg(long)]
pub font_family: Option<String>,
#[arg(long)]
pub font_size: Option<f32>,
#[arg(long)]
pub serif_family: Option<String>,
#[arg(long = "sans-serif-family")]
pub sans_serif_family: Option<String>,
#[arg(long)]
pub cursive_family: Option<String>,
#[arg(long)]
pub fantasy_family: Option<String>,
#[arg(long)]
pub monospace_family: Option<String>,
#[arg(long = "font-file")]
pub font_files: Vec<PathBuf>,
#[arg(long = "font-dir")]
pub font_dirs: Vec<PathBuf>,
#[arg(long, default_value_t = false)]
pub strict: bool,
#[arg(long, default_value_t = 144.0)]
pub fallback_dpi: f32,
#[arg(long, default_value = "auto")]
pub engine: TexEngine,
}