summaryrefslogtreecommitdiff
path: root/home/.oh-my-zsh/plugins/asdf
diff options
context:
space:
mode:
authornavewindre <boneyaard@gmail.com>2025-07-13 06:42:05 +0200
committernavewindre <boneyaard@gmail.com>2025-07-13 06:42:05 +0200
commit02f14a9cb152561a5e44062aac79f3b700403b40 (patch)
tree2db8ebda3b7f6f8777783aeb5c60018e6e1359d8 /home/.oh-my-zsh/plugins/asdf
parentcbbdeb2f6b40a102a829f0c47cff052937231f00 (diff)
omz
Diffstat (limited to 'home/.oh-my-zsh/plugins/asdf')
-rw-r--r--home/.oh-my-zsh/plugins/asdf/README.md48
-rw-r--r--home/.oh-my-zsh/plugins/asdf/asdf.plugin.zsh13
2 files changed, 61 insertions, 0 deletions
diff --git a/home/.oh-my-zsh/plugins/asdf/README.md b/home/.oh-my-zsh/plugins/asdf/README.md
new file mode 100644
index 0000000..69db693
--- /dev/null
+++ b/home/.oh-my-zsh/plugins/asdf/README.md
@@ -0,0 +1,48 @@
+# asdf
+
+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. [Install](https://asdf-vm.com/guide/getting-started.html#_1-install-asdf) asdf and ensure that's it's discoverable on `$PATH`;
+2. Enable it by adding it to your `plugins` definition in `~/.zshrc`:
+
+```sh
+plugins=(asdf)
+```
+
+## Usage
+
+Refer to the [asdf plugin documentation](https://asdf-vm.com/guide/getting-started.html#_4-install-a-plugin) for information on how to add a plugin and install the many runtime versions for it.
+
+Example for installing the nodejs plugin and the many runtimes for it:
+
+```sh
+# Add plugin to asdf
+asdf plugin add nodejs
+
+# Install the latest available version
+asdf install nodejs latest
+
+# Uninstall the latest version
+asdf uninstall nodejs latest
+
+# Install a specific version
+asdf install nodejs 16.5.0
+
+# Set the latest version in .tool-versions of the `current directory`
+asdf set nodejs latest
+
+# Set a specific version in the `parent directory`
+asdf set -p nodejs 16.5.0 # -p is shorthand for --parent
+
+# Set a global version under `$HOME`
+asdf set -u nodejs 16.5.0 # -u is shorthand for --home
+```
+
+For more commands, run `asdf help` or refer to the
+[asdf CLI documentation](https://asdf-vm.com/manage/commands.html#all-commands).
+
+## Maintainer
+
+- [@RobLoach](https://github.com/RobLoach)
diff --git a/home/.oh-my-zsh/plugins/asdf/asdf.plugin.zsh b/home/.oh-my-zsh/plugins/asdf/asdf.plugin.zsh
new file mode 100644
index 0000000..318267d
--- /dev/null
+++ b/home/.oh-my-zsh/plugins/asdf/asdf.plugin.zsh
@@ -0,0 +1,13 @@
+(( ! $+commands[asdf] )) && return
+
+export ASDF_DATA_DIR="${ASDF_DATA_DIR:-$HOME/.asdf}"
+path=("$ASDF_DATA_DIR/shims" $path)
+
+# If the completion file doesn't exist yet, we need to autoload it and
+# bind it to `asdf`. Otherwise, compinit will have already done that.
+if [[ ! -f "$ZSH_CACHE_DIR/completions/_asdf" ]]; then
+ typeset -g -A _comps
+ autoload -Uz _asdf
+ _comps[asdf]=_asdf
+fi
+asdf completion zsh >| "$ZSH_CACHE_DIR/completions/_asdf" &|