278a3bb140
to genericize conversion of paths to lua source code - which facilitates module reloading for e.g. - fennel - teal - typescripttolua |
||
---|---|---|
src | ||
tests | ||
.gitignore | ||
Cargo.toml | ||
LICENSE | ||
README.md |
rlua-searcher
require
Lua modules by name
Description
Encode a Lua module as a HashMap
of Lua strings indexed by module
name. In an rlua::Context
, pass the HashMap
to add_searcher()
,
and require
the module.
Synopsis
use rlua::Lua;
use rlua_searcher::{AddSearcher, Result};
use std::collections::HashMap;
fn main() {
let lume = read_lume_to_string();
let name = "lume".to_string();
let mut map = HashMap::new();
map.insert(name, lume);
let lua = Lua::new();
let hello = lua
.context::<_, Result<String>>(|lua_ctx| {
lua_ctx.add_searcher(map)?;
Ok(lua_ctx.load(r#"return require("lume")"#).eval()?)
})
.unwrap();
// prints "hello lume"
println!("{}", hello);
}
fn read_lume_to_string() -> String {
r#"return "hello lume""#.to_string()
}