Skip to content
Snippets Groups Projects
Commit 917b1759 authored by Junegunn Choi's avatar Junegunn Choi
Browse files

[fzf-tmux/vim] Fixes for fish (#204)

parent 16ca9c68
No related branches found
No related tags found
No related merge requests found
......@@ -100,13 +100,6 @@ cleanup() {
}
trap cleanup EXIT SIGINT SIGTERM
# Build arguments to fzf
str=""
for arg in "${args[@]}"; do
str="$str \"${arg//\"/\\\"}\""
done
cat <<< "$str" > $argsf
fail() {
>&2 echo "$1"
exit 1
......@@ -120,13 +113,22 @@ envs=""
mkfifo $fifo2
mkfifo $fifo3
# Build arguments to fzf
opts=""
for arg in "${args[@]}"; do
opts="$opts \"${arg//\"/\\\"}\""
done
if [ -n "$term" -o -t 0 ]; then
cat <<< "$fzf $opts > $fifo2; echo \$? > $fifo3 $close" > $argsf
tmux set-window-option -q synchronize-panes off \;\
split-window $opt "cd $(printf %q "$PWD");$envs"' bash -c "'$fzf' $(cat '$argsf') > '$fifo2'; echo \$? > '$fifo3' '"$close"'"' $swap
split-window $opt "cd $(printf %q "$PWD");$envs bash $argsf" $swap
else
mkfifo $fifo1
cat <<< "$fzf $opts < $fifo1 > $fifo2; echo \$? > $fifo3 $close" > $argsf
tmux set-window-option -q synchronize-panes off \;\
split-window $opt "$envs"' bash -c "'$fzf' $(cat '$argsf') < '$fifo1' > '$fifo2'; echo \$? > '$fifo3' '"$close"'"' $swap
split-window $opt "$envs bash $argsf" $swap
cat <&0 > $fifo1 &
fi
cat $fifo2
......
......@@ -105,6 +105,9 @@ function! s:upgrade(dict)
endfunction
function! fzf#run(...) abort
try
let oshell = &shell
set shell=sh
if has('nvim') && bufexists('[FZF]')
echohl WarningMsg
echomsg 'FZF is already running!'
......@@ -149,6 +152,9 @@ function! fzf#run(...) abort
finally
call s:popd(dict)
endtry
finally
let &shell = oshell
endtry
endfunction
function! s:present(dict, ...)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment