summaryrefslogtreecommitdiff
path: root/home/.oh-my-zsh/plugins/percol/percol.plugin.zsh
diff options
context:
space:
mode:
authornavewindre <boneyaard@gmail.com>2025-07-13 06:42:05 +0200
committernavewindre <boneyaard@gmail.com>2025-07-13 06:42:05 +0200
commit02f14a9cb152561a5e44062aac79f3b700403b40 (patch)
tree2db8ebda3b7f6f8777783aeb5c60018e6e1359d8 /home/.oh-my-zsh/plugins/percol/percol.plugin.zsh
parentcbbdeb2f6b40a102a829f0c47cff052937231f00 (diff)
omz
Diffstat (limited to 'home/.oh-my-zsh/plugins/percol/percol.plugin.zsh')
-rw-r--r--home/.oh-my-zsh/plugins/percol/percol.plugin.zsh25
1 files changed, 25 insertions, 0 deletions
diff --git a/home/.oh-my-zsh/plugins/percol/percol.plugin.zsh b/home/.oh-my-zsh/plugins/percol/percol.plugin.zsh
new file mode 100644
index 0000000..b78383e
--- /dev/null
+++ b/home/.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