MoonBit TmLanguage Grammar

June 5, 2026 ยท View on GitHub

The TmLanguage grammar definition for the MoonBit programming language.

Development

grammars/moonbit.tmLanguage.json is generated from src/moonbit.monogram.ts, and grammars/moonbit-config.tmLanguage.json is generated from src/moonbit-config.monogram.ts, with Monogram, vendored as the vendor/monogram submodule. The config grammar covers extensionless moon.pkg and moon.mod files.

git submodule update --init --recursive
npm install
npm run generate
npm test

To render SVG previews of the generated highlighting for every .mbt, moon.pkg, and moon.mod fixture:

npm run preview:highlight

The preview script writes SVGs under artifacts/previews. To render one file:

npm run preview:highlight -- tests/fixtures/async.mbt artifacts/async-preview