1
0
Fork 0

Add perl-info function

pull/1130/head
delphinus 9 years ago
parent 29593e62e3
commit 2205869f03

@ -51,6 +51,24 @@ Aliases
- `plbu` uninstalls a Perl version.
- `plbx` temporarily sets the Perl version to use.
Functions
---------
- `perl-info` exposes information about the Perl environment via the
`$perl_info` associative array.
Theming
-------
To display the name of the currach Perl version in a prompt, define the
following style in the `prompt_name_setup` function.
# %v - perl version.
zstyle ':prezto:module:perl:info:version' format 'version:%v'
Then add `$perl_info[version]` to `$PROMPT` or `$RPROMPT` and call
`perl-info` in the `prompt_name_precmd` hook function.
Authors
-------

@ -0,0 +1,30 @@
#
# Exposes information about the Perl environment via the $perl_info associative
# array.
#
# Authors:
# JINNOUCHI Yasushi <delphinus@remora.cx>
#
local version
local version_format
local version_formatted
# Clean up previous $perl_info.
unset perl_info
typeset -gA perl_info
if (( $+commands[perlbrew] )); then
version=${${(F)${(f)"$(perlbrew list)"}:# *}[(w)2]}
elif (( $+commands[plenv] )); then
version=$(plenv version-name)
elif (( $+commands[perl] )); then
version=$(perl -e 'printf "%vd", $^V')
fi
# Format version.
if [[ -n "$version" ]]; then
zstyle -s ':prezto:module:perl:info:version' format 'version_format'
zformat -f version_formatted "$version_format" "v:$version"
perl_info[version]="$version_formatted"
fi
Loading…
Cancel
Save