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
This commit is contained in:
DemonKiller 2023-10-08 14:27:55 +01:00 committed by GitHub
parent ee857e3acf
commit 7105e37ef0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 60 additions and 0 deletions

30
plugins/rtx/README.md Normal file
View File

@ -0,0 +1,30 @@
## rtx
Adds integration with [rtx](https://github.com/jdx/rtx), a runtime executor compatible with npm, nodenv, pyenv, etc. rtx is written in rust and is very fast. 20x-200x faster than asdf. With that being said, rtx is compatible with asdf plugins and .tool-versions files. It can be used as a drop-in replacement.
### Installation
1. [Download & install rtx](https://github.com/jdx/rtx#installation) by running the following:
```
curl https://rtx.pub/install.sh | sh
```
2. [Enable rtx](https://github.com/jdx/rtx#quickstart) by adding it to your `plugins` definition in `~/.zshrc`.
```
plugins=(rtx)
```
### Usage
See the [rtx readme](https://github.com/jdx/rtx#table-of-contents) for information on how to use rtx. Here are a few examples:
```
rtx install node Install the current version specified in .tool-versions/.rtx.toml
rtx use -g node@system Use system node as global default
rtx install node@20.0.0 Install a specific version number
rtx use -g node@20 Use node-20.x as global default
```

View File

@ -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