Как передать вложенные параметры в fzf в vim?

Как я могу заставить функцию Function1 fzf передать var1 функции Function2?

Я знаю, что вы можете использовать эту «функцию ('s: Function2', [a: var1])», проблема в том, что она больше не будет передавать захваченное значение var2

На данный момент обходной путь - глобальная переменная, но, честно говоря, мне это совсем не нравится :(

      " Simplified version
let g:var1 = ''

function! s:Function2(var2) 
    echo 'var2: ' . a:var2 . ' --- ' . 'var1: ' . g:var1 
endfunction

function! s:Function1(var1)
    let g:var1=a:var1
    call fzf#run(fzf#wrap({'source': 'ls -a', 'sink':function('s:Function2')}))
endfunction

function FzfFunction()
    call fzf#run( fzf#wrap({'source': 'ls -a', 'sink': function('s:Function1')}) )
endfunction

0 ответов

Другие вопросы по тегам