1
0
mirror of https://github.com/moparisthebest/pacman synced 2024-12-22 07:48:50 -05:00

zsh_completion: Handle --ignore/--ignoregroup correctly

Completion now works as expected with a comma-separated sequence.

Signed-off-by: Mohammad Alsaleh <CE.Mohammad.AlSaleh@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
Mohammad Alsaleh 2015-10-23 01:38:50 +03:00 committed by Allan McRae
parent d5b0f0c26f
commit 0fd6d354a6

View File

@ -252,23 +252,36 @@ _pacman_completions_all_groups() {
_pacman_get_command _pacman_get_command
groups=( $(_call_program groups $cmd[@] -Sg) ) groups=( $(_call_program groups $cmd[@] -Sg) )
typeset -U groups typeset -U groups
compadd "$@" -a groups
if [[ ${words[CURRENT-1]} == '--ignoregroup' ]]; then
_sequence compadd -S ',' "$@" -a groups
else
compadd "$@" -a groups
fi
} }
# provides completions for packages available from repositories # provides completions for packages available from repositories
# these can be specified as either 'package' or 'repository/package' # these can be specified as either 'package' or 'repository/package'
_pacman_completions_all_packages() { _pacman_completions_all_packages() {
local -a cmd packages repositories packages_long local -a seq sep cmd packages repositories packages_long
_pacman_get_command _pacman_get_command
if [[ ${words[CURRENT-1]} == '--ignore' ]]; then
seq='_sequence'
sep=(-S ',')
else
seq=
sep=()
fi
if compset -P1 '*/*'; then if compset -P1 '*/*'; then
packages=( $(_call_program packages $cmd[@] -Sql ${words[CURRENT]%/*}) ) packages=( $(_call_program packages $cmd[@] -Sql ${words[CURRENT]%/*}) )
typeset -U packages typeset -U packages
_wanted repo_packages expl "repository/package" compadd ${(@)packages} ${seq} _wanted repo_packages expl "repository/package" compadd ${sep[@]} ${(@)packages}
else else
packages=( $(_call_program packages $cmd[@] -Sql) ) packages=( $(_call_program packages $cmd[@] -Sql) )
typeset -U packages typeset -U packages
_wanted packages expl "packages" compadd - "${(@)packages}" ${seq} _wanted packages expl "packages" compadd ${sep[@]} - "${(@)packages}"
repositories=(${(o)${${${(M)${(f)"$(<@sysconfdir@/pacman.conf)"}:#\[*}/\[/}/\]/}:#options}) repositories=(${(o)${${${(M)${(f)"$(<@sysconfdir@/pacman.conf)"}:#\[*}/\[/}/\]/}:#options})
typeset -U repositories typeset -U repositories