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:
parent
d5b0f0c26f
commit
0fd6d354a6
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user