From f384c7b2d478632219fe0cb630576dfaa7c6b676 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martynas=20Mickevi=C4=8Dius?= Date: Sat, 2 Jun 2018 14:21:32 +0300 Subject: [PATCH 1/2] Add integration and autocompletion to jabba --- plugins/jabba/jabba.plugin.zsh | 57 ++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 plugins/jabba/jabba.plugin.zsh diff --git a/plugins/jabba/jabba.plugin.zsh b/plugins/jabba/jabba.plugin.zsh new file mode 100644 index 000000000..cb43a7732 --- /dev/null +++ b/plugins/jabba/jabba.plugin.zsh @@ -0,0 +1,57 @@ +# zsh integration and autocompletions for https://github.com/shyiko/jabba" + +jabba() { + local fd3=$(mktemp /tmp/jabba-fd3.XXXXXX) + (JABBA_SHELL_INTEGRATION=ON /usr/bin/jabba "$@" 3>| ${fd3}) + local exit_code=$? + eval $(cat ${fd3}) + rm -f ${fd3} + return ${exit_code} +} + +_jabba_get_command_list () { + $_comp_command1 2>/dev/null | sed "1,/Available Commands/d" | awk '/^[ \t]*[a-z]+/ { print $1 }' +} + +_jabba_get_installed_list () { + $_comp_command1 ls +} + +_jabba_get_available_list () { + $_comp_command1 ls-remote +} + +_jabba () { + local curcontext="$curcontext" state line + typeset -A opt_args + + _arguments \ + '1: :->command'\ + ':subcommand:->subcommand' + + case $state in + command) + compadd $(_jabba_get_command_list) + ;; + subcommand) + case $words[2] in + use) + compadd $(_jabba_get_installed_list) + ;; + install) + compadd $(_jabba_get_available_list) + ;; + uninstall) + compadd $(_jabba_get_installed_list) + ;; + esac + ;; + esac +} + +compdef _jabba jabba + +# switch to default upon terminal startup +if [ ! -z "$(jabba alias default)" ]; then + jabba use default +fi From 444b3ecc9913cfd32eac633494cf563bf0d8bc10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martynas=20Mickevi=C4=8Dius?= Date: Sat, 2 Jun 2018 14:36:24 +0300 Subject: [PATCH 2/2] Fix whitespace --- plugins/jabba/jabba.plugin.zsh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/plugins/jabba/jabba.plugin.zsh b/plugins/jabba/jabba.plugin.zsh index cb43a7732..dcc8045bc 100644 --- a/plugins/jabba/jabba.plugin.zsh +++ b/plugins/jabba/jabba.plugin.zsh @@ -36,14 +36,14 @@ _jabba () { subcommand) case $words[2] in use) - compadd $(_jabba_get_installed_list) - ;; - install) - compadd $(_jabba_get_available_list) - ;; - uninstall) - compadd $(_jabba_get_installed_list) - ;; + compadd $(_jabba_get_installed_list) + ;; + install) + compadd $(_jabba_get_available_list) + ;; + uninstall) + compadd $(_jabba_get_installed_list) + ;; esac ;; esac