2026-03-22

MoonBitの開発環境をNeoVimで構築する

最近、WebAssemblyをターゲットにしたプログラミング言語MoonBit を触り始めました。 NeoVimでMoonBitの開発環境を整備したので、その手順をまとめておきます。

MoonBitとは

MoonBitは、WebAssembly(Wasm)をターゲットとしたクラウド・エッジコンピューティング向けのプログラミング言語およびツールチェーンです。

従来の言語(C、Rustなど)もWasmにコンパイルできますが、もともとWasm用に設計されていないため非効率な部分があります。 MoonBitは最初からWasmを前提に設計されているので、より小さく高速なWasmバイナリを生成できるのが強みです。

流れとしてはこんなイメージです。

MoonBitのインストール

まずMoonBitのCLIツールをインストールします。

プロジェクトの作成は moon new コマンドで行います。

注意点として、プロジェクト名にハイフンは使えません。英数字とアンダースコアのみ対応しています。

NeoVimでの開発環境構築

MoonBitをNeoVimで快適に書くために、以下の3つの設定を行いました。

1. ファイルタイプの認識

.mbt拡張子をmoonbitファイルタイプとして認識させるため、ftdetect/moonbit.luaを作成します。

2. LSPの設定

MoonBit LSPサーバーをインストールします。 現在NeoVimに組み込みのtree-sitterは標準ではmoonbitの構文をサポートしていないので、独自で追加する必要があります。

次に、lsp/moonbit_lsp.luaでLSPサーバーの設定を行います。moon.mod.jsonをプロジェクトルートとして認識させます。

設定したら、plugin/lsp-config.luaのLSP有効化リストにmoonbit_lspを追加します。

3. Tree-sitterパーサーの登録

シンタックスハイライトのために、MoonBitのtree-sitterパーサーを登録します。

登録後、:TSInstall moonbitでパーサーをインストールします。

まとめ

MoonBitはまだ新しい言語ですが、Wasm特化ということもあり今後が楽しみです。 NeoVimでの開発環境もLSP・Tree-sitterを設定すれば快適に書けるようになりました。

参考資料

Thanks for the visit Nozo Blog