use clap::{Parser, Subcommand};
use neopdf_cli::converter;
use neopdf_cli::pdf;
use neopdf_cli::read;
#[derive(Parser)]
#[command(author, version, about, long_about = None)]
pub struct Cli {
#[command(subcommand)]
pub command: TopLevelCommand,
}
#[derive(Subcommand)]
pub enum TopLevelCommand {
Write(converter::Cli),
Compute(pdf::PdfCli),
Read(read::ReadCli),
}
pub fn main() {
let cli = Cli::parse();
match cli.command {
TopLevelCommand::Write(args) => converter::main(args),
TopLevelCommand::Compute(args) => pdf::main(args),
TopLevelCommand::Read(args) => read::main(args),
}
}