diff options
author | 2025-02-13 14:13:49 +0530 | |
---|---|---|
committer | 2025-02-13 14:13:49 +0530 | |
commit | 8a2e1006b3b272126332aa064f3ad95387129544 (patch) | |
tree | 944c80ac612a65980d94a54ba11b6c7102037ecf /.config/zsh/oh-my-zsh/plugins/percol/percol.plugin.zsh | |
parent | dcbb16d8b08ff5956abef5e6478b59df2e93ad35 (diff) | |
download | dotfiles-master.tar.gz dotfiles-master.tar.bz2 dotfiles-master.zip |
Diffstat (limited to '.config/zsh/oh-my-zsh/plugins/percol/percol.plugin.zsh')
-rw-r--r-- | .config/zsh/oh-my-zsh/plugins/percol/percol.plugin.zsh | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/.config/zsh/oh-my-zsh/plugins/percol/percol.plugin.zsh b/.config/zsh/oh-my-zsh/plugins/percol/percol.plugin.zsh new file mode 100644 index 0000000..b78383e --- /dev/null +++ b/.config/zsh/oh-my-zsh/plugins/percol/percol.plugin.zsh @@ -0,0 +1,25 @@ +(( ${+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 |