diff options
author | Junegunn Choi <junegunn.c@gmail.com> | 2015-04-20 22:42:02 +0900 |
---|---|---|
committer | Junegunn Choi <junegunn.c@gmail.com> | 2015-04-20 22:42:12 +0900 |
commit | 917b1759b08e1105ce964eff23aae8a304a12eee (patch) | |
tree | b324d885c9f12193c99281b9f2ac158b978e4fd5 /bin | |
parent | 16ca9c688b6f6c5607ebf78f67ca66e7f250db7a (diff) |
[fzf-tmux/vim] Fixes for fish (#204)
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/fzf-tmux | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/bin/fzf-tmux b/bin/fzf-tmux index c2194804..fe9f8ade 100755 --- a/bin/fzf-tmux +++ b/bin/fzf-tmux @@ -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 |