dispel

http://d.hatena.ne.jp/janus_wel/20091202/1259770620 の名前を変更 & refactoring & 機能追加。バニシュがかかってる文字をディスペルで見えるようにする的な。ちなみにディスペルの綴りは despell かもしれないらしい ( http://ffdic.wikiwiki.jp/?%CB%E2%CB%A1%2F%A1%DA%A5%C7%A5%B9%A5%DA%A5%EB%A1%DB#n478c87b ) 。

機能的にはとりあえず前回言ってた外からの pattern 指定を実装。 "g:dispel_patterns" という変数に以下のような Dictionary を持つ List をつっこんでおくと自分好みに出来る。

let g:dispel_patterns = [
            \   {
            \       'name':         'TrailingWhiteSpace',
            \       'pattern':      '\s\+$',
            \       'highlight':    'Error'
            \   },
            \   {
            \       'name':         'IdeographicSpace',
            \       'pattern':      ' ',
            \       'highlight':    'Error'
            \   },
            \ ]

あと正直に IDEOGRAPHICSPACE SPACE の指定に実体を使って scriptencoding を指定するようにした。以前のように各 encoding の byte code 指定だと関係ない文字が highlight される可能性があるってのと scriptencoding を指定すると encoding の自動変換のおかげで日本語で使われている encoding に限らず適用できるようになるってのが大きいので。でもいわゆる全角 space 一文字だけだと読み込み時に fileencoding の判別に失敗するから他に無関係な non-ASCII chracters を打たなくちゃいけないんだよな…。だから scriptencoding キライなんだよ。 modeline で "++enc=utf-8" とか指定できればいいのに。