fix prompt

1. Completion lost prompt
2. Original input is lost when canceling
This commit is contained in:
kassadin
2021-09-10 16:10:54 +08:00
parent 8671242ed4
commit 6ad924a5ad

View File

@@ -4,10 +4,15 @@
fzf_history_search() {
setopt extendedglob
candidates=(${(f)"$(fc -li -1 0 | fzf +s +m -x -e -q "$BUFFER")"})
BUFFER="${candidates[@]/(#m)*/${${(As: :)MATCH}[4,-1]}}"
BUFFER="${BUFFER[@]/(#b)(?)\\n/$match[1]
local ret=$?
if [ -n "$candidates" ]; then
BUFFER="${candidates[@]/(#m)*/${${(As: :)MATCH}[4,-1]}}"
BUFFER="${BUFFER[@]/(#b)(?)\\n/$match[1]
}"
zle end-of-buffer-or-history
zle vi-fetch-history -n $BUFFER
fi
zle reset-prompt
return $ret
}
autoload fzf_history_search