//use crate::config::load_config; //use crate::utils::ascii_reduce::reduce_to_ascii; //use crate::types::file_from_path; use crate::args::{CLIArgs, Commands}; use crate::commands::genhtml::genhtml_command; use crate::commands::process::process_command; use crate::commands::transcode::transcode_command; use clap::Parser; use commands::copy::copy_command; pub mod args; pub mod commands; pub mod config; pub mod meta; pub mod types; pub mod utils; fn main() -> Result<(), Box> { let cli = CLIArgs::parse(); match cli.command.as_ref() { Some(Commands::Process(process_args)) => { process_command(&cli, process_args)?; } Some(Commands::Genhtml(genhtml_args)) => { genhtml_command(&cli, genhtml_args)?; } Some(Commands::Transcode(transcode_args)) => { transcode_command(&cli, transcode_args)?; } Some(Commands::Copy(copy_args)) => { copy_command(&cli, copy_args)?; } None => { panic!("please provide a subcommand"); } } Ok(()) }