26 lines
806 B
Bash
26 lines
806 B
Bash
|
(( ${+commands[percol]} )) || return
|
||
|
|
||
|
function percol_select_history() {
|
||
|
# print history in reverse order (from -1 (latest) to 1 (oldest))
|
||
|
BUFFER=$(fc -l -n -1 1 | percol --query "$LBUFFER")
|
||
|
CURSOR=$#BUFFER
|
||
|
zle -R -c
|
||
|
}
|
||
|
zle -N percol_select_history
|
||
|
bindkey -M emacs '^R' percol_select_history
|
||
|
bindkey -M viins '^R' percol_select_history
|
||
|
bindkey -M vicmd '^R' percol_select_history
|
||
|
|
||
|
if (( ${+functions[marks]} )); then
|
||
|
function percol_select_marks() {
|
||
|
# parse directory from marks output (markname -> path) and quote if necessary
|
||
|
BUFFER=${(q)"$(marks | percol --query "$LBUFFER")"##*-> }
|
||
|
CURSOR=$#BUFFER
|
||
|
zle -R -c
|
||
|
}
|
||
|
zle -N percol_select_marks
|
||
|
bindkey -M emacs '^B' percol_select_marks
|
||
|
bindkey -M viins '^B' percol_select_marks
|
||
|
bindkey -M vicmd '^B' percol_select_marks
|
||
|
fi
|