## 経緯 きっかけは以下の記事。 <div class="link-card-v2"> <div class="link-card-v2-site"> <img class="link-card-v2-site-icon" src="https://static.zenn.studio/images/logo-transparent.png" /> <span class="link-card-v2-site-name">Zenn</span> </div> <div class="link-card-v2-title"> MoonBit 最高 2025 </div> <img class="link-card-v2-image" src="https://res.cloudinary.com/zenn/image/upload/s--j-gMSLAc--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_72:MoonBit%2520%25E6%259C%2580%25E9%25AB%2598%25202025%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:mizchi%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2liclRHT052Z3d3ay1fNGxlcVk4TGNGSlNuX0FoWnpEWVlKaXJNcWc9czI1MC1j%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" /> <a href="https://zenn.dev/mizchi/articles/moonbit-is-good-2025"></a> </div> [[WebAssembly]]はあまり興味なかったが、[[Rust]]と[[TypeScript]]の良いところどりをしてそう感が気になって試してみた。なお、最近[[Rust]]は全く書いていない。 ## インストール [公式ドキュメント](https://docs.moonbitlang.com/en/latest/tutorial/tour.html#installation) より。 ```console $ curl -fsSL https://cli.moonbitlang.com/install/unix.sh | bash Downloading moonbit ... ######################################################################## 100.0% Downloading core ... ######################################################################## 100.0% Bundling core ... Finished. moon: ran 66 tasks, now up to date Finished. moon: ran 66 tasks, now up to date Finished. moon: ran 66 tasks, now up to date Finished. moon: ran 66 tasks, now up to date Finished. moon: no work to do moonbit was installed successfully to ~/.moon To verify the downloaded binaries, check https://www.moonbitlang.com/download#verifying-binaries for instructions. To know how to add shell completions, run 'moon shell-completion --help' Added "~/.moon/bin" to $PATH in "~/.zshrc" To get started, run: source ~/.zshrc moon help ``` ```console $ moon version moon 0.1.20251111 (b17e236 2025-11-11) ``` ## Hello World ```console mkdir moonsandbox cd moonsandbox moon new . ``` 生成されるディレクトリ。 ``` . ├── AGENTS.md ├── cmd │ └── main │ ├── main.mbt │ └── moon.pkg.json ├── LICENSE ├── moon.mod.json ├── moon.pkg.json ├── moonsandbox.mbt ├── moonsandbox_test.mbt ├── README.mbt.md └── README.md -> README.mbt.md ``` `AGENTS.md` が作成されるあたりが時代を感じる。 ## [[Neovim]]の設定 公式では[[VSCode]]の方法をサポートしているようだが、`~/.moon/bin` を確認すると `moonbit-lsp` というのがあって、これが[[LSP]]なら[[Neovim]]でも環境構築はできそう。 ... と思ったけど、[[nvim-treesitter]]も対応していなくて[[VSCode]]じゃないと厳しそう。[[VSCode]]を使ってまで試してみたいモチベはないので今は保留。 > [!unresolved] > [[Neovim]]のエコシステム ([[nvim-lspconfig]] / [[nvim-treesitter]]) が整備された頃にもう1回試すか検討する。