feat(rtx) Added new polyglot runtime manager (asdf rust clone) (#11932)
* add readme.md for rtx * add rtx plugin * update install info * remove redundant slashesmaster
parent
ee857e3acf
commit
7105e37ef0
2 changed files with 60 additions and 0 deletions
@ -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 |
||||
``` |
||||
@ -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 |
||||
Loading…
Reference in new issue