@@ -65,19 +65,22 @@ fzf_history_search() {
|
||||
else
|
||||
candidates=(${(f)"$(eval $history_cmd | fzf ${=ZSH_FZF_HISTORY_SEARCH_FZF_ARGS} ${=ZSH_FZF_HISTORY_SEARCH_FZF_EXTRA_ARGS})"})
|
||||
fi
|
||||
|
||||
local ret=$?
|
||||
if [ -n "$candidates" ]; then
|
||||
if (( $CANDIDATE_LEADING_FIELDS != 1 )); then
|
||||
BUFFER="${candidates[@]/(#m)[0-9 \-\:]##/${${(As: :)MATCH}[${CANDIDATE_LEADING_FIELDS},-1]}}"
|
||||
if (( ! $CANDIDATE_LEADING_FIELDS == 1 )); then
|
||||
BUFFER="${candidates[@]/(#m)[0-9 \-\:]##/$(
|
||||
printf '%s' "${${(As: :)MATCH}[${CANDIDATE_LEADING_FIELDS},-1]}" | sed 's/%/%%/g'
|
||||
)}"
|
||||
else
|
||||
BUFFER="${(j| && |)candidates}"
|
||||
fi
|
||||
BUFFER=$(printf "${BUFFER[@]//\\\\n/\\\\\\n}")
|
||||
zle vi-fetch-history -n $BUFFER
|
||||
if [ -n "${ZSH_FZF_HISTORY_SEARCH_END_OF_LINE}" ]; then
|
||||
zle end-of-line
|
||||
fi
|
||||
fi
|
||||
|
||||
zle reset-prompt
|
||||
return $ret
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user