#![allow(clippy::cargo_common_metadata)]
use mlua::prelude::*;
mod global;
mod globals;
mod library;
mod require;
pub use self::global::LuneStandardGlobal;
pub use self::globals::version::set_global_version;
pub use self::library::LuneStandardLibrary;
pub fn inject_globals(lua: Lua) -> LuaResult<()> {
for global in LuneStandardGlobal::ALL {
lua.globals()
.set(global.name(), global.create(lua.clone())?)?;
}
Ok(())
}
pub fn inject_std(lua: Lua) -> LuaResult<()> {
for library in LuneStandardLibrary::ALL {
let alias = format!("@lune/{}", library.name());
let module = library.module(lua.clone())?;
lua.register_module(&alias, module)?;
}
Ok(())
}