rbenv version
を使用して表示させていたけど、若干動作が重かったので書き換えた。.ruby-version
が存在する場合は、そのバージョンを表示します。またそのバージョンがインストールされていない場合は {?}
を表示します。
以下のスクリプトを ~/.zsh.d
以下など適当な場所に置いて、.zshrc
で source ~/.zsh.d/rbenv.rb
のように読み込んでください。
# Allow for functions in the prompt.setopt PROMPT_SUBST autoload -U colors && colors if`which rbenv >/dev/null 2>&1`&& [ -z "$RBENV_ROOT" ]; thenexport RBENV_ROOT=`rbenv root`fi rbenv_version() { if [ -n "$RBENV_ROOT" ]; then VERSION='' NOTFOUND=''if [ -r .ruby-version ]; then VERSION=`cat .ruby-version` ls "${RBENV_ROOT}/versions"| egrep "^$VERSION$">/dev/null 2>&1|| NOTFOUND='{?}'else VERSION=`cat "${RBENV_ROOT}/version"`fiecho"%{$fg[red]%}[$VERSION]$NOTFOUND%{$reset_color%}"fi }
R?RROMPT
で使います
RPROMPT="$(rbenv_version)"