Refactor and clean up autojump plugin

This commit is contained in:
Marc Cornellà 2019-04-09 19:38:34 +02:00
parent 5a424fc12f
commit fd105b6e52

View File

@ -1,27 +1,34 @@
if [ $commands[autojump] ]; then # check if autojump is installed (( $+commands[autojump] )) || {
if [ -f $HOME/.autojump/etc/profile.d/autojump.zsh ]; then # manual user-local installation echo '[oh-my-zsh] Please install autojump first (https://github.com/wting/autojump)'
source $HOME/.autojump/etc/profile.d/autojump.zsh return
elif [ -f $HOME/.autojump/share/autojump/autojump.zsh ]; then # another manual user-local installation }
source $HOME/.autojump/share/autojump/autojump.zsh
elif [ -f $HOME/.nix-profile/etc/profile.d/autojump.sh ]; then # nix installation declare -a autojump_paths
source $HOME/.nix-profile/etc/profile.d/autojump.sh autojump_paths=(
elif [ -f /run/current-system/sw/share/autojump/autojump.zsh ]; then # nixos installation $HOME/.autojump/etc/profile.d/autojump.zsh # manual installation
source /run/current-system/sw/share/autojump/autojump.zsh $HOME/.autojump/share/autojump/autojump.zsh # manual installation
elif [ -f /usr/share/autojump/autojump.zsh ]; then # debian and ubuntu package $HOME/.nix-profile/etc/profile.d/autojump.sh # NixOS installation
source /usr/share/autojump/autojump.zsh /run/current-system/sw/share/autojump/autojump.zsh # NixOS installation
elif [ -f /etc/profile.d/autojump.zsh ]; then # manual installation /usr/share/autojump/autojump.zsh # Debian and Ubuntu package
source /etc/profile.d/autojump.zsh /etc/profile.d/autojump.zsh # manual installation
elif [ -f /etc/profile.d/autojump.sh ]; then # gentoo installation /etc/profile.d/autojump.sh # Gentoo installation
source /etc/profile.d/autojump.sh /usr/local/share/autojump/autojump.zsh # FreeBSD installation
elif [ -f /usr/local/share/autojump/autojump.zsh ]; then # freebsd installation /opt/local/etc/profile.d/autojump.sh # macOS with MacPorts
source /usr/local/share/autojump/autojump.zsh /usr/local/etc/profile.d/autojump.sh # macOS with Homebrew (default)
elif [ -f /opt/local/etc/profile.d/autojump.sh ]; then # mac os x with ports )
source /opt/local/etc/profile.d/autojump.sh
elif [ -f /usr/local/etc/profile.d/autojump.sh ]; then # mac os x with brew for file in $autojump_paths; do
source /usr/local/etc/profile.d/autojump.sh if [[ -f "$file" ]]; then
elif [ $commands[brew] -a -f $(brew --prefix)/etc/profile.d/autojump.sh ]; then # mac os x with brew source "$file"
source $(brew --prefix)/etc/profile.d/autojump.sh found=1
break
fi fi
else done
echo 'Please install autojump to enable the plugin (https://github.com/wting/autojump)'
# if no path found, try Homebrew
if (( ! found && $+commands[brew] )); then
file=$(brew --prefix)/etc/profile.d/autojump.sh
[[ -f "$file" ]] && source "$file"
fi fi
unset autojump_paths file found