1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
# /usr/share/bash-completion/completions/chdist
# Bash command completion for ‘chdist(1)’.
# Documentation: ‘bash(1)’, section “Programmable Completion”.
_chdist ()
{
local cur=$2 prev=$3
local options='--help -h --data-dir -d --arch -a'
local commands='create apt apt-get apt-cache apt-rdepends aptitude
src2bin bin2src
compare-packages compare-bin-packages
compare-versions compare-bin-versions
grep-dctrl-packages grep-dctrl-sources
list'
# Sync'd with https://buildd.debian.org/status/package.php?p=dpkg&suite=sid on 2026-02-12
local cur_archs="all amd64 arm64 armhf i386 loong64 ppc64el riscv64 s390x alpha hppa hurd-amd64 hurd-i386 m68k powerpc ppc64 sh4 sparc64 x32"
local old_archs="armel ia64 kfreebsd-amd64 kfreebsd-i386 mips mips64el mipsel powerpcspe ppc64el s390 sparc"
local archs="$cur_archs $old_archs"
local dists=$(ls ~/.chdist 2>/dev/null)
COMPREPLY=()
case "$prev" in
-@(-arch|a))
COMPREPLY=( $( compgen -W "$archs" -- $cur ) )
return 0
;;
-@(-data-dir|d))
_filedir
return 0
;;
-@(-help|h)|list)
return 0
;;
create|apt|apt-get|apt-cache|apt-rdepends|aptitude|src2bin|bin2src|compare-packages|compare-bin-packages|compare-versions|compare-bin-versions|grep-dctrl-packages|grep-dctrl-sources)
COMPREPLY=( $( compgen -W "$dists" -- $cur ) )
return 0
esac
if [[ "$cur" == -* ]]; then
# return one of the possible options
COMPREPLY=( $( compgen -W "$options" -- $cur ) )
else
# return one of the possible commands,
# or one of the possible chdists
COMPREPLY=( $( compgen -W "$commands $dists" -- $cur ) )
fi
return 0
}
complete -F _chdist chdist
# Local variables:
# coding: utf-8
# mode: shell-script
# indent-tabs-mode: nil
# End:
# vim: fileencoding=utf-8 filetype=sh expandtab shiftwidth=4 :
|