/etc/bash_completion.d/debmany is in debian-goodies 0.63.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 | # debmany(1) completion
#
# Copy this file to ~/.bash_completion.
# To activate bash completion for new logins configure ~/.bashrc
# or simply source /etc/bash_completion to test it.
# After a new login completion is done for
# all parameters,
# packages or filenames and folders.
#
have debmany &&
_debmany()
{
local cur prev setf
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}
case "$prev" in
-L) if echo "$cur" | grep -q ^"[0-9][0-9]*[KMGT]*"; then
COMPREPLY=( $( compgen -W '`echo ${cur/[KMGT]/}{K,M,G,T}`' -- "$cur" ) )
else
COMPREPLY=("100K" "50M" "5G" "1T")
fi
;;
-l) # show all possible languages from /usr/share/i18n/SUPPORTED
setf=`echo $-` # remember switch f (shell filename completion)
set -f
COMPREPLY=( $( compgen -W '`sed -e "s/[@_. ].*//g" -e "s/$/*/" /usr/share/i18n/SUPPORTED|sort -u`' -- "$cur" ) )
echo "$setf"|grep -q f || set +f # switch back if needed
;;
-m) case "${cur:0:1}" in
\"|\') local manpageviewer="${cur:1}";;
*) local manpageviewer="$cur";;
esac
COMP_WORDS=(COMP_WORDS[0] "$manpageviewer")
COMP_CWORD=1
_command
;;
-o) case "${cur:0:1}" in
\"|\') local otherviewer="${cur:1}";;
*) local otherviewer="$cur";;
esac
COMP_WORDS=(COMP_WORDS[0] "$otherviewer")
COMP_CWORD=1
_command
;;
*) if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '-? -h --help -k -g -x -m -o -L -l -v -vv -z' -- "$cur" ) )
else
COMPREPLY=( $( apt-cache pkgnames "$cur" 2> /dev/null; ) )
if [ ${#COMPREPLY[@]} -eq 0 ]
then
_filedir
fi
fi
;;
esac
return 0
} &&
complete -F _debmany $filenames debmany
|