Browse Source

fzf: Fix shell directory for archlinux package (#7119)

* fzf: Fix shell directory for archlinux package

* fzf: Don't clutter PATH if fzf already available

* brew has it available via symlink in /usr/local/bin
* Fedora and Arch packages have it place in /usr/bin

* fzf: Fix archlinux guess by using release file

* fzf: unset leftover variables
Maxime Brunet 6 years ago
parent
commit
bb908495de
1 changed files with 11 additions and 4 deletions
  1. 11 4
      plugins/fzf/fzf.plugin.zsh

+ 11 - 4
plugins/fzf/fzf.plugin.zsh

@@ -24,22 +24,29 @@ fi
 
 if [[ -n "${fzf_base}" ]]; then
 
+  # Fix fzf shell directory for Archlinux package
+  if [[ ! -d "${fzf_base}/shell" ]] && [[ -f /etc/arch-release ]]; then
+    fzf_shell="${fzf_base}"
+  else
+    fzf_shell="${fzf_base}/shell"
+  fi
+
   # Setup fzf
   # ---------
-  if [[ ! "$PATH" == *$fzf_base/bin* ]]; then
+  if ! (( ${+commands[fzf]} )) && [[ ! "$PATH" == *$fzf_base/bin* ]]; then
     export PATH="$PATH:$fzf_base/bin"
   fi
   
   # Auto-completion
   # ---------------
   if [[ ! "$DISABLE_FZF_AUTO_COMPLETION" == "true" ]]; then
-    [[ $- == *i* ]] && source "$fzf_base/shell/completion.zsh" 2> /dev/null
+    [[ $- == *i* ]] && source "${fzf_shell}/completion.zsh" 2> /dev/null
   fi
   
   # Key bindings
   # ------------
   if [[ ! "$DISABLE_FZF_KEY_BINDINGS" == "true" ]]; then
-    source "$fzf_base/shell/key-bindings.zsh"
+    source "${fzf_shell}/key-bindings.zsh"
   fi
 
 else
@@ -47,4 +54,4 @@ else
         "Please add \`export FZF_BASE=/path/to/fzf/install/dir\` to your .zshrc" >&2
 fi
 
-unset fzf_base
+unset fzf_base fzf_shell dir fzfdirs