summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2015-04-20 22:42:02 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2015-04-20 22:42:12 +0900
commit917b1759b08e1105ce964eff23aae8a304a12eee (patch)
treeb324d885c9f12193c99281b9f2ac158b978e4fd5 /bin
parent16ca9c688b6f6c5607ebf78f67ca66e7f250db7a (diff)
[fzf-tmux/vim] Fixes for fish (#204)
Diffstat (limited to 'bin')
-rwxr-xr-xbin/fzf-tmux20
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