On Friday, 26 November 2021 at 11:11:20 UTC, SealabJaster wrote:
# Lumars
Lumars is a high-level wrapper around the Lua API. It only
targets Lua 5.1 because of LuaJit. It bundles a precompiled
version of LuaJit for Windows and Posix x86_64 machines to make
it easier to include.
The main highlight of the latest release is the ability to
create EmmyLua-annotated code, allowing you to automatically
generate up-to-date documentation for your D-side functions,
that lua plugins can digest to allow for intelisense. (it has a
long way to go still, but this is at least a start for it).
https://github.com/BradleyChatha/lumars
# Lumarsh
You could describe it as a "single-binary, batteries-included
Lua distro" that aims to provide a decent built-in library for
Lua scripts to consume. Personally, I dislike bash, and I like
Lua, so I want to use Lua wherever possible >:3
Lumarsh also has support for luarocks, so you can still use
external libraries if needed.
Because it's powered by Lumars, it was [very
easy](https://github.com/BradleyChatha/lumarsh/blob/master/source/api/path.d) to expose some select Phobos modules for Lua to use.
`dub run lumarsh -- args` is the easiest way to mess around
with it.
I haven't actually written the code to generate the EmmyLua
stuff yet, but that's because I'm amazingly lazy at times (it
should only take 5 mins at most).
https://github.com/BradleyChatha/lumarsh
They're both still pretty rough around the edges, and
definitely have some usability issues, but I feel they're both
ready for others to experiment with at least.
Nice projects! thanks for sharing
One tip:
- avoid "import std", makes compile time increase for nothing
-
https://github.com/BradleyChatha/lumars/blob/master/source/lumars/emmylua.d#L3
-
https://github.com/BradleyChatha/lumars/blob/master/source/lumars/function_.d#L4
-
https://github.com/BradleyChatha/lumars/blob/master/source/lumars/state.d#L3
-
https://github.com/BradleyChatha/lumars/blob/master/source/lumars/table.d#L3
-