regulus 0.0.5

A simple, interpreted language with very simple syntax and zero dependencies
use std::fs;
use std::fs::File;
use std::io::Write;

fn main() {
    println!("cargo:rerun-if-changed=stdlib/");
    let mut local_stl_file = File::create("src/interned_stdlib.rs").unwrap();
    local_stl_file
        .write_all(
            "//! auto-generated by build.rs
use std::collections::HashMap;
use std::sync::LazyLock;
pub static INTERNED_STL: LazyLock<HashMap<&str, &str>> = LazyLock::new(|| HashMap::from(["
                .as_bytes(),
        )
        .unwrap();

    for entry in fs::read_dir("stdlib").unwrap() {
        let entry = entry.unwrap();
        let ty = entry.file_type().unwrap();
        let path = entry.path();
        if ty.is_file() {
            local_stl_file
                .write_all(
                    format!(
                        r#"("{}", include_str!("../{}")),"#,
                        path.file_stem().unwrap().to_str().unwrap(),
                        path.display()
                    )
                    .as_bytes(),
                )
                .unwrap()
        }
    }
    local_stl_file.write_all("]));\n".as_bytes()).unwrap();
}