vimでArtemisの構文を色分けする
まあこんな感じに。
ほぼ自分用のメモなので詳しくは書かないけど、Artemisっていうのは我らがLife A Littleの『誰かが恋した繁花街』を動かすのに使ってるゲームエンジンで、吉里吉里のようなメジャーなエンジンではない。
そして動かすために使うスクリプトがこのエンジン独自のものであるため、既存の構文設定では色分けできず、どんなエディタで書くにしろ他のスクリプト言語を書くのに比べてかなり慎重を要する。
僕は途中からUnEditorの強調表示機能を使ってこれに対応してたんだけど、最近vimを始め、vimの虜になりつつあるので是非Artemisもvimで書きたいと思いvimで色分けをしてみんとした。
参考は主に以下。
ほとんどビョーキ: vim の syntax ファイルの追加
前提としてうちの環境としてはKaoriYaさんの日本語対応vimのバージョン74。そしてコマンドプロンプトはどうも慣れないのでPowerShellから起動。
まずsyntaxフォルダ内を見れば分かるけど構文設定ファイルはここに置かれる。(実はftpluginのほうでもいい気がするけど使い分けが分からないのでとりあえずこことする)
vim artemis.vim とかで適当に編集してsyntaxフォルダ内に自分の構文設定ファイルを作る。これの書き方は参考2のドキュメントを読めば分かるが、例えばArtemisの遷移関係のreturnやjumpやcallを赤くしたかったら
:syntax keyword Transition return jump call
:hi Transition ctermfg=Red
と書けばいい。
1行目は「return,jump,callというキーワードはTransitionという名前のグループに属する」という意味で、
2行目は「Transitionグループの単語はカラー端末では赤色にする」という意味。
どうやらコマンドプロンプトやPowerShellはこのカラー端末というものに入るらしいのでこれで良い。gvimを使うならまた話は別。
そんな感じで構文設定ファイルを書いたら次はvimrcの設定。vimrcを開いて(どこでもいいけど)末尾に
au BufRead,BufNewFile *.iet set filetype=artemis
と加えて保存。意味はあまり調べてないけどまあietファイル(Artemisスクリプトの拡張子)を開くとartemisというファイルタイプとして識別する、くらいの意味でしょう。ちなみにこのfiletype=hogeとsyntax内のhoge.vimは一致している必要があるとか検索してる最中に見た気がする。
以上の設定の後にvim hoge.ietなどと開けば上のように色分けされたスクリプトが表示できるはず。しかし公に自分がスクリプトを晒すとなるとなかなか恥ずかしいもので、めんどくさがってハードコードしてたり冗長的に書いたりしてるもんでそうじゃないまともそうな部分を探すのがむしろ大変だった……
僕のartemis.vimはもうちょい詰めたらそのうち公開するかもしれないし公開しないかもしれない。vimmer∩artemisって相当少ない気がするし。
以上、何か参考になれば。