From 5282e5c4278ee07c8944fcc40f4ecfa17a9306a8 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Wed, 19 Aug 2015 23:37:19 +0900 Subject: [PATCH] Minor refactoring --- plugin/fzf.vim | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/plugin/fzf.vim b/plugin/fzf.vim index fdff6f9..6842117 100644 --- a/plugin/fzf.vim +++ b/plugin/fzf.vim @@ -399,16 +399,15 @@ command! -bang Commands call s:commands(0) " ---------------------------------------------------------------------------- inoremap (-fzf-complete-trigger) :call complete_trigger() +function! s:pluck(dict, key, default) + return has_key(a:dict, a:key) ? remove(a:dict, a:key) : a:default +endfunction + function! s:complete_trigger() let opts = copy(s:opts) let opts.options = printf('+m -q %s %s', shellescape(s:query), get(opts, 'options', '')) let opts['sink*'] = function('s:complete_insert') - if has_key(opts, 'reducer') - let s:reducer = opts.reducer - call remove(opts, 'reducer') - else - let s:reducer = function('s:first_line') - endif + let s:reducer = s:pluck(opts, 'reducer', function('s:first_line')) call fzf#run(opts) endfunction