unite-message 書いてみた

unite.vim で :message の出力を行う場合、

:Unite output:message

するのが簡単なのですが、この出力に対して unite-filters を適用させたかったので1つの unite-source として定義してみました。

[ソース]

let s:source = {
\   "name" : "message",
\   "description" : ":message",
\}

function! s:source.gather_candidates(args, context)
    redir => result
        silent :message
    redir END
    return map(split(result, "\n"), "{ 'word' : v:val }")
endfunction

call unite#define_source(s:source)
unlet s:source

" 逆順に表示する
call unite#custom_source('message', 'sorters', 'sorter_reverse')