diff options
Diffstat (limited to 'plugins/rtx')
| -rw-r--r-- | plugins/rtx/README.md | 30 | ||||
| -rw-r--r-- | plugins/rtx/rtx.plugin.zsh | 30 | 
2 files changed, 60 insertions, 0 deletions
diff --git a/plugins/rtx/README.md b/plugins/rtx/README.md new file mode 100644 index 000000000..c6436d3a7 --- /dev/null +++ b/plugins/rtx/README.md @@ -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 +``` 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  | 
