From a74731d7f5abe874fb14766249a039408f2137b5 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Fri, 4 Jun 2021 22:04:20 +0900 Subject: [vim] Add 'sinklist' as a synonym to 'sink*' So that it's easier to add a sinklist function to a spec dictionary. let spec = { 'source': source, 'options': ['--preview', preview] } function spec.sinklist(matches) echom string(a:matches) endfunction call fzf#run(fzf#wrap(spec)) --- plugin/fzf.vim | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'plugin/fzf.vim') diff --git a/plugin/fzf.vim b/plugin/fzf.vim index 04f96435..d8295df2 100644 --- a/plugin/fzf.vim +++ b/plugin/fzf.vim @@ -419,13 +419,13 @@ function! fzf#wrap(...) endif " Action: g:fzf_action - if !s:has_any(opts, ['sink', 'sink*']) + if !s:has_any(opts, ['sink', 'sinklist', 'sink*']) let opts._action = get(g:, 'fzf_action', s:default_action) let opts.options .= ' --expect='.join(keys(opts._action), ',') - function! opts.sink(lines) abort + function! opts.sinklist(lines) abort return s:common_sink(self._action, a:lines) endfunction - let opts['sink*'] = remove(opts, 'sink') + let opts['sink*'] = opts.sinklist " For backward compatibility endif return opts @@ -943,6 +943,8 @@ function! s:callback(dict, lines) abort endif if has_key(a:dict, 'sink*') call a:dict['sink*'](a:lines) + elseif has_key(a:dict, 'sinklist') + call a:dict['sinklist'](a:lines) endif catch if stridx(v:exception, ':E325:') < 0 -- cgit v1.2.3