@ -28,6 +28,14 @@ __fzf_select_tmux__() {
tmux split-window $height " cd $( printf %q " $PWD " ) ; PATH= $( printf %q " $PATH " ) FZF_CTRL_T_COMMAND= $( printf %q " $FZF_CTRL_T_COMMAND " ) bash -c 'source \" ${ BASH_SOURCE [0] } \"; tmux send-keys -t $TMUX_PANE \"\$(__fzf_select__)\"' "
}
__fzf_select_tmux_auto__( ) {
if [ ${ FZF_TMUX :- 1 } -ne 0 -a ${ LINES :- 40 } -gt 15 ] ; then
__fzf_select_tmux__
else
tmux send-keys -t $TMUX_PANE " $( __fzf_select__) "
fi
}
__fzf_cd__( ) {
local cmd dir
cmd = " ${ FZF_ALT_C_COMMAND :- " command find -L . \\( -path '*/\\.*' -o -fstype 'dev' -o -fstype 'proc' \\) -prune \
@ -50,7 +58,11 @@ __fzf_history__() (
)
__use_tmux = 0
[ -n " $TMUX_PANE " -a ${ FZF_TMUX :- 1 } -ne 0 -a ${ LINES :- 40 } -gt 15 ] && __use_tmux = 1
__use_tmux_auto = 0
if [ -n " $TMUX_PANE " ] ; then
[ ${ FZF_TMUX :- 1 } -ne 0 -a ${ LINES :- 40 } -gt 15 ] && __use_tmux = 1
[ $BASH_VERSINFO -gt 3 ] && __use_tmux_auto = 1
fi
if [ -z " $( set -o | \g rep '^vi.*on' ) " ] ; then
# Required to refresh the prompt after fzf
@ -58,7 +70,9 @@ if [ -z "$(set -o | \grep '^vi.*on')" ]; then
bind '"\e^": history-expand-line'
# CTRL-T - Paste the selected file path into the command line
if [ $__use_tmux -eq 1 ] ; then
if [ $__use_tmux_auto -eq 1 ] ; then
bind -x '"\C-t": "__fzf_select_tmux_auto__"'
elif [ $__use_tmux -eq 1 ] ; then
bind '"\C-t": " \C-u \C-a\C-k$(__fzf_select_tmux__)\e\C-e\C-y\C-a\C-d\C-y\ey\C-h"'
else
bind '"\C-t": " \C-u \C-a\C-k$(__fzf_select__)\e\C-e\C-y\C-a\C-y\ey\C-h\C-e\er \C-h"'
@ -76,7 +90,9 @@ else
# CTRL-T - Paste the selected file path into the command line
# - FIXME: Selected items are attached to the end regardless of cursor position
if [ $__use_tmux -eq 1 ] ; then
if [ $__use_tmux_auto -eq 1 ] ; then
bind -x '"\C-t": "__fzf_select_tmux_auto__"'
elif [ $__use_tmux -eq 1 ] ; then
bind '"\C-t": "\e$a \eddi$(__fzf_select_tmux__)\C-x\C-e\e0P$xa"'
else
bind '"\C-t": "\e$a \eddi$(__fzf_select__)\C-x\C-e\e0Px$a \C-x\C-r\exa "'
@ -92,6 +108,6 @@ else
bind -m vi-command '"\ec": "i\ec"'
fi
unset __use_tmux
unset -v __use_tmux __use_tmux_auto
fi