mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-12-27 15:30:15 +08:00
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:
parent
ee857e3acf
commit
7105e37ef0
30
plugins/rtx/README.md
Normal file
30
plugins/rtx/README.md
Normal 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
|
||||||
|
```
|
30
plugins/rtx/rtx.plugin.zsh
Normal file
30
plugins/rtx/rtx.plugin.zsh
Normal 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
|
Loading…
Reference in New Issue
Block a user