23 lines
723 B
Bash
23 lines
723 B
Bash
|
if which percol &> /dev/null; then
|
||
|
function percol_select_history() {
|
||
|
local tac
|
||
|
which gtac &> /dev/null && tac="gtac" || { which tac &> /dev/null && tac="tac" || { tac="tail -r" } }
|
||
|
BUFFER=$(fc -l -n 1 | eval $tac | percol --query "$LBUFFER")
|
||
|
CURSOR=$#BUFFER
|
||
|
zle -R -c
|
||
|
}
|
||
|
|
||
|
zle -N percol_select_history
|
||
|
bindkey '^R' percol_select_history
|
||
|
|
||
|
if which marks &> /dev/null; then
|
||
|
function percol_select_marks() {
|
||
|
BUFFER=$(marks | percol --query "$LBUFFER" | awk '{print $3}')
|
||
|
CURSOR=$#BUFFER # move cursor
|
||
|
zle -R -c # refresh
|
||
|
}
|
||
|
zle -N percol_select_marks
|
||
|
bindkey '^B' percol_select_marks
|
||
|
fi
|
||
|
fi
|