54 releases (6 stable)

2.0.0 Apr 21, 2025
1.2.0 Jan 10, 2025
1.1.2 Nov 17, 2024
1.0.0-rc.5 Jul 6, 2024
0.3.1 Jun 2, 2019

#120 in Parser implementations

Download history 4233/week @ 2025-01-11 3685/week @ 2025-01-18 3148/week @ 2025-01-25 2919/week @ 2025-02-01 4156/week @ 2025-02-08 3273/week @ 2025-02-15 3174/week @ 2025-02-22 3026/week @ 2025-03-01 3223/week @ 2025-03-08 4004/week @ 2025-03-15 3719/week @ 2025-03-22 5663/week @ 2025-03-29 6906/week @ 2025-04-05 7861/week @ 2025-04-12 9042/week @ 2025-04-19 13982/week @ 2025-04-26

38,881 downloads per month
Used in 22 crates (16 directly)

MPL-2.0 license

460KB
11K SLoC

Full Moon

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:

Inspiration

Full Moon is heavily inspired by LPGhatguy's mab and by the possibilities brought on by benjamn's recast.

Dependencies

~1.4–2.1MB
~41K SLoC