From 186f44ab9b8186b13760ac091a851ac44851535b Mon Sep 17 00:00:00 2001 From: Andrey Orst Date: Tue, 25 Sep 2018 18:58:31 +0300 Subject: [PATCH] use tabs for indentation --- rc/fzf.kak | 338 +++++++++++++++++++++++++++-------------------------- 1 file changed, 170 insertions(+), 168 deletions(-) diff --git a/rc/fzf.kak b/rc/fzf.kak index 53b4781..c875200 100644 --- a/rc/fzf.kak +++ b/rc/fzf.kak @@ -44,7 +44,7 @@ Supported tools: universal-ctags: ""readtags"" Default arguments: - ""readtags -l | cut -f1 | sort -u"" + ""readtags -l | cut -f1 | sort -u"" " \ str fzf_tag_command "readtags" @@ -70,204 +70,206 @@ Best used with mapping like: fzf-mode %{ evaluate-commands 'enter-user-mode fzf' } define-command -hidden fzf-file %{ - evaluate-commands %sh{ - if [ -z $(command -v $kak_opt_fzf_file_command) ]; then - echo "echo -markup '{Information}''$kak_opt_fzf_file_command'' is not installed. Falling back to ''find'''" - kak_opt_fzf_file_command="find" - fi - case $kak_opt_fzf_file_command in - find) - cmd="find -type f" - ;; - ag) - cmd="ag -l -f --hidden --one-device . " - ;; - rg) - cmd="rg -L --hidden --files" - ;; - find*|ag*|rg*) - cmd=$kak_opt_fzf_file_command - ;; - *) - echo "echo -markup '{Information}$kak_opt_fzf_file_command is not supported by the script. fzf.kak may not work as you expect." - cmd=$kak_opt_fzf_file_command - ;; - esac - eval echo 'fzf \"edit \$1\" \"$cmd\"' - } + evaluate-commands %sh{ + if [ -z $(command -v $kak_opt_fzf_file_command) ]; then + echo "echo -markup '{Information}''$kak_opt_fzf_file_command'' is not installed. Falling back to ''find'''" + kak_opt_fzf_file_command="find" + fi + case $kak_opt_fzf_file_command in + find) + cmd="find -type f" + ;; + ag) + cmd="ag -l -f --hidden --one-device . " + ;; + rg) + cmd="rg -L --hidden --files" + ;; + find*|ag*|rg*) + cmd=$kak_opt_fzf_file_command + ;; + *) + echo "echo -markup '{Information}$kak_opt_fzf_file_command is not supported by the script. fzf.kak may not work as you expect." + cmd=$kak_opt_fzf_file_command + ;; + esac + eval echo 'fzf \"edit \$1\" \"$cmd\"' + } } define-command -hidden fzf-git %{ - evaluate-commands %sh{ - case $kak_opt_fzf_git_command in - git) - cmd="git ls-tree --name-only -r HEAD" - ;; - git*) - cmd=$kak_opt_fzf_git_command - ;; - *) - echo "echo -markup '{Information}$kak_opt_fzf_git_command vcs is not supported by the script. fzf.kak may not work as you expect." - cmd=$kak_opt_fzf_git_command - ;; - esac - eval echo 'fzf \"edit \$1\" \"$cmd\"' - } + evaluate-commands %sh{ + case $kak_opt_fzf_git_command in + git) + cmd="git ls-tree --name-only -r HEAD" + ;; + git*) + cmd=$kak_opt_fzf_git_command + ;; + *) + echo "echo -markup '{Information}$kak_opt_fzf_git_command vcs is not supported by the script. fzf.kak may not work as you expect." + cmd=$kak_opt_fzf_git_command + ;; + esac + eval echo 'fzf \"edit \$1\" \"$cmd\"' + } } define-command -hidden fzf-tag %{ - evaluate-commands %sh{ - case $kak_opt_fzf_tag_command in - readtags) - cmd="readtags -l | cut -f1 | sort -u" - ;; - readtags*) - cmd=$kak_opt_fzf_tag_command - ;; - *) - echo "echo -markup '{Information}$kak_opt_fzf_tag_command is not supported by the script. fzf.kak may not work as you expect." - cmd=$kak_opt_fzf_tag_command - ;; - esac - eval echo 'fzf \"ctags-search \$1\" \"$cmd\"' - } + evaluate-commands %sh{ + case $kak_opt_fzf_tag_command in + readtags) + cmd="readtags -l | cut -f1 | sort -u" + ;; + readtags*) + cmd=$kak_opt_fzf_tag_command + ;; + *) + echo "echo -markup '{Information}$kak_opt_fzf_tag_command is not supported by the script. fzf.kak may not work as you expect." + cmd=$kak_opt_fzf_tag_command + ;; + esac + eval echo 'fzf \"ctags-search \$1\" \"$cmd\"' + } } define-command -hidden fzf-cd %{ - fzf "cd $1" "(echo .. && find \( -path '*/.svn*' -o -path '*/.git*' \) -prune -o -type d -print)" + fzf "cd $1" "(echo .. && find \( -path '*/.svn*' -o -path '*/.git*' \) -prune -o -type d -print)" } define-command -hidden fzf -params 2 %{ evaluate-commands %sh{ - callback=$1 - items_command=$2 + callback=$1 + items_command=$2 - # 'tr' - if '(cmd1 && cmd2) | fzf' was passed 'awk' will return '(cmd1' - items_executable=$(echo $items_command | awk '{print $1}' | tr '(' ' ' | cut -d " " -f 2) - if [ -z $(command -v $items_executable) ]; then - echo "fail \'$items_executable' executable not found" - exit - fi + # 'tr' - if '(cmd1 && cmd2) | fzf' was passed 'awk' will return '(cmd1' + items_executable=$(echo $items_command | awk '{print $1}' | tr '(' ' ' | cut -d " " -f 2) + if [ -z $(command -v $items_executable) ]; then + echo "fail \'$items_executable' executable not found" + exit + fi - case $callback in - cd*) - title="fzf change directory" - message="Change the server''s working directory" - additional_flags= - ;; - ctags-search*) - title="fzf tag" - [ ! -z "${kak_client_env_TMUX}" ] && additional_keybindings=" + case $callback in + cd*) + title="fzf change directory" + message="Change the server''s working directory" + additional_flags= + ;; + ctags-search*) + title="fzf tag" + [ ! -z "${kak_client_env_TMUX}" ] && additional_keybindings=" : open tag in horizontal split : open tag in vertical split" - message="Jump to a symbol''s definition. + message="Jump to a symbol''s definition. : open tag in new buffer. : open tag in new window $additional_keybindings" - additional_flags="--expect ctrl-v --expect ctrl-s" - ;; - edit*) - title="fzf edit" - [ "$items_executable" = "git" ] && additional_info=" from git tree" - [ ! -z "${kak_client_env_TMUX}" ] && additional_keybindings=" + additional_flags="--expect ctrl-v --expect ctrl-s" + ;; + edit*) + title="fzf edit" + [ "$items_executable" = "git" ] && additional_info=" from git tree" + [ ! -z "${kak_client_env_TMUX}" ] && additional_keybindings=" : open file in horizontal split : open file in vertical split" - message="Open single or multiple files$additional_info. + message="Open single or multiple files$additional_info. : open file in new buffer. : open file in new window $additional_keybindings" - additional_flags="-m --expect ctrl-v --expect ctrl-s" - ;; - *) - title="fzf unknown command" - message="This command is not known by fzf.kak plugin. You can send a PR with it to https://github.com/andreyorst/fzf.kak" - ;; - esac + additional_flags="-m --expect ctrl-v --expect ctrl-s" + ;; + *) + title="fzf unknown command" + message="This command is not known by fzf.kak plugin. You can send a PR with it to https://github.com/andreyorst/fzf.kak" + ;; + esac - echo "info -title '$title' '$message'" + echo "info -title '$title' '$message'" - tmp=$(mktemp $(eval echo $kak_opt_fzf_tmp/kak-fzf.XXXXXX)) - exec=$(mktemp $(eval echo $kak_opt_fzf_tmp/kak-exec.XXXXXX)) + tmp=$(mktemp $(eval echo $kak_opt_fzf_tmp/kak-fzf.XXXXXX)) + exec=$(mktemp $(eval echo $kak_opt_fzf_tmp/kak-exec.XXXXXX)) - if [ ! -z "${kak_client_env_TMUX}" ]; then - cmd="$items_command | fzf-tmux -d 15 --color=16 --expect ctrl-w $additional_flags> $tmp" - elif [ ! -z "${kak_opt_termcmd}" ]; then - path=$(pwd) - cmd="$kak_opt_termcmd \"sh -c 'cd $path && $items_command | fzf --color=16 -m --expect ctrl-w > $tmp'\"" - else - echo "fail termcmd option is not set" - fi + if [ ! -z "${kak_client_env_TMUX}" ]; then + cmd="$items_command | fzf-tmux -d 15 --color=16 --expect ctrl-w $additional_flags> $tmp" + elif [ ! -z "${kak_opt_termcmd}" ]; then + path=$(pwd) + cmd="$kak_opt_termcmd \"sh -c 'cd $path && $items_command | fzf --color=16 -m --expect ctrl-w > $tmp'\"" + else + echo "fail termcmd option is not set" + fi - ( - eval "$cmd" - if [ -s $tmp ]; then - ( - read action - if [ "${callback% *}" != "cd" ]; then - case $action in - "ctrl-w") - wincmd="x11-new" - [ ! -z "${kak_client_env_TMUX}" ] && wincmd="tmux-new-window" ;; - "ctrl-s") - wincmd="tmux-new-vertical" ;; - "ctrl-v") - wincmd="tmux-new-horizontal" ;; - *) - wincmd= ;; - esac - callback="$wincmd $callback" - fi - echo "echo eval -client $kak_client \"$callback\" | kak -p $kak_session" > $exec - chmod 755 $exec - while read file; do - $exec $file - done - ) < $tmp - fi - rm $tmp - rm $exec - ) > /dev/null 2>&1 < /dev/null & + ( + eval "$cmd" + if [ -s $tmp ]; then + ( + read action + if [ "${callback% *}" != "cd" ]; then + case $action in + "ctrl-w") + wincmd="x11-new" + [ ! -z "${kak_client_env_TMUX}" ] && wincmd="tmux-new-window" ;; + "ctrl-s") + wincmd="tmux-new-vertical" ;; + "ctrl-v") + wincmd="tmux-new-horizontal" ;; + *) + wincmd= ;; + esac + callback="$wincmd $callback" + fi + echo "echo eval -client $kak_client \"$callback\" | kak -p $kak_session" > $exec + chmod 755 $exec + while read file; do + $exec $file + done + ) < $tmp + fi + rm $tmp + rm $exec + ) > /dev/null 2>&1 < /dev/null & }} define-command -hidden fzf-buffer %{ evaluate-commands %sh{ - tmp=$(mktemp $(eval echo $kak_opt_fzf_tmp/kak-fzf.XXXXXX)) - setbuf=$(mktemp $(eval echo $kak_opt_fzf_tmp/kak-setbuf.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" + tmp=$(mktemp $(eval echo $kak_opt_fzf_tmp/kak-fzf.XXXXXX)) + setbuf=$(mktemp $(eval echo $kak_opt_fzf_tmp/kak-setbuf.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 --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 + if [ ! -z "${kak_client_env_TMUX}" ]; then + 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 "info -title 'fzf buffer' 'Set buffer to edit in current client + echo "info -title 'fzf buffer' 'Set buffer to edit in current client : delete selected buffer'" - 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 \"fzf-buffer \" | kak -p $kak_session" >> $delbuf - chmod 755 $setbuf - chmod 755 $delbuf - ( - eval "$cmd" - if [ -s $tmp ]; then - ( read action - read buf - if [ "$action" = "ctrl-d" ]; then - $setbuf $kak_bufname - $delbuf $buf - else - $setbuf $buf - fi) < $tmp - else - $setbuf $kak_bufname - fi - rm $tmp - rm $setbuf - rm $delbuf - rm $buffers - ) > /dev/null 2>&1 < /dev/null & + 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 \"fzf-buffer \" | kak -p $kak_session" >> $delbuf + chmod 755 $setbuf + chmod 755 $delbuf + ( + eval "$cmd" + if [ -s $tmp ]; then + ( + read action + read buf + if [ "$action" = "ctrl-d" ]; then + $setbuf $kak_bufname + $delbuf $buf + else + $setbuf $buf + fi + ) < $tmp + else + $setbuf $kak_bufname + fi + rm $tmp + rm $setbuf + rm $delbuf + rm $buffers + ) > /dev/null 2>&1 < /dev/null & }}