luao3 Crates.io docs.rs

Lua bindings for Rust, oriented around macros.

Modeled loosely after PyO3. Based on mlua.

WARNING: This software is ALPHA quality. Expect breaking changes and API removals/additions.

Examples

```rust use luao3::prelude::; use mlua::prelude::;

[derive(Debug, FromLua, ToLua)]

struct Foo { foo: String, #[lua(default)] bar: Vec }

[lua_function]

pub fn bar(a: Foo) -> LuaResult { Ok(Foo { foo: format!("baz{}", a.foo), bar: vec!["foo".into(), "baz".into(), a.bar.get(0).cloned() .unwraporelse(|| "baz".into())] }) }

[lua_function]

pub fn baz(txt: String) -> LuaResult { txt.parse::().map_err(mlua::Error::external) }

luao3::declaresimplemodule! { name => foobar, members => { fn bar, fn baz as baz2 } } ```