Added completion of installable versions

The versions that can be installed were not completed. The list of available versions showed the installed versions.
The function retrieves the available versions and removes the already installed versions.
This commit is contained in:
Rutger Lubbers
2018-08-27 12:32:12 +02:00
committed by GitHub
parent e3c99f4d57
commit ac5a8aca47

View File

@@ -27,10 +27,14 @@ _sdkman_complete()
esac
elif [ $COMP_CWORD -eq 3 ]; then
case "${COMP_WORDS[COMP_CWORD-2]}" in
"install" | "uninstall" | "rm" | "use" | "default" )
"uninstall" | "rm" | "use" | "default" )
_sdkman_candidate_versions ${COMP_WORDS[COMP_CWORD-1]}
COMPREPLY=( $(compgen -W "$CANDIDATE_VERSIONS" -- ${COMP_WORDS[COMP_CWORD]}) )
;;
"install")
_sdkman_candidate_not_installed_versions ${COMP_WORDS[COMP_CWORD-1]}
COMPREPLY=( $(compgen -W "$CANDIDATE_VERSIONS" -- ${COMP_WORDS[COMP_CWORD]}) )
;;
*)
;;
esac
@@ -51,6 +55,14 @@ _sdkman_candidate_versions(){
}
_sdkman_candidate_not_installed_versions(){
CANDIDATE_LOCAL_VERSIONS=$(__sdkman_cleanup_local_versions $1)
if [ "$SDKMAN_OFFLINE_MODE" = "false" ]; then
CANDIDATE_ONLINE_VERSIONS="$(__sdkman_list_versions $1 | grep " " | grep "\." | cut -c 6-)"
CANDIDATE_VERSIONS="$(echo $CANDIDATE_ONLINE_VERSIONS $CANDIDATE_LOCAL_VERSIONS | tr ' ' '\n' | sort | uniq -u) "
fi
}
__sdkman_cleanup_local_versions(){
__sdkman_build_version_csv $1 | tr ',' ' '