codemp/dist/lua/README.md
zaaarf d25e744a37
docs: improved cargo docs, rewrote readme
Co-authored-by: alemi <me@alemi.dev>
2024-09-05 01:45:48 +02:00

803 B

Lua bindings

Lua allows directly requireing properly constructed shared objects, so glue code can live completely on the Rust side.

The Lua-compatible wrappers are built with mlua.

To build, just cargo build --release --features=lua and rename the resulting libcodemp.so / codemp.dll / codemp.dylib in codemp_native.so/dll/dylib. This is important because Lua looks up the constructor symbol based on filename.

Type hints are provided in annotations.lua, just include them in your language server: ---@module 'annotations'.

Example loader

A simple loader is provided here:

---@module 'annotations'

---@return Codemp
local function load()
	local native, _ = require("codemp.native")
	return native
end

return {
	load = load,
}