aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/fzf
diff options
context:
space:
mode:
Diffstat (limited to 'fzf')
-rw-r--r--fzf/.config/fzfrc11
-rw-r--r--fzf/.config/profile.d/30-fzf.sh14
-rw-r--r--fzf/.config/zsh/.zshrc.d/90-fzf.zsh42
3 files changed, 41 insertions, 26 deletions
diff --git a/fzf/.config/fzfrc b/fzf/.config/fzfrc
new file mode 100644
index 0000000..02570d7
--- /dev/null
+++ b/fzf/.config/fzfrc
@@ -0,0 +1,11 @@
+--bind ctrl-q:abort
+--bind ctrl-y:preview-up
+--bind ctrl-e:preview-down
+--bind ctrl-u:preview-half-page-up
+--bind ctrl-d:preview-half-page-down
+--bind ctrl-b:preview-page-up
+--bind ctrl-f:preview-page-down
+--bind alt-up:half-page-up
+--bind alt-down:half-page-down
+--color fg:#ebdbb2,hl:#fabd2f,fg+:#ebdbb2,hl+:#fabd2f
+--color info:#83a598,prompt:#bdae93,spinner:#fabd2f,pointer:#83a598,marker:#fe8019,header:#665c54
diff --git a/fzf/.config/profile.d/30-fzf.sh b/fzf/.config/profile.d/30-fzf.sh
index d9e89cb..a0c2bc6 100644
--- a/fzf/.config/profile.d/30-fzf.sh
+++ b/fzf/.config/profile.d/30-fzf.sh
@@ -1,17 +1,5 @@
#!/bin/sh
-export FZF_TMUX="${TMUX:+1}"
-export FZF_TMUX_OPTS='-p80%,80%'
export FZF_PREVIEW_COMMAND='less {} 2>/dev/null'
export FZF_DEFAULT_COMMAND="fd --type f || git ls-tree -r --name-only HEAD || rg --files || find ."
-export FZF_DEFAULT_OPTS='--bind ctrl-q:abort
---bind ctrl-y:preview-up
---bind ctrl-e:preview-down
---bind ctrl-u:preview-half-page-up
---bind ctrl-d:preview-half-page-down
---bind ctrl-b:preview-page-up
---bind ctrl-f:preview-page-down
---bind alt-up:half-page-up
---bind alt-down:half-page-down
---color fg:#ebdbb2,hl:#fabd2f,fg+:#ebdbb2,hl+:#fabd2f
---color info:#83a598,prompt:#bdae93,spinner:#fabd2f,pointer:#83a598,marker:#fe8019,header:#665c54'
+export FZF_DEFAULT_OPTS_FILE="$XDG_CONFIG_HOME"/fzfrc
diff --git a/fzf/.config/zsh/.zshrc.d/90-fzf.zsh b/fzf/.config/zsh/.zshrc.d/90-fzf.zsh
index 58e0454..664e08c 100644
--- a/fzf/.config/zsh/.zshrc.d/90-fzf.zsh
+++ b/fzf/.config/zsh/.zshrc.d/90-fzf.zsh
@@ -1,20 +1,36 @@
#!/bin/zsh
-if [ -r "/usr/share/fzf/completion.zsh" ]; then
- source /usr/share/fzf/completion.zsh
-fi
+fzf-history-widget() {
+ local selected
+ setopt localoptions noglobsubst noposixbuiltins pipefail no_aliases noglob nobash_rematch 2> /dev/null
-if [ -r "/usr/share/fzf/key-bindings.zsh" ]; then
- source /usr/share/fzf/key-bindings.zsh
- for keymap in emacs vicmd viins; do
- bindkey -rM $keymap '\ec'
- bindkey -rM $keymap '^T'
- done
-fi
+ selected=$(printf '%s\t%s\000' "${(kv)history[@]}" |
+ perl -0 -ne 'if (!$seen{(/^\s*[0-9]+\**\t(.*)/s, $1)}++) { s/\n/\n\t/g; print; }' |
+ fzf -n2..,.. --scheme=history --bind=ctrl-r:toggle-sort --wrap-sign '\t↳ ' --query=${(qqq)LBUFFER} +m --read0)
+
+ local ret=$?
+ if [ -n "$selected" ]; then
+ if [[ $(awk '{print $1; exit}' <<< "$selected") =~ ^[1-9][0-9]* ]]; then
+ zle vi-fetch-history -n $MATCH
+ else
+ LBUFFER="$selected"
+ fi
+ fi
+ zle reset-prompt
+ return $ret
+}
+
+zle -N fzf-history-widget
+bindkey -M emacs '^R' fzf-history-widget
+bindkey -M vicmd '^R' fzf-history-widget
+bindkey -M viins '^R' fzf-history-widget
if [ -n "$BASE16_THEME" ] && [ -n "$BASE16_SHELL_ENABLE_VARS" ]; then
export FZF_DEFAULT_OPTS="$FZF_DEFAULT_OPTS
---color=bg+:#$BASE16_COLOR_01_HEX,bg:#$BASE16_COLOR_00_HEX,spinner:#$BASE16_COLOR_0C_HEX,hl:#$BASE16_COLOR_0D_HEX
---color=fg:#$BASE16_COLOR_04_HEX,header:#$BASE16_COLOR_0D_HEX,info:#$BASE16_COLOR_0A_HEX,pointer:#$BASE16_COLOR_0C_HEX
---color=marker:#$BASE16_COLOR_0C_HEX,fg+:#$BASE16_COLOR_06_HEX,prompt:#$BASE16_COLOR_0A_HEX,hl+:#$BASE16_COLOR_0D_HEX"
+ --color=bg+:#$BASE16_COLOR_01_HEX,bg:#$BASE16_COLOR_00_HEX
+ --color=fg:#$BASE16_COLOR_04_HEX,fg+:#$BASE16_COLOR_06_HEX
+ --color=hl:#$BASE16_COLOR_0D_HEX,hl+:#$BASE16_COLOR_0D_HEX
+ --color=info:#$BASE16_COLOR_0A_HEX,header:#$BASE16_COLOR_0D_HEX
+ --color=prompt:#$BASE16_COLOR_0A_HEX,marker:#$BASE16_COLOR_0C_HEX
+ --color=pointer:#$BASE16_COLOR_0C_HEX,spinner:#$BASE16_COLOR_0C_HEX"
fi