diff options
author | Junegunn Choi <junegunn.c@gmail.com> | 2021-06-04 22:04:20 +0900 |
---|---|---|
committer | Junegunn Choi <junegunn.c@gmail.com> | 2021-06-04 22:07:29 +0900 |
commit | a74731d7f5abe874fb14766249a039408f2137b5 (patch) | |
tree | 04087eed5504dbb25789c0164610d28ba4da4ebd /plugin | |
parent | e086f0b3fe1cb56df1335037cfd3d612defce082 (diff) |
[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))
Diffstat (limited to 'plugin')
-rw-r--r-- | plugin/fzf.vim | 8 |
1 files changed, 5 insertions, 3 deletions
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 |