use std::{fs, path::PathBuf}; use clap::Parser; use lang::{err_reporting::ErrorCollector, parser::parse}; #[derive(Parser)] struct Args { file: PathBuf, } #[allow(clippy::unwrap_used)] fn main() { let args = Args::parse(); let n = args.file.clone(); let f = fs::read_to_string(n.clone()).expect("failed to read file"); let mut err_collector = ErrorCollector::new(vec![(n.to_str().unwrap(), &f)]); println!("file: {f}\n"); let parse_res = parse(&f); err_collector.insert_many( args.file.to_str().unwrap(), lang::err_reporting::Stage::Parse, parse_res .errors() .into_iter() .map(|e| e.to_owned()) .collect::>(), ); err_collector.report_raw(); println!("res: {:?}", parse_res); }