Go to file
Andy Weidenbaum 187c5f55ea init
2021-02-04 11:09:05 +11:00
src init 2021-02-04 11:09:05 +11:00
.gitignore init 2021-02-04 11:09:05 +11:00
Cargo.toml init 2021-02-04 11:09:05 +11:00
LICENSE init 2021-02-04 11:09:05 +11:00
README.md init 2021-02-04 11:09:05 +11:00

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_searcher::AddSearcher;

fn main() {
    let lume = read_lume_to_string();
    let name = "lume";
    let map = HashMap::new<String, String>();
    map.insert(name, lume);

    let lua = Lua::new;

    let hello = lua.context::<_, rlua::Result<_>>(|lua_ctx| {
        lua_ctx.add_searcher(map)?;
        Ok(lua_ctx.load(r#"require("lume")"#).eval()?)
    }).unwrap();

    // prints "hello lume"
    println!("{}", hello);
}

fn read_lume_to_string() -> String {
    r#"return "hello lume""#.to_string()
}

License

MIT