use std::path::PathBuf;
use clap::{Args, Parser, Subcommand};
#[derive(Debug, Parser)]
#[clap(author, version, about, long_about = None)]
#[clap(propagate_version = true)]
pub struct PngChatArgs {
#[clap(subcommand)]
pub command: Commands,
}
#[derive(Debug, Subcommand)]
pub enum Commands {
Encode(EncodeArgs),
Decode(DecodeArgs),
Remove(RemoveArgs),
Print(PrintArgs),
}
#[derive(Debug, Args, Clone)]
pub struct EncodeArgs {
pub file_path: PathBuf,
pub chunk_type: String,
pub message: String,
pub output_file: Option<PathBuf>,
}
#[derive(Debug, Args, Clone)]
pub struct DecodeArgs {
pub file_path: PathBuf,
pub chunk_type: String,
}
#[derive(Debug, Args, Clone)]
pub struct RemoveArgs {
pub file_path: PathBuf,
pub chunk_type: String,
}
#[derive(Debug, Args, Clone)]
pub struct PrintArgs {
pub file_path: PathBuf,
}