From 16933b7d4fe7b4ebe47c798ff162273dbe6f179c Mon Sep 17 00:00:00 2001 From: Frank Becker Date: Sat, 10 Jan 2015 14:26:51 +0100 Subject: [PATCH 1/5] added gvm completion and plugin --- completion/available/gvm.completion.bash | 62 ++++++++++++++++++++++++ plugins/available/gvm.plugin.bash | 6 +++ 2 files changed, 68 insertions(+) create mode 100644 completion/available/gvm.completion.bash create mode 100644 plugins/available/gvm.plugin.bash diff --git a/completion/available/gvm.completion.bash b/completion/available/gvm.completion.bash new file mode 100644 index 00000000..c2158747 --- /dev/null +++ b/completion/available/gvm.completion.bash @@ -0,0 +1,62 @@ +_gvm_complete() +{ + local CANDIDATES + local CANDIDATE_VERSIONS + + COMPREPLY=() + + if [ $COMP_CWORD -eq 1 ]; then + COMPREPLY=( $(compgen -W "install uninstall rm list ls use current version default selfupdate broadcast offline help flush" -- ${COMP_WORDS[COMP_CWORD]}) ) + elif [ $COMP_CWORD -eq 2 ]; then + case "${COMP_WORDS[COMP_CWORD-1]}" in + "install" | "uninstall" | "rm" | "list" | "ls" | "use" | "current" ) + CANDIDATES=$(echo "${GVM_CANDIDATES_CSV}" | tr ',' ' ') + COMPREPLY=( $(compgen -W "$CANDIDATES" -- ${COMP_WORDS[COMP_CWORD]}) ) + ;; + "offline" ) + COMPREPLY=( $(compgen -W "enable disable" -- ${COMP_WORDS[COMP_CWORD]}) ) + ;; + "selfupdate" ) + COMPREPLY=( $(compgen -W "force" -P "[" -S "]" -- ${COMP_WORDS[COMP_CWORD]}) ) + ;; + "flush" ) + COMPREPLY=( $(compgen -W "candidates broadcast archives temp" -- ${COMP_WORDS[COMP_CWORD]}) ) + ;; + *) + ;; + esac + elif [ $COMP_CWORD -eq 3 ]; then + case "${COMP_WORDS[COMP_CWORD-2]}" in + "install" | "uninstall" | "rm" | "use" | "default" ) + _gvm_candidate_versions ${COMP_WORDS[COMP_CWORD-1]} + COMPREPLY=( $(compgen -W "$CANDIDATE_VERSIONS" -- ${COMP_WORDS[COMP_CWORD]}) ) + ;; + *) + ;; + esac + fi + + return 0 +} + +_gvm_candidate_versions(){ + + if _gvm_offline; then + __gvmtool_build_version_csv $1 + CANDIDATE_VERSIONS="$(echo $CSV | tr ',' ' ')" + else + CANDIDATE_VERSIONS="$(curl -s "${GVM_SERVICE}/candidates/$1" | tr ',' ' ')" + fi + +} + +_gvm_offline() +{ + if [ "$GVM_ONLINE" = "true" ]; then + return 1 + else + return 0 + fi +} + +complete -F _gvm_complete gvm diff --git a/plugins/available/gvm.plugin.bash b/plugins/available/gvm.plugin.bash new file mode 100644 index 00000000..596c0276 --- /dev/null +++ b/plugins/available/gvm.plugin.bash @@ -0,0 +1,6 @@ +cite about-plugin +about-plugin 'load gvm environment' + +GVM_DIR="$HOME/.gvm" + +[[ -s "${GVM_DIR}/bin/gvm-init.sh" ]] && source "${GVM_DIR}/bin/gvm-init.sh" From 5d0ba9550fca341d19df7cc8a09c09e8af348d15 Mon Sep 17 00:00:00 2001 From: Frank Becker Date: Mon, 12 Jan 2015 10:27:38 +0100 Subject: [PATCH 2/5] rename gvm completion and plugin to gvmtool to avoid confusion with go version manager --- .../available/{gvm.completion.bash => gvmtool.completion.bash} | 0 plugins/available/{gvm.plugin.bash => gvmtool.plugin.bash} | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename completion/available/{gvm.completion.bash => gvmtool.completion.bash} (100%) rename plugins/available/{gvm.plugin.bash => gvmtool.plugin.bash} (71%) diff --git a/completion/available/gvm.completion.bash b/completion/available/gvmtool.completion.bash similarity index 100% rename from completion/available/gvm.completion.bash rename to completion/available/gvmtool.completion.bash diff --git a/plugins/available/gvm.plugin.bash b/plugins/available/gvmtool.plugin.bash similarity index 71% rename from plugins/available/gvm.plugin.bash rename to plugins/available/gvmtool.plugin.bash index 596c0276..ee69a669 100644 --- a/plugins/available/gvm.plugin.bash +++ b/plugins/available/gvmtool.plugin.bash @@ -1,5 +1,5 @@ cite about-plugin -about-plugin 'load gvm environment' +about-plugin 'load groovy environment manager' GVM_DIR="$HOME/.gvm" From 73d2b4f87e50623dcd5b90439b1583139c3cc96b Mon Sep 17 00:00:00 2001 From: Frank Becker Date: Sun, 18 Jan 2015 13:52:22 +0100 Subject: [PATCH 3/5] gvmtool completion - determine local installed versions --- completion/available/gvmtool.completion.bash | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/completion/available/gvmtool.completion.bash b/completion/available/gvmtool.completion.bash index c2158747..3bc9b4ee 100644 --- a/completion/available/gvmtool.completion.bash +++ b/completion/available/gvmtool.completion.bash @@ -41,15 +41,24 @@ _gvm_complete() _gvm_candidate_versions(){ + + CANDIDATE_LOCAL_VERSIONS=$(__gvm_cleanup_local_versions $1) if _gvm_offline; then - __gvmtool_build_version_csv $1 - CANDIDATE_VERSIONS="$(echo $CSV | tr ',' ' ')" + CANDIDATE_VERSIONS=$CANDIDATE_LOCAL_VERSIONS else - CANDIDATE_VERSIONS="$(curl -s "${GVM_SERVICE}/candidates/$1" | tr ',' ' ')" + CANDIDATE_ONLINE_VERSIONS="$(curl -s "${GVM_SERVICE}/candidates/$1" | tr ',' ' ')" + CANDIDATE_VERSIONS="$(echo $CANDIDATE_ONLINE_VERSIONS $CANDIDATE_LOCAL_VERSIONS |sort | uniq ) " fi } +__gvm_cleanup_local_versions(){ + + __gvmtool_build_version_csv $1 + echo $CSV | tr ',' ' ' + +} + _gvm_offline() { if [ "$GVM_ONLINE" = "true" ]; then From 5738e5d45eced88c9dc1d8eb298fa1bcf62088d2 Mon Sep 17 00:00:00 2001 From: Frank Becker Date: Tue, 17 Mar 2015 22:13:53 +0100 Subject: [PATCH 4/5] added outdated command to gvmtool completion --- completion/available/gvmtool.completion.bash | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/completion/available/gvmtool.completion.bash b/completion/available/gvmtool.completion.bash index 3bc9b4ee..163141fc 100644 --- a/completion/available/gvmtool.completion.bash +++ b/completion/available/gvmtool.completion.bash @@ -6,10 +6,10 @@ _gvm_complete() COMPREPLY=() if [ $COMP_CWORD -eq 1 ]; then - COMPREPLY=( $(compgen -W "install uninstall rm list ls use current version default selfupdate broadcast offline help flush" -- ${COMP_WORDS[COMP_CWORD]}) ) + COMPREPLY=( $(compgen -W "install uninstall rm list ls use current outdated version default selfupdate broadcast offline help flush" -- ${COMP_WORDS[COMP_CWORD]}) ) elif [ $COMP_CWORD -eq 2 ]; then case "${COMP_WORDS[COMP_CWORD-1]}" in - "install" | "uninstall" | "rm" | "list" | "ls" | "use" | "current" ) + "install" | "uninstall" | "rm" | "list" | "ls" | "use" | "current" | "outdated" ) CANDIDATES=$(echo "${GVM_CANDIDATES_CSV}" | tr ',' ' ') COMPREPLY=( $(compgen -W "$CANDIDATES" -- ${COMP_WORDS[COMP_CWORD]}) ) ;; From e2a596b7080abff0489a487145b811e03709bdba Mon Sep 17 00:00:00 2001 From: Frank Becker Date: Wed, 23 Sep 2015 12:30:13 +0200 Subject: [PATCH 5/5] renamed gvmtool to sdkman --- ...completion.bash => sdkman.completion.bash} | 24 +++++++++---------- plugins/available/gvmtool.plugin.bash | 6 ----- plugins/available/sdkman.plugin.bash | 5 ++++ 3 files changed, 17 insertions(+), 18 deletions(-) rename completion/available/{gvmtool.completion.bash => sdkman.completion.bash} (73%) delete mode 100644 plugins/available/gvmtool.plugin.bash create mode 100644 plugins/available/sdkman.plugin.bash diff --git a/completion/available/gvmtool.completion.bash b/completion/available/sdkman.completion.bash similarity index 73% rename from completion/available/gvmtool.completion.bash rename to completion/available/sdkman.completion.bash index 163141fc..2bf217bb 100644 --- a/completion/available/gvmtool.completion.bash +++ b/completion/available/sdkman.completion.bash @@ -1,4 +1,4 @@ -_gvm_complete() +_sdkman_complete() { local CANDIDATES local CANDIDATE_VERSIONS @@ -10,7 +10,7 @@ _gvm_complete() elif [ $COMP_CWORD -eq 2 ]; then case "${COMP_WORDS[COMP_CWORD-1]}" in "install" | "uninstall" | "rm" | "list" | "ls" | "use" | "current" | "outdated" ) - CANDIDATES=$(echo "${GVM_CANDIDATES_CSV}" | tr ',' ' ') + CANDIDATES=$(echo "${SDKMAN_CANDIDATES_CSV}" | tr ',' ' ') COMPREPLY=( $(compgen -W "$CANDIDATES" -- ${COMP_WORDS[COMP_CWORD]}) ) ;; "offline" ) @@ -28,7 +28,7 @@ _gvm_complete() elif [ $COMP_CWORD -eq 3 ]; then case "${COMP_WORDS[COMP_CWORD-2]}" in "install" | "uninstall" | "rm" | "use" | "default" ) - _gvm_candidate_versions ${COMP_WORDS[COMP_CWORD-1]} + _sdkman_candidate_versions ${COMP_WORDS[COMP_CWORD-1]} COMPREPLY=( $(compgen -W "$CANDIDATE_VERSIONS" -- ${COMP_WORDS[COMP_CWORD]}) ) ;; *) @@ -39,33 +39,33 @@ _gvm_complete() return 0 } -_gvm_candidate_versions(){ +_sdkman_candidate_versions(){ - CANDIDATE_LOCAL_VERSIONS=$(__gvm_cleanup_local_versions $1) - if _gvm_offline; then + CANDIDATE_LOCAL_VERSIONS=$(__sdkman_cleanup_local_versions $1) + if _sdkman_offline; then CANDIDATE_VERSIONS=$CANDIDATE_LOCAL_VERSIONS else - CANDIDATE_ONLINE_VERSIONS="$(curl -s "${GVM_SERVICE}/candidates/$1" | tr ',' ' ')" + CANDIDATE_ONLINE_VERSIONS="$(curl -s "${SDKMAN_SERVICE}/candidates/$1" | tr ',' ' ')" CANDIDATE_VERSIONS="$(echo $CANDIDATE_ONLINE_VERSIONS $CANDIDATE_LOCAL_VERSIONS |sort | uniq ) " fi } -__gvm_cleanup_local_versions(){ +__sdkman_cleanup_local_versions(){ - __gvmtool_build_version_csv $1 + __sdkmantool_build_version_csv $1 echo $CSV | tr ',' ' ' } -_gvm_offline() +_sdkman_offline() { - if [ "$GVM_ONLINE" = "true" ]; then + if [ "$SDKMAN_ONLINE" = "true" ]; then return 1 else return 0 fi } -complete -F _gvm_complete gvm +complete -F _sdkman_complete sdk diff --git a/plugins/available/gvmtool.plugin.bash b/plugins/available/gvmtool.plugin.bash deleted file mode 100644 index ee69a669..00000000 --- a/plugins/available/gvmtool.plugin.bash +++ /dev/null @@ -1,6 +0,0 @@ -cite about-plugin -about-plugin 'load groovy environment manager' - -GVM_DIR="$HOME/.gvm" - -[[ -s "${GVM_DIR}/bin/gvm-init.sh" ]] && source "${GVM_DIR}/bin/gvm-init.sh" diff --git a/plugins/available/sdkman.plugin.bash b/plugins/available/sdkman.plugin.bash new file mode 100644 index 00000000..0f3722b6 --- /dev/null +++ b/plugins/available/sdkman.plugin.bash @@ -0,0 +1,5 @@ +cite about-plugin +about-plugin 'Load Software Development Kit Manager' + +export SDKMAN_DIR="$HOME/.sdkman" +[[ -s "${SDKMAN_DIR}/bin/sdkman-init.sh" ]] && source "${SDKMAN_DIR}/bin/sdkman-init.sh"