mirror of
https://github.com/junegunn/fzf.git
synced 2026-05-04 04:45:52 +08:00
[vim] Do not pipe FZF_DEFAULT_COMMAND
Revert the change introduced in #552. It seems that the startup time difference between bash and fish is not much of an issue now. > time bash -c 'date' Thu Feb 13 21:15:03 KST 2020 real 0m0.008s user 0m0.003s sys 0m0.003s > time fish -c 'date' Thu Feb 13 21:15:05 KST 2020 real 0m0.014s user 0m0.007s sys 0m0.006s When we explicitly *pipe* $FZF_DEFAULT_COMMAND instead of making fzf internally start the process ($FZF_DEFAULT_COMMAND | fzf), fzf may hang if the input process doesn't quickly process SIGPIPE and abort. Also, fzf#vim#grep temporarily swaps $FZF_DEFAULT_COMMAND instead of setting 'sink' so fzf can kill the default command on 'reload'. https://github.com/junegunn/fzf.vim/issues/927 However, because of the "pipe conversion", the trick wasn't working as expected. https://github.com/junegunn/fzf.vim/blob/467c3277884240f7b5430f8f4d600e3415c38f3b/autoload/fzf/vim.vim#L720-L726 We can go even further and always set $FZF_DEFAULT_COMMAND instead of piping source command.
This commit is contained in:
@@ -402,12 +402,6 @@ try
|
||||
let dict.dir = fnamemodify(dict.dir, ':p')
|
||||
endif
|
||||
|
||||
if !has_key(dict, 'source') && !empty($FZF_DEFAULT_COMMAND) && !s:is_win
|
||||
let temps.source = s:fzf_tempname()
|
||||
call writefile(s:wrap_cmds(split($FZF_DEFAULT_COMMAND, "\n")), temps.source)
|
||||
let dict.source = (empty($SHELL) ? &shell : $SHELL).' '.fzf#shellescape(temps.source)
|
||||
endif
|
||||
|
||||
if has_key(dict, 'source')
|
||||
let source = dict.source
|
||||
let type = type(source)
|
||||
|
||||
Reference in New Issue
Block a user