use clap::{Parser, Subcommand, ValueEnum};
use std::path::PathBuf;
#[derive(Parser)]
#[command(
name = "pixctl",
version,
about = "Fits raster images for Markdown docs and gates their display size"
)]
pub struct Cli {
#[command(subcommand)]
pub command: Command,
}
#[derive(Subcommand)]
pub enum Command {
Inspect {
#[arg(required = true)]
images: Vec<PathBuf>,
#[arg(long)]
json: bool,
},
Fit {
#[arg(required = true)]
images: Vec<PathBuf>,
#[arg(long)]
out: PathBuf,
#[arg(long, value_enum, default_value_t = Format::Png)]
format: Format,
},
Check {
#[arg(required = true)]
images: Vec<PathBuf>,
#[arg(long, value_enum, default_value_t = Target::Markdown)]
target: Target,
},
}
#[derive(Clone, Copy, ValueEnum)]
pub enum Format {
Png,
Webp,
}
#[derive(Clone, Copy, ValueEnum)]
pub enum Target {
Markdown,
}