1#![allow(clippy::cargo_common_metadata)]
2
3use mlua::prelude::*;
4
5mod global;
6mod globals;
7mod library;
8mod require;
9
10pub use self::global::LuneStandardGlobal;
11pub use self::globals::version::set_global_version;
12pub use self::library::LuneStandardLibrary;
13
14pub fn inject_globals(lua: Lua) -> LuaResult<()> {
24 for global in LuneStandardGlobal::ALL {
25 lua.globals()
26 .set(global.name(), global.create(lua.clone())?)?;
27 }
28 Ok(())
29}
30
31pub fn inject_std(lua: Lua) -> LuaResult<()> {
39 for library in LuneStandardLibrary::ALL {
40 let alias = format!("@lune/{}", library.name());
41 let module = library.module(lua.clone())?;
42 lua.register_module(&alias, module)?;
43 }
44 Ok(())
45}