- 追記🙇♂️: 2026/01/13 何かを勘違いしていて検討違いのファイルパスを記載していました。VSCodeの場合のファイルパスを追記しました。
特にアドベントカレンダーは関係なく、備忘録としてブログを書きます。
Rustで書いたmruby VMの実装を最近また再開していて、
Regexpクラスをサポートしてみたんだが
Rustのregexを利用している。このcrateに依存するしないで(ちゃんと std featureだけにして最小にしていても)strip後のバイナリサイズは 300KB 程度違う... ということで外部mgemではないが、 feature で組み込みを制御し、デフォルトでは含めていない。
ただ、そうするとVSCodeで開発していて regexp 関係のファイルを認識しなくなるので、補完とか文法チェックとかも効かなくなってう〜んとなっていたが、普通にrust-analyzerをカスタマイズできた。
何したか
プロジェクトのrootに以下のように .vscode/settings.json を置いた(追記: 修正箇所)。
{ "rust-analyzer.cargo.features": [ "mruby-regexp" ] }
これだけで、このプロジェクトで --features mruby-regexp がついた状態で解析してくれる。
そもそも、プロジェクトのrootに置くと個別に認識してくれるのを知らなかったのでここに残しておきます。
公式の設定ドキュメントを見るとさらに色々ありそうで、例えば target をwasm系にして解析させるようにもできるっぽい。
欲しかったものだ...。