vim syntax for AviSynth

AviSynth を触る必要が出てきた -> syntax あったよな… -> つかえねぇ -> help 読むついでに書くか、という流れで書いた。思いっきり最新版の 2.58 用なので ( いくつか組み込み関数が増えてる ) 古い version 使ってるひとは version up とか自分で修正とかしてください。ついでに filetype の自動判別用に ftdetect file も書いたので ( といっても 1 行なんだけど ) 一緒につっこんでおくと幸せになれるはず。

ちなみにつかえねぇと思った syntax file は http://d.hatena.ne.jp/janus_wel/20080519/1213213589 で言ってたやつ ( http://www.vim.org/scripts/script.php?script_id=1418 ) なんだけど改めてみてみたら syntax 定義も highlight への写像もけっこうアレだった。

とりあえずで書いたものなのでどこかおかしいところもあるかもしれないけど見つけ次第直すという方向で。

あーあと help 読んで気付いたんだけど if とか for とかの他の言語でよくある statement って AviSynth には存在しないのね。ちょっと意外だった。ちなみに分岐はすべて 3 項演算子を使うらしい。 else 節いらないんだけどという場合は NOP : no operation を使って以下のようにするとか。

condition ? trueAction : NOP

制御まわりは他にもいろいろ tips というか定石というか bad know-how みたいなものがあって block とからめたりするとアホかと思う書き方しなきゃいけないみたいなんだけど何とかならないのかな。