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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
|
# bash completion for add-apt-repository -*- shell-script -*-
_add-apt-repository_components()
{
if test -r /etc/lsb-release && grep -q Ubuntu /etc/lsb-release; then
COMPREPLY=( $(compgen -W 'main restricted universe multiverse main/debug' -- "$cur") )
elif test -r /etc/debian_version; then
COMPREPLY=( $(compgen -W 'main contrib free non-free' -- "$cur") )
fi
}
_add-apt-repository_ppa()
{
: # nothing to do currently
}
_add-apt-repository_uca()
{
: # add param to list valid UCAs for current release
}
_add-apt-repository_uri()
{
COMPREPLY=( $(compgen -W 'http:// https:// mirror:// ftp:// file:/ copy:/ rsh:// ssh://' -- "$cur") )
}
_add-apt-repository_sourceslist()
{
: # maybe add help to autofill full sources.list line
}
_add-apt-repository_help()
{
"$1" --help | grep '^\s*-' | tr ',' '\n' | _parse_help -
}
_add-apt-repository()
{
local cur prev words cword
_init_completion || return
if [[ $cur == -* ]]; then
COMPREPLY=( $(compgen -W "$(_add-apt-repository_help $1)" -- "$cur") )
return
fi
case $prev in
-p|--pocket)
COMPREPLY=( $(compgen -W 'release security updates proposed backports' -- "$cur") )
return
;;
-c|--component)
_add-apt-repository_components
return
;;
-P|--ppa)
_add-apt-repository_ppa
return
;;
-C|--cloud)
_add-apt-repository_uca
return
;;
-U|--uri)
_add-apt-repository_uri
return
;;
-S|--sourceslist)
_add-apt-repository_sourceslist
return
;;
esac
# check if last param was -S/--sourceslist,
# as it can accept multiple words
local i=$cword
while [[ $i -ge 0 ]]; do
case $words[$i] in
-S|--sourceslist)
_add-apt-repository_sourceslist
return
;;
esac
i=$(( $i - 1 ))
done
}
complete -F _add-apt-repository add-apt-repository
# also complete the alias
complete -F _add-apt-repository apt-add-repository
# ex: filetype=sh
|