use std::{fs::File, io::BufReader, path::Path};
use umka::Umka;
fn main() -> anyhow::Result<()> {
println!("{}", umka::version());
let ret = hello_world()?;
println!("return code: {ret}");
Ok(())
}
fn hello_world() -> anyhow::Result<i32> {
let umka = Umka::new(file_reader("hello_world.um")?, "hello_world.um")?;
umka.add_module(file_reader("greet.um")?, "greet.um")?;
umka.compile()?;
Ok(umka.run())
}
fn file_reader(name: &str) -> anyhow::Result<BufReader<File>> {
let file = File::open(Path::new("umka/examples").join(name))?;
Ok(BufReader::new(file))
}