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

#109 in Parser implementations

Download history 3219/week @ 2025-02-03 3852/week @ 2025-02-10 3336/week @ 2025-02-17 3162/week @ 2025-02-24 2862/week @ 2025-03-03 3265/week @ 2025-03-10 4112/week @ 2025-03-17 4067/week @ 2025-03-24 6404/week @ 2025-03-31 6187/week @ 2025-04-07 8635/week @ 2025-04-14 9955/week @ 2025-04-21 13020/week @ 2025-04-28 8101/week @ 2025-05-05 8526/week @ 2025-05-12 8950/week @ 2025-05-19

40,605 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