はじめに
日本語プログラミング言語ファミリー Re:Mind(リマインド)のアドベントカレンダーに初年度からご参加いただいている@Syuparnさんが、シンタックスハイライトとスニペットが使用可能なVSCode拡張機能を大幅にバージョンアップ!製品版とも言える状態に仕上げられていただいたので、ぜひ深堀りさせていただきたく、よろしくお願いいたします。
また、本記事のタイトルは少し紛らわしく、オープンな実装仕様とさせていただいる日本語トランスコンパイラ言語 Re:Mind(リマインド)の完全な実装はまだ存在せず、初期の試作品などで環境を構成する想定であることをご容赦お願い申し上げます。
前提条件
Windows11 Pro 22H2
VSCode(Visual Studo Code) 1.95.1
VSCodeの拡張機能
remind-vscode 0.1.0
「Re:MindのVSCode拡張(非公式)」0.1.0のインストール
VSCodeの拡張機能の検索で、「remind-vscode」とタイプすると下図のような検索結果が表示されます。検索結果ペインで「Re:Mind VsCode」をダブルクリックするとエディタウィンドウにドキュメントが展開します。
シンタックスハイライトの様子
日本語トランスコンパイラ言語のターゲットソースとしてビルド可能な記述例はあまり存在しておらず、仕様記述言語としてコンパイラ(トランスコンパイラ)非対応のコード例はいくつかあるので、それを表示してみます。
まずはこちらの記事にある「ノードカテゴライズする」と
「名称辞書を収集する」という関数の定義例をVSCode上で作成します。
「ノードカテゴライズする」
ファイルを新規作成して、コードを貼り付けた段階ではもちろん拡張子ないのでフラットな黒一色だったわけですが、それを拡張子remindで保存してみますと、下図のようにみごとなシンタックスハイライトでカラフルになりました
保存する際に、VSCodeのファイル保存コモンダイアログのファイル拡張子選択リストにもしっかりremindが出現することも確認できました!すごいです。
「名称辞書を収集する」
つづいて、少し長めの記述量の「名称辞書を収集する」の方です。こちらは関数定義ヘッダ部が固定されてスクロールしました!
謝辞
@Syuparnさん、素敵な機能の実装まことにありがとうございます。謹んでお礼申し上げます。スニペット機能のご紹介はまた別の記事で行わせていただきます。
つづく
本記事のゴールは当面「Re:Mind」の試作品が対応する範囲のソースをターゲット言語でビルドできるようにtasks.jsonとlaunch.jsonを構成することです。デバッガエクステンションはないので、とりあえずMindと同じ方法でやってみます。