zsh/plugins/cs-java-home/cs-java-home.plugin.zsh

42 lines
811 B
Bash
Raw Normal View History

typeset -a chpwd_functions __chromaz_extra_left
SYSTEM_JAVA_HOME=${CS_FORMER_JAVA_HOME:-$JAVA_HOME}
local cs_jvm_id
local cs_java_home
remove-from-path() {
for elem in $@; do
path=("${(@)path:#$elem}")
done
}
cs-set-java-home() {
local dir=${1:-${PWD:a}}
if [[ $dir == / ]]; then
export JAVA_HOME=${SYSTEM_JAVA_HOME}
remove-from-path $cs_java_home/bin
cs_jvm_id=
return
fi
if [[ -e $dir/.jvm ]]; then
cs_jvm_id=$(<$dir/.jvm)
#echo "Setting Java version to ${cs_jvm_id}"
cs_java_home=$(cs java-home --jvm ${cs_jvm_id})
path=( $cs_java_home/bin $path )
export JAVA_HOME=${cs_java_home}
else
cs-set-java-home ${dir:h}
fi
#
}
cs-current-java() {
echo ${cs_jvm_id:+JVM: }${cs_jvm_id}
}
chpwd_functions+=cs-set-java-home
__chromaz_extra_left+=cs-current-java
cs-set-java-home