mindustry logic execution, map- and schematic- parsing and rendering
Diffstat (limited to 'lemu/src/main.rs')
| -rw-r--r-- | lemu/src/main.rs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/lemu/src/main.rs b/lemu/src/main.rs new file mode 100644 index 0000000..b40c8ad --- /dev/null +++ b/lemu/src/main.rs @@ -0,0 +1,31 @@ +use std::{ + io::{self, Stdout}, + process::ExitCode, +}; + +use lemu::{Executor, Output}; +use yumy::Config; + +fn main() -> ExitCode { + let mut args = std::env::args(); + args.next().unwrap(); // path to executable + for file in args { + let f = std::fs::read_to_string(&file).unwrap(); + let mut lex: Executor<Stdout> = + match Executor::with_output(io::stdout()).display().program(&f) { + Ok(x) => x, + Err(e) => { + e.diagnose(&f, Some(&file)) + .eprint(&Config::default()) + .unwrap(); + return ExitCode::FAILURE; + } + }; + lex.run(); + let Output { displays, .. } = lex.output(); + for (d, i) in displays.iter().zip(1..=displays.len()) { + d.save(format!("image{i}.png")); + } + } + ExitCode::SUCCESS +} |