summaryrefslogtreecommitdiff
path: root/plugins/rtx/rtx.plugin.zsh
diff options
context:
space:
mode:
authorDemonKiller <55846983+demonkillerr@users.noreply.github.com>2023-10-08 14:27:55 +0100
committerGitHub <noreply@github.com>2023-10-08 15:27:55 +0200
commit7105e37ef09ff890f7eca3e64d48b8b7ff94a494 (patch)
treea93f5bf1d73a17d7848f0560b1a18b861a04e1d5 /plugins/rtx/rtx.plugin.zsh
parentee857e3acf4beba9e3121bc8e776a048c46fa85f (diff)
downloadzsh-7105e37ef09ff890f7eca3e64d48b8b7ff94a494.tar.gz
zsh-7105e37ef09ff890f7eca3e64d48b8b7ff94a494.tar.bz2
zsh-7105e37ef09ff890f7eca3e64d48b8b7ff94a494.zip
feat(rtx) Added new polyglot runtime manager (asdf rust clone) (#11932)
* add readme.md for rtx * add rtx plugin * update install info * remove redundant slashes
Diffstat (limited to 'plugins/rtx/rtx.plugin.zsh')
-rw-r--r--plugins/rtx/rtx.plugin.zsh30
1 files changed, 30 insertions, 0 deletions
diff --git a/plugins/rtx/rtx.plugin.zsh b/plugins/rtx/rtx.plugin.zsh
new file mode 100644
index 000000000..aaccaf015
--- /dev/null
+++ b/plugins/rtx/rtx.plugin.zsh
@@ -0,0 +1,30 @@
+# Find where rtx should be installed
+RTX_DIR="${RTX_DIR:-$HOME/.rtx}"
+RTX_COMPLETIONS="$RTX_DIR/completions"
+
+if [[ ! -f "$RTX_DIR/rtx.sh" || ! -f "$RTX_COMPLETIONS/_rtx" ]]; then
+ # If not found, check for archlinux/AUR package (/opt/rtx-vm/)
+ if [[ -f "/opt/rtx-vm/rtx.sh" ]]; then
+ RTX_DIR="/opt/rtx-vm"
+ RTX_COMPLETIONS="$RTX_DIR"
+ # If not found, check for Homebrew package
+ elif (( $+commands[brew] )); then
+ _RTX_PREFIX="$(brew --prefix rtx)"
+ RTX_DIR="${_RTX_PREFIX}/libexec"
+ RTX_COMPLETIONS="${_RTX_PREFIX}/share/zsh/site-functions"
+ unset _RTX_PREFIX
+ else
+ return
+ fi
+fi
+
+# Load command
+if [[ -f "$RTX_DIR/rtx.sh" ]]; then
+ source "$RTX_DIR/rtx.sh"
+ # Load completions
+ if [[ -f "$RTX_COMPLETIONS/_rtx" ]]; then
+ fpath+=("$RTX_COMPLETIONS")
+ autoload -Uz _rtx
+ compdef _rtx rtx # compdef is already loaded before loading plugins
+ fi
+fi