unite.vim で選んだディレクトリで更に file_rec を起動する

unite の file_rec は特定のディレクトリ以下の全ファイルを列挙する source で、プロジェクトのルートなんかを指定すればプロジェクトの全ファイルを一望できてすごく便利なんだけど、肝心の指定方法が現在のディレクトリだったりコマンドラインからの指定だったりと何かと面倒だったので、unite で選択したディレクトリから file_rec を起動する action を定義してみた。

let s:unite_action_rec = {}

function! s:unite_action_rec.func(candidate)
  call unite#start([['file_rec', a:candidate.action__path]])
endfunction

call unite#custom_action('directory', 'rec', s:unite_action_rec)
unlet! s:unite_action_rec

これを vimrc に書けば、 directory に rec と言う action が定義される。:Unite file でディレクトリを指定して rec で file_rec が起動する。とても便利。
ちなみにこれを作るに当たって、作者の Shougo さんにいっぱい要望を出してしまいました。対応して下さってありがとうございます!


追記: 仕様変更に追従。

追記: 本家に取り込まれました! http://github.com/Shougo/unite.vim/commit/4fba98568d61ba246122feb715a3bc54c6b95968#L9R88