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 ) 。
- 最新 - http://github.com/januswel/dotfiles/blob/master/vimfiles/plugin/dispel.vim
- この時点 - http://github.com/januswel/dotfiles/blob/6e985770f4463a31b79d05f6ce100c17f8608a0c/vimfiles/plugin/dispel.vim
機能的にはとりあえず前回言ってた外からの 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" とか指定できればいいのに。