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