56 releases (8 stable)
| 2.1.1 | Jan 23, 2026 |
|---|---|
| 2.1.0 | Nov 27, 2025 |
| 2.0.0 | Apr 21, 2025 |
| 1.2.0 | Jan 10, 2025 |
| 0.3.1 | Jun 2, 2019 |
#127 in Parser implementations
36,908 downloads per month
Used in 29 crates
(21 directly)
465KB
11K
SLoC
A lossless Lua 5.1 / 5.2 / 5.3 / 5.4 / Luau parser written in Rust.
Lossless?
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.
Why?
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
Inspiration
Full Moon is heavily inspired by LPGhatguy's mab and by the possibilities brought on by benjamn's recast.
Dependencies
~1.6–2.3MB
~44K SLoC