summaryrefslogtreecommitdiff
path: root/plugins/jenv/jenv.plugin.zsh
diff options
context:
space:
mode:
authorMarc Cornellà <marc.cornella@live.com>2018-08-19 19:32:48 +0200
committerMarc Cornellà <marc.cornella@live.com>2018-08-19 19:36:46 +0200
commit3a822bb5fdc30e5b623f409af5c894fe9ad90d15 (patch)
treeb9361c0a63125fd11ebebdf0d16dba2305988881 /plugins/jenv/jenv.plugin.zsh
parente8b9958926c6e41fc681983bf4ec7d96e21e27db (diff)
downloadzsh-3a822bb5fdc30e5b623f409af5c894fe9ad90d15.tar.gz
zsh-3a822bb5fdc30e5b623f409af5c894fe9ad90d15.tar.bz2
zsh-3a822bb5fdc30e5b623f409af5c894fe9ad90d15.zip
jenv: refactor and optimize logic
Diffstat (limited to 'plugins/jenv/jenv.plugin.zsh')
-rw-r--r--plugins/jenv/jenv.plugin.zsh43
1 files changed, 20 insertions, 23 deletions
diff --git a/plugins/jenv/jenv.plugin.zsh b/plugins/jenv/jenv.plugin.zsh
index f131aa2f9..6c52635bb 100644
--- a/plugins/jenv/jenv.plugin.zsh
+++ b/plugins/jenv/jenv.plugin.zsh
@@ -1,33 +1,30 @@
-_homebrew-installed() {
- type brew &> /dev/null
-}
-
-_jenv-from-homebrew-installed() {
- brew --prefix jenv &> /dev/null
-}
-
jenvdirs=("$HOME/.jenv" "/usr/local/jenv" "/opt/jenv")
-if _homebrew-installed && _jenv-from-homebrew-installed ; then
- jenvdirs+=($(brew --prefix jenv) "${jenvdirs[@]}")
-fi
FOUND_JENV=0
-for jenvdir in "${jenvdirs[@]}" ; do
- if [ -d $jenvdir/bin -a $FOUND_JENV -eq 0 ] ; then
+for jenvdir in $jenvdirs; do
+ if [[ -d "${jenvdir}/bin" ]]; then
FOUND_JENV=1
- export PATH="${jenvdir}/bin:$PATH"
- eval "$(jenv init - zsh)"
+ break
+ fi
+done
- function jenv_prompt_info() {
- echo "$(jenv version-name)"
- }
+if [[ $FOUND_JENV -eq 0 ]]; then
+ if (( $+commands[brew] )) && jenvdir="$(brew --prefix jenv)"; then
+ FOUND_JENV=1
fi
- if [ -d $jenvdir/versions -a $FOUND_JENV -eq 0 ] ; then
+fi
+
+if [[ $FOUND_JENV -eq 1 ]]; then
+ export PATH="${jenvdir}/bin:$PATH"
+ eval "$(jenv init - zsh)"
+
+ function jenv_prompt_info() { jenv version-name 2>/dev/null }
+
+ if [[ -d "${jenvdir}/versions" ]]; then
export JENV_ROOT=$jenvdir
fi
-done
-unset jenvdir
-
-if [ $FOUND_JENV -eq 0 ] ; then
+else
function jenv_prompt_info() { echo "system: $(java -version 2>&1 | cut -f 2 -d ' ')" }
fi
+
+unset jenvdir FOUND_JENV