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
if (( $+commands[rvm-prompt] )); then # Grab formatting for anything we might have to do
version="$(rvm-prompt)" zstyle -s ':prezto:module:ruby:info:version' format 'version_format'
elif (( $+commands[rbenv] )); then
version="$(rbenv version-name)" if [[ -n "$version_format" ]]; then
if [[ $version == "system" ]]; then if (( $+commands[rvm-prompt] )); then
version="" version="$(rvm-prompt)"
elif (( $+commands[rbenv] )); then
version="$(rbenv version-name)"
elif (( $+commands[ruby] )); then
version="${${$(ruby --version)[(w)1,(w)2]}/ /-}"
fi fi
elif (( $+commands[ruby] )); then
version="${${$(ruby --version)[(w)1,(w)2]}/ /-}"
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