You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.4 KiB
82 lines
2.4 KiB
### SDKMAN Autocomplete for Oh My Zsh |
|
|
|
# This is the output from sdkman. All the these options are supported at the |
|
# moment. |
|
|
|
# Usage: sdk <command> [candidate] [version] |
|
# sdk offline <enable|disable> |
|
# |
|
# commands: |
|
# install or i <candidate> [version] |
|
# uninstall or rm <candidate> <version> |
|
# list or ls [candidate] |
|
# use or u <candidate> [version] |
|
# default or d <candidate> [version] |
|
# current or c [candidate] |
|
# upgrade or ug [candidate] |
|
# version or v |
|
# broadcast or b |
|
# help or h |
|
# offline [enable|disable] |
|
# selfupdate [force] |
|
# update |
|
# flush <candidates|broadcast|archives|temp> |
|
# |
|
# candidate : the SDK to install: groovy, scala, grails, gradle, kotlin, etc. |
|
# use list command for comprehensive list of candidates |
|
# eg: $ sdk list |
|
# |
|
# version : where optional, defaults to latest stable if not provided |
|
# eg: $ sdk install groovy |
|
|
|
local _sdk_commands=( |
|
install i |
|
uninstall rm |
|
list ls |
|
use u |
|
default d |
|
current c |
|
upgrade ug |
|
version v |
|
broadcast b |
|
help h |
|
offline |
|
selfupdate |
|
update |
|
flush |
|
) |
|
|
|
_listInstalledVersions() { |
|
__sdkman_build_version_csv $1 | sed -e "s/,/ /g" |
|
} |
|
|
|
_listInstallableVersions() { |
|
__sdkman_list_versions $1 | grep "^ " | sed -e "s/\* /*/g" | \ |
|
sed -e "s/>//g" | xargs -n 1 echo | grep -v "^*" |
|
} |
|
|
|
_listAllVersion() { |
|
__sdkman_list_versions $1 | grep "^ " | sed -e "s/\*/ /g" | sed -e "s/>//g" |
|
} |
|
|
|
_sdk () { |
|
case $CURRENT in |
|
2) compadd -- $_sdk_commands ;; |
|
3) case "$words[2]" in |
|
i|install|rm|uninstall|ls|list|u|use|d|default|c|current|ug|upgrade) |
|
compadd -- $SDKMAN_CANDIDATES ;; |
|
offline) compadd -- enable disable ;; |
|
selfupdate) compadd -- force ;; |
|
flush) compadd -- candidates broadcast archives temp ;; |
|
esac |
|
;; |
|
4) case "$words[2]" in |
|
rm|uninstall|d|default) compadd -- $(_listInstalledVersions $words[3]) ;; |
|
i|install) compadd -- $(_listInstallableVersions $words[3]) ;; |
|
u|use) compadd -- $(_listAllVersion $words[3]) ;; |
|
esac |
|
;; |
|
esac |
|
} |
|
|
|
compdef _sdk sdk
|
|
|