From 90adda73b0d779348eecd2e62b075fc542ec21fa Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Sun, 17 Nov 2013 02:41:10 +0900 Subject: Update Vim plugin Changes: - Rename g:fzf_command to g:fzf_source - Support multi-select mode - Add fzf#run(vim_command, fzf_args) function Todo: - Faster startup with --disable-gems option when available --- plugin/fzf.vim | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'plugin') diff --git a/plugin/fzf.vim b/plugin/fzf.vim index 70664038..206f571d 100644 --- a/plugin/fzf.vim +++ b/plugin/fzf.vim @@ -23,23 +23,25 @@ let s:exec = expand(':h:h').'/fzf' -function! s:fzf(args) +function! fzf#run(command, args) try - let tf = tempname() - let prefix = exists('g:fzf_command') ? g:fzf_command.'|' : '' - let fzf = executable(s:exec) ? s:exec : 'fzf' - execute "silent !".prefix.fzf." ".a:args." > ".tf + let tf = tempname() + let prefix = exists('g:fzf_source') ? g:fzf_source.'|' : '' + let fzf = executable(s:exec) ? s:exec : 'fzf' + let options = empty(a:args) ? get(g:, 'fzf_options', '') : a:args + execute "silent !".prefix.fzf.' '.options." > ".tf if !v:shell_error - let file = join(readfile(tf), '') - if !empty(file) - execute 'silent e '.file - endif + for line in readfile(tf) + if !empty(line) + execute a:command.' '.line + endif + endfor endif finally - silent! call delete(tf) redraw! + silent! call delete(tf) endtry endfunction -command! -nargs=* FZF call s:fzf() +command! -nargs=* FZF call fzf#run('silent e', ) -- cgit v1.2.3