summaryrefslogtreecommitdiff
path: root/oh-my-zsh/plugins/asdf
diff options
context:
space:
mode:
authorAditya <bluenerd@protonmail.com>2023-02-27 20:04:56 +0530
committerAditya <bluenerd@protonmail.com>2023-02-27 20:04:56 +0530
commitedc449275b6c04445f58b108ca0937a87c1e8430 (patch)
tree9fd484d58145b616f29a78857cc0b1c8b1c18f05 /oh-my-zsh/plugins/asdf
parent6f5424ca96c4221ef433f545642669e9c104d0ed (diff)
add zsh
Diffstat (limited to 'oh-my-zsh/plugins/asdf')
-rw-r--r--oh-my-zsh/plugins/asdf/README.md30
-rw-r--r--oh-my-zsh/plugins/asdf/asdf.plugin.zsh27
2 files changed, 57 insertions, 0 deletions
diff --git a/oh-my-zsh/plugins/asdf/README.md b/oh-my-zsh/plugins/asdf/README.md
new file mode 100644
index 0000000..f047860
--- /dev/null
+++ b/oh-my-zsh/plugins/asdf/README.md
@@ -0,0 +1,30 @@
+## asdf
+
+**Maintainer:** [@RobLoach](https://github.com/RobLoach)
+
+Adds integration with [asdf](https://github.com/asdf-vm/asdf), the extendable version manager, with support for Ruby, Node.js, Elixir, Erlang and more.
+
+### Installation
+
+1. [Download asdf](https://asdf-vm.com/guide/getting-started.html#_2-download-asdf) by running the following:
+
+ ```
+ git clone https://github.com/asdf-vm/asdf.git ~/.asdf
+ ```
+
+2. [Enable asdf](https://asdf-vm.com/guide/getting-started.html#_3-install-asdf) by adding it to your `plugins` definition in `~/.zshrc`.
+
+ ```
+ plugins=(asdf)
+ ```
+
+### Usage
+
+See the [asdf documentation](https://asdf-vm.com/guide/getting-started.html#_4-install-a-plugin) for information on how to use asdf:
+
+```
+asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
+asdf install nodejs latest
+asdf global nodejs latest
+asdf local nodejs latest
+```
diff --git a/oh-my-zsh/plugins/asdf/asdf.plugin.zsh b/oh-my-zsh/plugins/asdf/asdf.plugin.zsh
new file mode 100644
index 0000000..3016282
--- /dev/null
+++ b/oh-my-zsh/plugins/asdf/asdf.plugin.zsh
@@ -0,0 +1,27 @@
+# Find where asdf should be installed
+ASDF_DIR="${ASDF_DIR:-$HOME/.asdf}"
+ASDF_COMPLETIONS="$ASDF_DIR/completions"
+
+# If not found, check for archlinux/AUR package (/opt/asdf-vm/)
+if [[ ! -f "$ASDF_DIR/asdf.sh" || ! -f "$ASDF_COMPLETIONS/asdf.bash" ]] && [[ -f "/opt/asdf-vm/asdf.sh" ]]; then
+ ASDF_DIR="/opt/asdf-vm"
+ ASDF_COMPLETIONS="$ASDF_DIR"
+fi
+
+# If not found, check for Homebrew package
+if [[ ! -f "$ASDF_DIR/asdf.sh" || ! -f "$ASDF_COMPLETIONS/asdf.bash" ]] && (( $+commands[brew] )); then
+ brew_prefix="$(brew --prefix asdf)"
+ ASDF_DIR="${brew_prefix}/libexec"
+ ASDF_COMPLETIONS="${brew_prefix}/etc/bash_completion.d"
+ unset brew_prefix
+fi
+
+# Load command
+if [[ -f "$ASDF_DIR/asdf.sh" ]]; then
+ . "$ASDF_DIR/asdf.sh"
+
+ # Load completions
+ if [[ -f "$ASDF_COMPLETIONS/asdf.bash" ]]; then
+ . "$ASDF_COMPLETIONS/asdf.bash"
+ fi
+fi