[vim] Allow Funcref in g:fzf_action

https://github.com/junegunn/fzf.vim/issues/185
This commit is contained in:
Junegunn Choi
2017-08-14 16:22:07 +09:00
parent 053d628b53
commit 2069bbc8b5
3 changed files with 32 additions and 3 deletions

View File

@@ -201,7 +201,10 @@ function! s:common_sink(action, lines) abort
return
endif
let key = remove(a:lines, 0)
let cmd = get(a:action, key, 'e')
let Cmd = get(a:action, key, 'e')
if type(Cmd) == type(function('call'))
return Cmd(a:lines)
endif
if len(a:lines) > 1
augroup fzf_swap
autocmd SwapExists * let v:swapchoice='o'
@@ -217,7 +220,7 @@ function! s:common_sink(action, lines) abort
execute 'e' s:escape(item)
let empty = 0
else
call s:open(cmd, item)
call s:open(Cmd, item)
endif
if !has('patch-8.0.0177') && !has('nvim-0.2') && exists('#BufEnter')
\ && isdirectory(item)