diff options
Diffstat (limited to 'plugin/fzf.vim')
-rw-r--r-- | plugin/fzf.vim | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/plugin/fzf.vim b/plugin/fzf.vim index 479fc7df..ac17a417 100644 --- a/plugin/fzf.vim +++ b/plugin/fzf.vim @@ -125,11 +125,15 @@ function! fzf#run(...) abort let split = s:tmux_enabled() && s:tmux_splittable(dict) let command = prefix.(split ? s:fzf_tmux(dict) : fzf_exec).' '.optstr.' > '.temps.result - if split - return s:execute_tmux(dict, command, temps) - else - return s:execute(dict, command, temps) - endif + try + if split + return s:execute_tmux(dict, command, temps) + else + return s:execute(dict, command, temps) + endif + finally + call s:popd(dict) + endtry endfunction function! s:present(dict, ...) @@ -195,14 +199,6 @@ function! s:execute(dict, command, temps) endif endfunction -function! s:env_var(name) - if exists('$'.a:name) - return a:name . "='". substitute(expand('$'.a:name), "'", "'\\\\''", 'g') . "' " - else - return '' - endif -endfunction - function! s:execute_tmux(dict, command, temps) let command = a:command if s:pushd(a:dict) @@ -234,8 +230,6 @@ function! s:callback(dict, temps) silent! call delete(tf) endfor - call s:popd(a:dict) - return lines endfunction |