ZSH プロンプトに rbenv version を表示する
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" ]; then export 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"` fi echo "%{$fg[red]%}[$VERSION]$NOTFOUND%{$reset_color%}" fi }
R?RROMPT
で使います
RPROMPT="$(rbenv_version)"