From a36e3305bc81e128da1ec04ae1cf571842c7a84f Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Mon, 25 Sep 2023 09:28:52 +0100 Subject: [PATCH] bash: deal with fzf coming from asdf now --- bashrc.d/fzf.bash | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/bashrc.d/fzf.bash b/bashrc.d/fzf.bash index 0e4f187..b83c406 100644 --- a/bashrc.d/fzf.bash +++ b/bashrc.d/fzf.bash @@ -1,7 +1,27 @@ # Setup fzf # --------- -if [[ ! "$PATH" == *${HOME}/.fzf/bin* ]]; then - export PATH="${PATH:+${PATH}:}${HOME}/.fzf/bin" +if [ ! -d "$HOME/.asdf/installs/fzf" ] ; then + echo "fzf isn't installed via asdf. Checking for $HOME/.fzf" + if [ ! -d "$HOME/.fzf" ] ; then + echo "fzf is not installed." + exit 1 + else + echo "Found it. Consider installing fzf via asdf:" + echo "asdf plugin add fzf" + echo "asdf install fzf latest" + echo "asdf global fzf latest" + fi + + if [[ ! "$PATH" == *${HOME}/.fzf/bin* ]]; then + export PATH="${PATH:+${PATH}:}${HOME}/.fzf/bin" + fi + COMPLETION_SCRIPT="${HOME}/.fzf/shell/completion.bash" + BINDING_SCRIPT="${HOME}/.fzf/shell/key-bindings.bash" + +else + FZF_VERSION=$(asdf current fzf | awk '{print $2}') + COMPLETION_SCRIPT="${HOME}/.asdf/installs/fzf/${FZF_VERSION}/shell/completion.bash" + BINDING_SCRIPT="${HOME}/.asdf/installs/fzf/${FZF_VERSION}/shell/key-bindings.bash" fi export FZF_DEFAULT_COMMAND='fd --type f --color=never' @@ -9,8 +29,11 @@ export FZF_ALT_C_COMMAND='fd --type d . --color=never' # Auto-completion # --------------- -[[ $- == *i* ]] && source "${HOME}/.fzf/shell/completion.bash" 2> /dev/null +[[ $- == *i* ]] && source $COMPLETION_SCRIPT 2> /dev/null # Key bindings # ------------ -source "${HOME}/.fzf/shell/key-bindings.bash" +source $BINDING_SCRIPT + +unset COMPLETION_SCRIPT +unset BINDING_SCRIPT