fix(rtx): fix `rtx` init procedure (#11949)
parent
b75b01a309
commit
30a8a5d3e2
1 changed files with 15 additions and 27 deletions
@ -1,30 +1,18 @@ |
|||||||
# Find where rtx should be installed |
# rtx needs to be in $PATH |
||||||
RTX_DIR="${RTX_DIR:-$HOME/.rtx}" |
if (( ! ${+commands[rtx]} )); then |
||||||
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 |
return |
||||||
fi |
|
||||||
fi |
fi |
||||||
|
|
||||||
# Load command |
# Load rtx hooks |
||||||
if [[ -f "$RTX_DIR/rtx.sh" ]]; then |
eval "$(rtx activate zsh)" |
||||||
source "$RTX_DIR/rtx.sh" |
|
||||||
# Load completions |
# If the completion file doesn't exist yet, we need to autoload it and |
||||||
if [[ -f "$RTX_COMPLETIONS/_rtx" ]]; then |
# bind it to `rtx`. Otherwise, compinit will have already done that. |
||||||
fpath+=("$RTX_COMPLETIONS") |
if [[ ! -f "$ZSH_CACHE_DIR/completions/_rtx" ]]; then |
||||||
|
typeset -g -A _comps |
||||||
autoload -Uz _rtx |
autoload -Uz _rtx |
||||||
compdef _rtx rtx # compdef is already loaded before loading plugins |
_comps[rtx]=_rtx |
||||||
fi |
|
||||||
fi |
fi |
||||||
|
|
||||||
|
# Generate and load rtx completion |
||||||
|
rtx completion zsh >! "$ZSH_CACHE_DIR/completions/_rtx" &| |
||||||
|
|||||||
Loading…
Reference in new issue