[Fix #259] Add ruby-info function
This commit is contained in:
parent
eceef765b7
commit
e5a9bdc4b4
@ -56,6 +56,24 @@ Aliases
|
||||
- `rbbp` packages gem files into *vendor/cache*.
|
||||
- `rbbu` updates gems to their latest version.
|
||||
|
||||
Functions
|
||||
---------
|
||||
|
||||
- `ruby-info` exposes information about the Ruby environment via the
|
||||
`$ruby_info` associative array.
|
||||
|
||||
Theming
|
||||
-------
|
||||
|
||||
To display the name of the current Ruby version in a prompt, define the
|
||||
following style in the `prompt_theme_setup` function.
|
||||
|
||||
# %v - ruby version.
|
||||
zstyle ':prezto:module:ruby' version 'version:%v'
|
||||
|
||||
Then add `$ruby_info[version]` to `$PROMPT` or `$RPROMPT` and call
|
||||
`ruby-info` in the `prompt_theme_preexec` hook function.
|
||||
|
||||
Authors
|
||||
-------
|
||||
|
||||
|
28
modules/ruby/functions/ruby-info
Normal file
28
modules/ruby/functions/ruby-info
Normal file
@ -0,0 +1,28 @@
|
||||
#
|
||||
# Displays Ruby information.
|
||||
#
|
||||
# Authors:
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
local version
|
||||
local version_format
|
||||
local version_formatted
|
||||
|
||||
# Clean up previous $ruby_info.
|
||||
unset ruby_info
|
||||
typeset -gA ruby_info
|
||||
|
||||
if (( $+commands[rvm-prompt] )); then
|
||||
version="$(rvm-prompt)"
|
||||
elif (( $+commands[rbenv] )); then
|
||||
version="$(rbenv version-name)"
|
||||
fi
|
||||
|
||||
# Format version.
|
||||
if [[ -n "$version" ]]; then
|
||||
zstyle -s ':prezto:module:ruby' version 'version_format'
|
||||
zformat -f version_formatted "$version_format" "v:$version"
|
||||
ruby_info[version]="$version_formatted"
|
||||
fi
|
||||
|
Reference in New Issue
Block a user