summaryrefslogtreecommitdiff
path: root/oh-my-zsh/plugins/autojump
diff options
context:
space:
mode:
Diffstat (limited to 'oh-my-zsh/plugins/autojump')
-rw-r--r--oh-my-zsh/plugins/autojump/README.md11
-rw-r--r--oh-my-zsh/plugins/autojump/autojump.plugin.zsh37
2 files changed, 48 insertions, 0 deletions
diff --git a/oh-my-zsh/plugins/autojump/README.md b/oh-my-zsh/plugins/autojump/README.md
new file mode 100644
index 0000000..750ff56
--- /dev/null
+++ b/oh-my-zsh/plugins/autojump/README.md
@@ -0,0 +1,11 @@
+# Autojump plugin
+
+This plugin loads the [autojump navigation tool](https://github.com/wting/autojump).
+
+To use it, add `autojump` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... autojump)
+```
+
+**Note:** you have to [install autojump](https://github.com/wting/autojump#installation) first.
diff --git a/oh-my-zsh/plugins/autojump/autojump.plugin.zsh b/oh-my-zsh/plugins/autojump/autojump.plugin.zsh
new file mode 100644
index 0000000..e11f231
--- /dev/null
+++ b/oh-my-zsh/plugins/autojump/autojump.plugin.zsh
@@ -0,0 +1,37 @@
+declare -a autojump_paths
+autojump_paths=(
+ $HOME/.autojump/etc/profile.d/autojump.zsh # manual installation
+ $HOME/.autojump/share/autojump/autojump.zsh # manual installation
+ $HOME/.nix-profile/etc/profile.d/autojump.sh # NixOS installation
+ /run/current-system/sw/share/autojump/autojump.zsh # NixOS installation
+ /usr/share/autojump/autojump.zsh # Debian and Ubuntu package
+ /etc/profile.d/autojump.zsh # manual installation
+ /etc/profile.d/autojump.sh # Gentoo installation
+ /usr/local/share/autojump/autojump.zsh # FreeBSD installation
+ /usr/pkg/share/autojump/autojump.zsh # NetBSD installation
+ /opt/local/etc/profile.d/autojump.sh # macOS with MacPorts
+ /usr/local/etc/profile.d/autojump.sh # macOS with Homebrew (default)
+ /opt/homebrew/etc/profile.d/autojump.sh # macOS with Homebrew (default on M1 macs)
+ /etc/profiles/per-user/$USER/bin/autojump # macOS Nix, Home Manager and flakes
+)
+
+for file in $autojump_paths; do
+ if [[ -f "$file" ]]; then
+ source "$file"
+ found=1
+ break
+ fi
+done
+
+# if no path found, try Homebrew
+if (( ! found && $+commands[brew] )); then
+ file=$(brew --prefix)/etc/profile.d/autojump.sh
+ if [[ -f "$file" ]]; then
+ source "$file"
+ found=1
+ fi
+fi
+
+(( ! found )) && echo '[oh-my-zsh] autojump not found. Please install it first.'
+
+unset autojump_paths file found