diff --git a/z.lua b/z.lua index 99239f8..63b25ff 100755 --- a/z.lua +++ b/z.lua @@ -1878,17 +1878,16 @@ if [ "$TERM" != "dumb" ] && command -v fzf >/dev/null 2>&1; then _zlua_fzf_complete() { local query="${COMP_WORDS[COMP_CWORD]}" - local selected=$(_zlua --complete | $zlua_fzf --query "$query") - - printf '\e[5n' + local selected=$(_zlua | sed "s|$HOME|\~|" | $zlua_fzf --query "$query") if [ -n "$selected" ]; then - COMPREPLY=("$selected") - return 0 + COMPREPLY=( "$selected" ) fi + + printf '\e[5n' } - complete -o bashdefault -F _zlua_fzf_complete ${_ZL_CMD:-z} + complete -o bashdefault -o nospace -F _zlua_fzf_complete ${_ZL_CMD:-z} fi ]] @@ -1933,7 +1932,7 @@ function z_shell_init(opts) end print(script_complete_bash) if opts.fzf ~= nil then - fzf_cmd = "fzf --reverse --inline-info +s" + fzf_cmd = "fzf --nth 2 --reverse --inline-info +s --tac" if not os.getenv('_ZL_FZF_FULLSCR') then fzf_cmd = fzf_cmd .. ' --height 35%' end