diff --git a/config/zsh/.zshrc b/config/zsh/.zshrc index 7a41b0e..af83ab4 100644 --- a/config/zsh/.zshrc +++ b/config/zsh/.zshrc @@ -10,6 +10,10 @@ if command -v broot >/dev/null 2>&1; then source "$ZDOTDIR/broot.zsh" fi +if command -v fzf >/dev/null 2>&1; then + source "$ZDOTDIR/fzf.zsh" +fi + # Set up autoload for custom functions. fpath=("$ZDOTDIR/functions" $fpath) for filepath in $ZDOTDIR/functions/*; do diff --git a/config/zsh/fzf.zsh b/config/zsh/fzf.zsh new file mode 100644 index 0000000..1b744b9 --- /dev/null +++ b/config/zsh/fzf.zsh @@ -0,0 +1,42 @@ +fzf_colors=( + fg:#8185A7 + fg+:bright-white:bold + bg+:-1 + hl:yellow:regular + hl+:bright-yellow:bold + query:bright-white:regular + info:blue:bold + border:bright-black + scrollbar:white + separator:bright-black + label:yellow:bold + prompt:blue + pointer:red:bold + marker:green + spinner:yellow +) + +fzf_bindings=( + ctrl-o:toggle-up + ctrl-t:toggle-all + ctrl-x:deselect-all +) + +fzf_defaults=( + --reverse + --border=rounded + --scrollbar=┃ + --prompt='"❯ "' + --pointer='"󰓾 "' + --marker='"󰄴 "' + --color="${(pj/,/)fzf_colors}" + --bind="${(pj/,/)fzf_bindings}" +) + +export FZF_DEFAULT_OPTS="${(pj/ /)fzf_defaults}" +export FZF_CTRL_T_OPTS=--border-label='" Select file(s) "' +export FZF_CTRL_R_OPTS=--border-label='" History search "' +export FZF_ALT_C_OPTS=--border-label='" Change directory "' + +unset fzf_colors fzf_bindings fzf_defaults +