61 lines
2.0 KiB
Plaintext
61 lines
2.0 KiB
Plaintext
|
|
||
|
define-command fzzf -params .. %{ evaluate-commands %sh{
|
||
|
|
||
|
while [ $# -gt 0 ]; do
|
||
|
case $1 in
|
||
|
(-items-cmd) shift; items_cmd="$1" ;;
|
||
|
esac
|
||
|
shift
|
||
|
done
|
||
|
|
||
|
# fzf_tmp=$(mktemp -d "${TMPDIR:-/tmp}"/fzfgit.kak.XXXXXX)
|
||
|
# fzfcmd="${fzf_tmp}/fzfcmd"
|
||
|
# result="${fzf_tmp}/result"
|
||
|
|
||
|
# (
|
||
|
# shell_path="$(command -v sh)"
|
||
|
# if [ -n "${shell_path}" ]; then
|
||
|
# # portable shebang
|
||
|
# printf "%s\n" "#!${shell_path}"
|
||
|
# # set SHELL because fzf preview uses it
|
||
|
# printf "%s\n" "SHELL=${shell_path}"
|
||
|
# fi
|
||
|
# # compose entire fzf command with all args into single file which will be executed later
|
||
|
# # printf "%s\n" "export FZF_DEFAULT_OPTS=\"${kak_opt_fzf_default_opts:-}\""
|
||
|
# printf "%s\n" "cd \"${PWD}\" && $items_cmd | fzf > $result"
|
||
|
# printf "%s\n" "evaluate-commands -client ${kak_client} edit -existing $file" | kak -p "${kak_session}"
|
||
|
# printf "%s\n" "rm ${fzfcmd}"
|
||
|
# printf "%s\n" "fg"
|
||
|
# ) >> "${fzfcmd}"
|
||
|
# chmod 755 "${fzfcmd}"
|
||
|
|
||
|
kill -TSTP $kak_client_pid
|
||
|
cd `pwd` && $items_cmd | \
|
||
|
fzf | \
|
||
|
xargs printf "evaluate-commands -client ${kak_client} edit -existing %s\n" | \
|
||
|
kak -p
|
||
|
fg
|
||
|
|
||
|
# cmd="terminal $fzfcmd"
|
||
|
|
||
|
# Tells kakoune to open a terminal and run $fzfcmd
|
||
|
# printf "%s\n" "$fzfcmd"
|
||
|
|
||
|
# ( while [ -e "${fzfcmd}" ]; do sleep 0.1; done
|
||
|
# # printf "%s\n" "evaluate-commands -client ${kak_client} edit -existing ~/out.txt" | kak -p "${kak_session}"
|
||
|
# if [ -s "${result}" ]; then
|
||
|
# file=$(cat $result)
|
||
|
# printf "%s\n" "evaluate-commands -client ${kak_client} edit -existing $file" | kak -p "${kak_session}"
|
||
|
|
||
|
# fi
|
||
|
# rm -rf $fzf_temp
|
||
|
# ) > /dev/null 2>&1 < /dev/null &
|
||
|
|
||
|
# Bring kakoune back into the foreground
|
||
|
}}
|
||
|
|
||
|
# define-command fzf-project %{ fzzf -items-cmd 'fd -tfile' }
|
||
|
|
||
|
# map global user f ':fzf-project<ret>' -docstring 'fzf current project'
|
||
|
|