diff --git a/plugins/cs-java-home/_set-jvm b/plugins/cs-java-home/_set-jvm new file mode 100644 index 0000000..aa0c88e --- /dev/null +++ b/plugins/cs-java-home/_set-jvm @@ -0,0 +1,5 @@ +#compdef set-jvm + +_set-jvm() { + compadd $(cs java --available) +} diff --git a/plugins/cs-java-home/cs-java-home.plugin.zsh b/plugins/cs-java-home/cs-java-home.plugin.zsh index f64f84d..d4ed9d8 100644 --- a/plugins/cs-java-home/cs-java-home.plugin.zsh +++ b/plugins/cs-java-home/cs-java-home.plugin.zsh @@ -1,5 +1,7 @@ typeset -a chpwd_functions __chromaz_extra_left +fpath+=("${0:A:h}") + SYSTEM_JAVA_HOME=${CS_FORMER_JAVA_HOME:-$JAVA_HOME} local cs_jvm_id @@ -36,6 +38,15 @@ cs-current-java() { echo ${cs_jvm_id:+JVM: }${cs_jvm_id} } +set-jvm() { + if [[ -z $1 ]]; then + echo 'Usage: set-jvm VERSION' + return 1 + fi + cs java --jvm $1 --env && echo $1 > .jvm + cs-set-java-home +} + chpwd_functions+=cs-set-java-home __chromaz_extra_left+=cs-current-java cs-set-java-home