//mod doxygen; mod cli; mod entities; mod generator; mod pandoc; mod parsing; #[macro_use] extern crate log; use cli::Command; use generator::generate; use parsing::parse_file; use anyhow::Result; use structopt::StructOpt; fn main() -> Result<()> { let cli = cli::Cli::from_args(); pretty_env_logger::formatted_builder() .filter( None, match cli.verbosity { // Warnings and errors for internal warnings / errors 0 => log::LevelFilter::Warn, 1 => log::LevelFilter::Info, 2 => log::LevelFilter::Debug, _ => log::LevelFilter::Trace, }, ) .try_init()?; match cli.command { Command::Generate { file } => { let extra_args = cli.extra_arg.iter().flatten().map(AsRef::as_ref).collect(); let manager = parse_file(file, extra_args); let base_output_dir = std::path::Path::new("doc"); generate(&base_output_dir, manager)?; } } Ok(()) }