ruby-info: only run commands if the prompt needs the info

This commit is contained in:
Kaleb Elwert 2017-12-04 15:08:23 -08:00
parent 64d57ec71f
commit 3a0bd28e0c
1 changed files with 16 additions and 15 deletions

View File

@ -16,22 +16,23 @@ local version_formatted
unset ruby_info
typeset -gA ruby_info
if (( $+commands[rvm-prompt] )); then
version="$(rvm-prompt)"
elif (( $+commands[rbenv] )); then
version="$(rbenv version-name)"
if [[ $version == "system" ]]; then
version=""
fi
elif (( $+commands[ruby] )); then
version="${${$(ruby --version)[(w)1,(w)2]}/ /-}"
fi
# Grab formatting for anything we might have to do
zstyle -s ':prezto:module:ruby:info:version' format 'version_format'
# Format version.
if [[ -n "$version" ]]; then
zstyle -s ':prezto:module:ruby:info:version' format 'version_format'
zformat -f version_formatted "$version_format" "v:$version"
ruby_info[version]="$version_formatted"
if [[ -n "$version_format" ]]; then
if (( $+commands[rvm-prompt] )); then
version="$(rvm-prompt)"
elif (( $+commands[rbenv] )); then
version="$(rbenv version-name)"
elif (( $+commands[ruby] )); then
version="${${$(ruby --version)[(w)1,(w)2]}/ /-}"
fi
# Format version.
if [[ -n "$version" && "$version" != "system" ]]; then
zformat -f version_formatted "$version_format" "v:$version"
ruby_info[version]="$version_formatted"
fi
fi
# }