lastmess.vimで表示されるメッセージのハイライトをいろいろ定義できるようにした。
メッセージの開始と、メッセージの中身の色を定義できるようにした
g:lastmess_highlight_errstart
とg:lastmess_highlight_errcontents
を指定することで、
エラーの開始点と内容が色分けされてこのようにエラーメッセージが見やすくなります。
(デフォルトでエラーの中身は"PreProc"のハイライトを使うように変更されました。)
(あっ比較のために更新前の画像もキャプっとけばよかった。このE716:
とかE15:
という行は今までならエラー開始点と同じく、"ErrorMsg"でハイライトされていたのですよ。それを"PreProc"にしたことで1つのエラーのメッセージがどこまで続いているのかが視覚的に判別しやすくなったわけです。)
ユーザが指定したパターンにマッチしたメッセージの色に指定したハイライトを使うようにした
g:lastmess_special_highlight
を使います。
これは[{hilight-group-name}, {pattern}]
というリストを収めたリスト(つまりリストが入れ子になったリスト)です。
次のように使います。
let g:lastmess_special_highlight = [['MoreMsg', '^sourced:']]
これで'^sourced:'
にマッチするメッセージにMoreMsg
のハイライトが利用されます。
蛇足、便利な設定
あと、次のように無視したいメッセージパターンを登録しておくと、ノイズがなくなって便利です。
let g:lastmess_ignore_pattern = 'スキャン中\|検索したので\|箇所変更しました;\|行 削除しました;\|行 追加しました\|\d\+L, \d\+C$\|行 --\d\+%--$\|--バッファに行がありません--$\|既に一番新しい変更です\|^\s*\d\+:\s\%(\~\|\u:\)/'
また、次のように、メッセージクリアコマンドを使えるようにしておくと捗ります。
command! MessageClear for n in range(200) | echom "" | endfor| ec 'Cleared Message' nnoremap mc :<C-u>MessageClear<CR>