本書はmugen関連各種ファイルをターゲットとした,VisualStudioCode拡張機能の仕様書である.
本拡張機能は次の機能を持つ.
機能1:シンタックスハイライト
機能2:パケージング
機能3:GD (Grimps Display)
サポート範囲は各機能それぞれ次の通り.項目にないVerは未サポート.
機能1:シンタックスハイライト
(キャラクター用のdef
,cmd
,air
,cns
ファイルのみサポート.)
win | 1.0 | 1.1b |
---|---|---|
〇 | △ | △ |
機能2:パケージング
(キャラクター用のcmd
,cns
ファイルのみサポート.)
win | 1.0 | 1.1b |
---|---|---|
× | × | × |
機能3:GD
(キャラクター用のair
ファイルのみサポート.)
win | 1.0 | 1.1b |
---|---|---|
× | × | × |
VisualStudioCodeに標準的に用意されている仕組みの1つ.
ある規則で書かれた文字列に対し,それがどういう区分の文字列なのかを定義することで,
配色テーマに合わせた色が着く仕組み.
本拡張機能では.def、.cns(.cmd)、.air毎に次の通り定義する.
次の規則に基づき,色付けする.
項目 | 色 (区分) | 着色範囲 (規則) | 優先度 |
---|---|---|---|
コメント | comment.line | 「;」から行末まで | 1 |
タイトル | entity.name.type | 「(行頭)[〇〇〇]」 | 2 |
パラメータ(左辺) | variable.parameter | 「(行頭)① = ②」の ① | 3 |
〃 (イコール) | keyword.other | 「(行頭)① = ②」の = | 3 |
〃 (右辺) | constant.numeric | 「(行頭)① = ②」の ② | 5 |
〃 (右辺文字列) | string.quoted.double | パラメータ(右辺)内「”〇〇〇”」 | 3 |
〃 (右辺特殊文字) | keyword.other | パラメータ(右辺)内「/」 | 4 |
※ 色:色列の文字色は配色テーマ「Dark+ (default dark) 」時のカラーで着色している.
※ 優先度:数字が小さいほど高い.
※ (行頭):右にある文字列が行頭にあること.
※ ① = ②:=の前後は半角スペース必須.
次の規則に基づき,色付けする.
項目 | 色 (区分) | 着色範囲 (規則) | 優先度 |
---|---|---|---|
コメント | comment.line | 「;」から行末まで | 1 |
タイトル | entity.name.type | 「(行頭)[〇〇〇]」 | 2 |
トリガー(左辺) | keyword.control | 「(行頭)trigger = 〇」の trigger | 3 |
〃 (イコール) | keyword.other | 「(行頭)trigger = 〇」の = | 3 |
〃 (右辺) | constant.numeric | 「(行頭)trigger = 〇」の 〇 | 5 |
〃 (右辺文字列) | string.quoted.double | トリガー(右辺)内「”〇〇〇”」 | 3 |
〃 (右辺特殊文字) | keyword.other | トリガー(右辺)内「(」「)」「||」「&&」 | 4 |
〃 (右辺キーワード) | keyword.other | トリガー(右辺)内「ifelse」 | 4 |
パラメータ(左辺) | variable.parameter | 「(行頭)① = ②」の ① | 3 |
〃 (イコール) | keyword.other | 「(行頭)① = ②」の = | 3 |
〃 (右辺) | constant.numeric | 「(行頭)① = ②」の ② | 5 |
〃 (右辺文字列) | string.quoted.double | パラメータ(右辺)内「”〇〇〇”」 | 3 |
〃 (右辺特殊文字) | keyword.other | パラメータ(右辺)内「(」「)」「||」「&&」 | 4 |
〃 (右辺キーワード) | keyword.other | パラメータ(右辺)内「ifelse」 | 4 |
※ 色:色列の文字色は配色テーマ「Dark+ (default dark) 」時のカラーで着色している.
※ 優先度:数字が小さいほど高い.
※ (行頭):右にある文字列が行頭にあること.
※ trigger:"trigger" または "Trigger" のみ認識.(TriggerAllのAllの部分は大文字小文字関係なく認識する.)
※ trigger = 〇:=の前後は半角スペース必須.
※ ifelse:"ifelse"(全部小文字)のみ認識.
※ ① = ②:=の前後は半角スペース必須.
次の規則に基づき,色付けする.
項目 | 色 (区分) | 着色範囲 (規則) | 優先度 |
---|---|---|---|
コメント | comment.line | 「;」から行末まで | 1 |
タイトル | entity.name.type | 「(行頭)[〇〇〇]」 | 2 |
判定1要素数(左辺) | string.regexp | 「Ctrl1:〇」の Ctrl1 | 3 |
〃 (コロン) | keyword.other | 「Ctrl1:〇」の : | 3 |
〃 (右辺) | constant.numeric | 「Ctrl1:〇」の 〇 | 3 |
判定1配列(左辺) | string.regexp | 「Ctrl1 = 〇」の Ctrl1 | 3 |
〃 (イコール) | keyword.other | 「Ctrl1 = 〇」の = | 3 |
〃 (右辺) | constant.numeric | 「Ctrl1 = 〇」の 〇 | 3 |
判定2要素数(左辺) | variable.parameter | 「Ctrl2:〇」の Ctrl1 | 3 |
〃 (コロン) | keyword.other | 「Ctrl2:〇」の : | 3 |
〃 (右辺) | constant.numeric | 「Ctrl2:〇」の 〇 | 3 |
判定2配列(左辺) | variable.parameter | 「Ctrl2 = 〇」の Ctrl1 | 3 |
〃 (イコール) | keyword.other | 「Ctrl2 = 〇」の = | 3 |
〃 (右辺) | constant.numeric | 「Ctrl2 = 〇」の 〇 | 3 |
スプライト(登録番号) | constant.character.escape | 「(行頭)①,②,③,④,⑤,⑥,⑦」の①,② | 3 |
〃 (表示位置) | string.quoted | 「(行頭)①,②,③,④,⑤,⑥,⑦」の,③,④ | 3 |
〃 (表示時間) | keyword.control | 「(行頭)①,②,③,④,⑤,⑥,⑦」の,⑤ | 3 |
〃 (特殊効果) | keyword.other | 「(行頭)①,②,③,④,⑤,⑥,⑦」の,⑥,⑦ | 3 |
キーワード | keyword.other | 「loopstart」 | 3 |
※ 色:色列の文字色は配色テーマ「Dark+ (default dark) 」時のカラーで着色している.
※ 優先度:数字が小さいほど高い.
※ (行頭):右にある文字列が行頭にあること.
※ Ctrl1:〇:コロンの前後は半角スペースがあってもなくても良い.
※ Ctrl1 = 〇:イコールの前後は半角スペース必須.
※ Ctrl2:〇:コロンの前後は半角スペースがあってもなくても良い.
※ Ctrl2 = 〇:イコールの前後は半角スペース必須.
cnsをユーザーライクに扱えるようにする機能. cnsの拡張言語としてをcnscc (cns concave convex)を用意し,cnsccをcnsにコンパイルする. 具体的には
更に機能毎に細分化し,各仕様を次に記す.
パッケージの定義方法
効果
注意
パッケージの定義方法
効果
引数
注意
次の規則に基づき,色付けする.
次の規則に基づき,色付けする.