use crate::batch::batch_archive;
use clap::Parser;
use std::env::current_dir;
use std::process::ExitCode;
#[derive(Parser)]
#[command(version, about, long_about = None)]
pub struct Args {
#[arg(short, long)]
pub preserve: bool,
#[arg(short, long)]
pub flag: bool,
#[arg(short, long)]
pub input: Option<String>,
#[arg(short)]
pub x: bool,
#[arg(short, long)]
pub level: Option<u8>,
#[arg(short, long)]
pub target: Option<String>,
#[arg(short, long)]
pub zstdlevel: Option<i32>,
}
pub fn cli(mut compress: bool) -> ExitCode {
let args = Args::parse();
if args.x.clone() {
compress = false;
}
match batch_archive(
current_dir().expect("Fatal: No current working directory, quit."),
args,
compress,
) {
Ok(()) => ExitCode::SUCCESS,
Err(ret) => ExitCode::from(ret),
}
}