<h1>
Full Moon
<a href="https://crates.io/crates/full-moon"><img src="https://img.shields.io/crates/v/full-moon.svg"></a>
</h1>
A lossless Lua 5.1 / 5.2 / 5.3 / 5.4 / Luau / CfxLua parser written in Rust.
Full Moon preserves comments, whitespace, style choices, etc. With Full Moon, you're able to convert your Lua code into an AST and a syntax tree and convert it back to the original code exactly.
Using Full Moon, you'll be able to modify the AST directly and re-export it back to Lua, all while preserving the style in which you write.
Full Moon is usable in projects such as: - Static analysis (like Luacheck or rust-clippy) - Static typing (like TypeScript) - Automatic mass code refactoring (like jscodeshift) - Automatic code formatting (like rustfmt) - An LSP Server for Lua
Full Moon is heavily inspired by LPGhatguy's mab and by the possibilities brought on by benjamn's recast.
$ claude mcp add full-moon \
-- python -m otcore.mcp_server <graph>