GitHub - edubart/minilua: Single-file port of Lua, a powerful scripting language.
Single-file port of Lua, a powerful scripting language. - edubart/minilua
https://github.com/edubart/minilua
Interpreter
とりあえず luajit-2.1.0-beta3
推し。
lua-5.1
をベースに分岐したものが多い?
Lua: version history
https://www.lua.org/versions.html
url | memo | |
---|---|---|
Lua5.1 | 2012。これより古いものを使う理由は無さそう。 | |
Lu15.2 | since Lua5.1 | 2015。finalizer. 関数の _ENV 仕様変更 |
Lua5.3 | since Lua5.2 | 2020。integers |
Lua5.4 | since Lua5.3 | 2021。const, to-be-closed |
LuaJIT | https://luajit.org/ | Lua5.1base。最終版は 2.1.0-beta3 。neovimもこれ。FFI も強力。 |
Luau | https://luau-lang.org/ | Lua5.1 の superset。Roblox専用。オープンソースではない。 |
Ravi | http://ravilang.github.io/ | Lua5.3base?。limited optional static typing and MIR based JIT compiler |
変わり種
headeronly
. include するだけで使える。
LUA に更に埋め込む
Translator
MoonScript
TypescriptToLua
- 後で出てくる、
local-lua-debugger
はこれで実装されているぽい。
LuneScript/
Teal
Language server
EmmyLua
- Java製
- EmmyLua Annotation に対応。これにより、組み込み型のインテリセンスを動作させることができて使い勝手が向上する
lua-language-server
- ⭐ EmmyLua Annotation に対応。これにより、組み込み型のインテリセンスを動作させることができて使い勝手が向上する
設定例
lua-lsp
Debug adapter
local-lua-debugger-vscode
- Debugされるスクリプト側に仕込み不要
- ⭐ luajit 対応
- __tostring でエラーが発生すると固まるので、__tostring の実装で例外が起きないように注意
- 起動時の引数に
\\
が含まれているとエラーになる =>0.2.2
で修正
lua-debug
- Debugされるスクリプト側に仕込み不要
- hook が拡張してある。途中で止めたりとかできるぽい
- 残念ながら luajit では動作しない
Formatter
stylua
- ⭐ rust 製でインストールしやすい
stylua.toml
ソース読み
lua コード解読 — lua code read ドキュメント
https://ousttrue.github.io/lua/