From ac6ba20083c838cc50115df4cbf3175e28bc6f39 Mon Sep 17 00:00:00 2001 From: Vojtech Letal Date: Mon, 30 Mar 2015 14:23:50 +0200 Subject: [PATCH 1/4] Completion for pacapt * it now supports apt, yum and brew * in other cases it falls back to gnu generic completion --- src/_pacapt | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 src/_pacapt diff --git a/src/_pacapt b/src/_pacapt new file mode 100644 index 0000000..08434a6 --- /dev/null +++ b/src/_pacapt @@ -0,0 +1,75 @@ +#compdef pacapt +# Pacapt plugin for oh-my-zsh +# +# Author: letal.vojtech[at]gmail[dot]com +# +# The pacapt (http://github.com/icy/pacapt) wrapper is not spread and +# known enough so I wrapped it to the plugin. Therefore it can be anabled +# and used in an easy and convinient way. + +local zsh_pacapt_path="$(cd "$(dirname "$0")" && pwd)" + +_pacapt_action() { + _arguments -s : \ + "$_pacapt_opts_commands[@]" +} + +# ----- APT +if which apt > /dev/null; then + zsh_pacapt_init=true + + _pacapt_available_packages() { + _values 'Available packages' $(pacapt -Ss "." | awk '{print $1}') + } + + _pacapt_installed_packages() { + _values 'Installed packages' $(pacapt -Q | awk '{print $2}') + } + +# ----- YUM +elif which yum > /dev/null; then + zsh_pacapt_init=true + + _pacapt_yum_list() { + _values "$1 packages" $(yum list $1 | grep '\.' | grep -i '^[^ ]' | awk '{print $1}') + } + + _pacapt_available_packages() { + _pacapt_yum_list available + } + + _pacapt_installed_packages() { + _pacapt_yum_list installed + } +# ----- BREW +elif which brew > /dev/null; then + zsh_pacapt_init=true + + _pacapt_available_packages() { + _values 'Installed packages' $(brew search) + } + + _pacapt_installed_packages() { + _values 'Installed packages' $(brew list) + } +fi + +_pacapt_zsh_comp() { + case $words[2] in + -Qi) _pacapt_available_packages ;; + -Qo) _files ;; + -Qp) _files ;; + -S) _pacapt_available_packages ;; + -R) _pacapt_installed_packages ;; + + - ) _gnu_generic ;; + * ) return 1 ;; + esac +} + +if "$zsh_pacapt_init" = true; then + compdef _pacapt_zsh_comp pacapt +else + compdef _gnu_generic pacapt +fi + From 88b824dfd62e20d565add718e3227851dca28c13 Mon Sep 17 00:00:00 2001 From: Vojtech Letal Date: Mon, 30 Mar 2015 14:28:47 +0200 Subject: [PATCH 2/4] Removed obsolete comments --- src/_pacapt | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/_pacapt b/src/_pacapt index 08434a6..573e264 100644 --- a/src/_pacapt +++ b/src/_pacapt @@ -1,11 +1,4 @@ #compdef pacapt -# Pacapt plugin for oh-my-zsh -# -# Author: letal.vojtech[at]gmail[dot]com -# -# The pacapt (http://github.com/icy/pacapt) wrapper is not spread and -# known enough so I wrapped it to the plugin. Therefore it can be anabled -# and used in an easy and convinient way. local zsh_pacapt_path="$(cd "$(dirname "$0")" && pwd)" From 7e33cb16f3a9e04603da85798632e41982417d47 Mon Sep 17 00:00:00 2001 From: Vojtech Letal Date: Mon, 30 Mar 2015 14:58:07 +0200 Subject: [PATCH 3/4] Fixed typo in pacapt-brew completion --- src/_pacapt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_pacapt b/src/_pacapt index 573e264..2e8e871 100644 --- a/src/_pacapt +++ b/src/_pacapt @@ -39,7 +39,7 @@ elif which brew > /dev/null; then zsh_pacapt_init=true _pacapt_available_packages() { - _values 'Installed packages' $(brew search) + _values 'Available packages' $(brew search) } _pacapt_installed_packages() { From f8cda1867be4e5bdf302b7c6ce57cfa03205e710 Mon Sep 17 00:00:00 2001 From: Vojtech Letal Date: Fri, 3 Apr 2015 14:33:03 +0200 Subject: [PATCH 4/4] Complete the pacapt completion * the completion function was not formulated properly --- src/_pacapt | 125 +++++++++++++++++++++++++--------------------------- 1 file changed, 60 insertions(+), 65 deletions(-) diff --git a/src/_pacapt b/src/_pacapt index 2e8e871..4228bf6 100644 --- a/src/_pacapt +++ b/src/_pacapt @@ -1,68 +1,63 @@ #compdef pacapt -local zsh_pacapt_path="$(cd "$(dirname "$0")" && pwd)" - -_pacapt_action() { - _arguments -s : \ - "$_pacapt_opts_commands[@]" +_pacapt(){ + # ----- APT + if which apt > /dev/null; then + zsh_pacapt_init=true + + _pacapt_available_packages() { + _values 'Available packages' $(pacapt -Ss "." | awk '{print $1}') + } + + _pacapt_installed_packages() { + _values 'Installed packages' $(pacapt -Q | awk '{print $2}') + } + + # ----- YUM + elif which yum > /dev/null; then + zsh_pacapt_init=true + + _pacapt_yum_list() { + _values "$1 packages" $(yum list $1 | grep '\.' | grep -i '^[^ ]' | awk '{print $1}') + } + + _pacapt_available_packages() { + _pacapt_yum_list available + } + + _pacapt_installed_packages() { + _pacapt_yum_list installed + } + # ----- BREW + elif which brew > /dev/null; then + zsh_pacapt_init=true + + _pacapt_available_packages() { + _values 'Available packages' $(brew search) + } + + _pacapt_installed_packages() { + _values 'Installed packages' $(brew list) + } + fi + + _pacapt_zsh_comp() { + case $words[2] in + -Qi) _pacapt_available_packages ;; + -Qo) _files ;; + -Qp) _files ;; + -S) _pacapt_available_packages ;; + -R) _pacapt_installed_packages ;; + + - ) _gnu_generic ;; + * ) return 1 ;; + esac + } + + if "$zsh_pacapt_init" = true; then + _pacapt_zsh_comp $@ + else + _gnu_generic $@ + fi + } - -# ----- APT -if which apt > /dev/null; then - zsh_pacapt_init=true - - _pacapt_available_packages() { - _values 'Available packages' $(pacapt -Ss "." | awk '{print $1}') - } - - _pacapt_installed_packages() { - _values 'Installed packages' $(pacapt -Q | awk '{print $2}') - } - -# ----- YUM -elif which yum > /dev/null; then - zsh_pacapt_init=true - - _pacapt_yum_list() { - _values "$1 packages" $(yum list $1 | grep '\.' | grep -i '^[^ ]' | awk '{print $1}') - } - - _pacapt_available_packages() { - _pacapt_yum_list available - } - - _pacapt_installed_packages() { - _pacapt_yum_list installed - } -# ----- BREW -elif which brew > /dev/null; then - zsh_pacapt_init=true - - _pacapt_available_packages() { - _values 'Available packages' $(brew search) - } - - _pacapt_installed_packages() { - _values 'Installed packages' $(brew list) - } -fi - -_pacapt_zsh_comp() { - case $words[2] in - -Qi) _pacapt_available_packages ;; - -Qo) _files ;; - -Qp) _files ;; - -S) _pacapt_available_packages ;; - -R) _pacapt_installed_packages ;; - - - ) _gnu_generic ;; - * ) return 1 ;; - esac -} - -if "$zsh_pacapt_init" = true; then - compdef _pacapt_zsh_comp pacapt -else - compdef _gnu_generic pacapt -fi -