use clap::{Parser, Subcommand};
use std::path::PathBuf;
#[derive(Parser)]
#[command(author, version, about)]
pub struct Cli {
#[command(subcommand)]
pub command: Command,
}
#[derive(Subcommand)]
pub enum Command {
Pack (PackCommand),
Unpack (UnpackCommand),
List (ListCommand),
}
#[derive(Parser)]
pub struct PackCommand {
pub source_dir: PathBuf,
pub pak_file: PathBuf,
}
#[derive(Parser)]
pub struct UnpackCommand {
pub pak_file: PathBuf,
pub dest_dir: Option<PathBuf>,
}
#[derive(Parser)]
pub struct ListCommand {
pub pak_file: PathBuf,
}
#[derive(Parser)]
pub struct InsertCommand {
#[arg(short, long, default_value_t = false)]
pub force: bool,
pub source_path: PathBuf,
pub pak_file: PathBuf,
pub pak_path_prefix: Option<PathBuf>,
}