use std::{ fs::{self}, path::PathBuf, time::Instant, }; use binrw::BinRead; use clap::Parser; use ezcad::file::Header; use log::info; #[derive(Debug, Parser)] struct Cli { /// Input file to parse #[arg(short, long)] input: PathBuf, // /// Output file to write to // #[arg(short, long)] // output: PathBuf, // /// Configuration file // #[arg(short, long)] // config: PathBuf, #[command(flatten)] verbose: clap_verbosity_flag::Verbosity, } fn main() { env_logger::builder() .format_timestamp(None) .filter_level(log::LevelFilter::Info) .init(); let args: Cli = Cli::parse(); let mut input = fs::File::open(args.input).unwrap(); // let _config = read(args.config).unwrap(); let time = Instant::now(); let file = Header::read_le(&mut input).unwrap(); info!("Execution time: {:?}", time.elapsed()); // for i in 0..50 { // dbg!(&file.pens_offset.start_offset.pens[i].disabled); // } // dbg!(String::from(&file.pens_offset.start_offset.pens[0].name)); // dbg!(&file.pens_offset.start_offset.pens[255].wobble_type); for layer in file.layers.iter() { for object in layer.objects.iter() { info!("{object}"); } } }