1
0
Fork 0

add support for buffer switching in X11

This commit is contained in:
Andrey Orst 2018-09-24 12:11:28 +03:00
parent e88a9159aa
commit 1fa67070f8

View file

@ -125,21 +125,28 @@ define-command -hidden fzf -params 2 %{ evaluate-commands %sh{
}} }}
define-command -hidden fzf-buffer %{ evaluate-commands %sh{ define-command -hidden fzf-buffer %{ evaluate-commands %sh{
if [ -z "${kak_client_env_TMUX}" ]; then
echo 'fail "client was not started under tmux"'
exit
fi
tmp=$(mktemp $(eval echo $kak_opt_fzf_tmp/kak-fzf.XXXXXX)) tmp=$(mktemp $(eval echo $kak_opt_fzf_tmp/kak-fzf.XXXXXX))
setbuf=$(mktemp $(eval echo $kak_opt_fzf_tmp/kak-setbuf.XXXXXX)) setbuf=$(mktemp $(eval echo $kak_opt_fzf_tmp/kak-setbuf.XXXXXX))
delbuf=$(mktemp $(eval echo $kak_opt_fzf_tmp/kak-delbuf.XXXXXX)) delbuf=$(mktemp $(eval echo $kak_opt_fzf_tmp/kak-delbuf.XXXXXX))
buffers=$(mktemp $(eval echo $kak_opt_fzf_tmp/kak-buffers.XXXXXX))
items_command="echo $kak_buflist | tr ' ' '\n' | sort"
if [ ! -z "${kak_client_env_TMUX}" ]; then
# cmd="$items_command | fzf-tmux -d 15 --color=16 -e --preview='$setbuf {}' --preview-window=up:hidden --expect ctrl-d > $tmp"
cmd="$items_command | fzf-tmux -d 15 --color=16 --expect ctrl-d > $tmp"
elif [ ! -z "${kak_opt_termcmd}" ]; then
path=$(pwd)
eval "echo $kak_buflist | tr ' ' '\n' | sort > $buffers"
cmd="$kak_opt_termcmd \"sh -c 'cat $buffers | fzf --color=16 --expect ctrl-d > $tmp'\""
else
echo "fail termcmd option is not set"
fi
echo "echo eval -client $kak_client \"buffer \$1\" | kak -p $kak_session" > $setbuf echo "echo eval -client $kak_client \"buffer \$1\" | kak -p $kak_session" > $setbuf
echo "echo eval -client $kak_client \"delete-buffer \$1\" | kak -p $kak_session" > $delbuf echo "echo eval -client $kak_client \"delete-buffer \$1\" | kak -p $kak_session" > $delbuf
echo "echo eval -client $kak_client \"fzf-buffer \" | kak -p $kak_session" >> $delbuf echo "echo eval -client $kak_client \"fzf-buffer \" | kak -p $kak_session" >> $delbuf
chmod 755 $setbuf chmod 755 $setbuf
chmod 755 $delbuf chmod 755 $delbuf
( (
eval "echo $kak_buflist | tr ' ' '\n' | sort | eval "$cmd"
fzf-tmux -d 15 --color=16 -e --preview='$setbuf {}' --preview-window=up:hidden --expect ctrl-d > $tmp"
if [ -s $tmp ]; then if [ -s $tmp ]; then
( read action ( read action
read buf read buf