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

main
Kaleb Elwert 7 years ago
parent 64d57ec71f
commit 3a0bd28e0c

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

Loading…
Cancel
Save