codemp/dist/lua/README.md
2024-09-10 13:57:50 +02:00

1 KiB

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'.

LuaRocks

codemp is available as a rock on LuaRocks

Manual bundling

LuaRocks compiles from source, which only works if have the rust toolchain available. To provide a reasonable NeoVim experience, we provide pre-built binaries.

Download latest build and annotations from here

You will need a loader file to provide annotations: you can use provided codemp.lua