diff options
Diffstat (limited to 'debian/bash_completion/contrib/mailman')
-rw-r--r-- | debian/bash_completion/contrib/mailman | 532 |
1 files changed, 532 insertions, 0 deletions
diff --git a/debian/bash_completion/contrib/mailman b/debian/bash_completion/contrib/mailman new file mode 100644 index 0000000..0d92a01 --- /dev/null +++ b/debian/bash_completion/contrib/mailman @@ -0,0 +1,532 @@ +# Mailman completion by Guillaume Rousse <rousse@ccr.jussieu.fr> +# +# $Id: mailman,v 1.1 2004/03/30 23:05:34 ianmacd Exp $ +# +_mailman_lists() +{ + COMPREPLY=( $( list_lists -b | grep "^$cur") ) +} + +_add_members() +{ + local cur prev + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -@(r|d|-regular-members-file=|-digest-members-file=)) + _filedir + return 0 + ;; + -@(w|a|-welcome-msg=|-admin-notify=)) + COMPREPLY=( $( compgen -W 'y n' -- $cur) ) + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--regular-members-file= -r \ + --digest-members-file= -d --welcome-msg= -w \ + --admin-notify= -a --help -h' -- $cur ) ) + else + _mailman_lists + fi + +} +complete -F _add_members add_members + +_remove_members() +{ + + local cur prev + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -@(f|-file=)) + _filedir + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--file= -f --all -a \ + --fromall --nouserack -n --noadminack -N \ + --help -h' -- $cur ) ) + else + _mailman_lists + fi + +} +complete -F _remove_members remove_members + +_find_member() +{ + + local cur prev + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -@(l|x|-listname=|-exclude=)) + _mailman_lists + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-l --listname= -x \ + --exclude= --owners -w --help -h' -- $cur ) ) + fi + +} +complete -F _find_member find_member + +_clone_member() +{ + + local cur prev + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -@(l|-listname=)) + _mailman_lists + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-l --listname= --remove -r \ + --admin -a --quiet -q --nomodify -n --help -h' -- $cur ) ) + fi + +} +complete -F _clone_member clone_member + +_sync_members() +{ + local cur prev + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -@(w|g|d|--welcome-msg=|-goodbye-msg|-digest=)) + COMPREPLY=( $( compgen -W 'y n' -- $cur) ) + return 0 + ;; + -@(d|-file)) + _filedir + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--no-change -n --welcome-msg= -w \ + --goodbye-msg= -g --digest= -d --notifyadmin= -a \ + -f --file -h --help' -- $cur ) ) + else + _mailman_lists + fi + +} +complete -F _sync_members sync_members + +_list_lists() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-a --advertised \ + --virtual-host-overview= -V -b --bare \ + -h --help' -- $cur ) ) + fi + +} +complete -F _list_lists list_lists + +_unshunt() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-h --help' -- $cur ) ) + else + _filedir -d + fi + +} +complete -F _unshunt unshunt + +_list_admins() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--all-vhost= -v \ + --all -a -h --help' -- $cur ) ) + else + _mailman_lists + fi + +} +complete -F _list_admins list_admins + +_list_owners() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-w --with-listnames \ + -m --moderators -h --help' -- $cur ) ) + else + _mailman_lists + fi + +} +complete -F _list_owners list_owners + +_list_members() +{ + local cur prev + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -@(o|-output)) + _filedir + return 0 + ;; + -@(d|-digest=)) + COMPREPLY=( $( compgen -W 'mime plain' -- $cur) ) + return 0 + ;; + -@(n|-nomail=)) + COMPREPLY=( $( compgen -W 'byadmin byuser bybounce unknown' -- $cur) ) + return 0 + ;; + esac + + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--output -o --regular -r \ + --digest= -d --nomail= -n --fullnames -f \ + --preserve -p -h --help' -- $cur ) ) + else + _mailman_lists + fi + +} +complete -F _list_members list_members + +_change_pw() +{ + local cur prev + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -@(l|-listname=)) + _mailman_lists + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-a --all --domain= -d --listname= -l \ + --password= -p --quiet -q -h --help' -- $cur ) ) + fi + +} +complete -F _change_pw change_pw + +_withlist() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-l --lock -i --interactive \ + -r --run -a --all -q --quiet -h --help' -- $cur ) ) + else + _mailman_lists + fi + +} +complete -F _withlist withlist + +_newlist() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-l --language -q --quiet -h --help' -- $cur ) ) + else + _mailman_lists + fi + +} +complete -F _newlist newlist + +_rmlist() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--archives -a \ + -h --help' -- $cur ) ) + else + _mailman_lists + fi + +} +complete -F _rmlist rmlist + +_config_list() +{ + local cur prev + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -@(i|o|-inputfile|-outputfile)) + _filedir + return 0 + ;; + esac + + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--inputfile -i --outputfile -o \ + --checkonly -c --verbose -v -h --help' -- $cur ) ) + else + _mailman_lists + fi + +} +complete -F _config_list $filenames config_list + +_arch() +{ + local cur prev + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -@(w|g|d|--welcome-msg=|-goodbye-msg|-digest=)) + COMPREPLY=( $( compgen -W 'y n' -- $cur) ) + return 0 + ;; + -@(d|-file)) + _filedir + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--wipe -s --start= -e --end= \ + -q --quiet -h --help' -- $cur ) ) + else + args=$COMP_CWORD + for (( i=1; i < COMP_CWORD; i++ )); do + if [[ "${COMP_WORDS[i]}" == -* ]]; then + args=$(($args-1)) + fi + done + case $args in + 1) + _mailman_lists + ;; + 2) + _filedir + ;; + esac + fi + +} +complete -F _arch $filenames arch + +_cleanarch() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-s --status -n --dry-run \ + -q --quiet -h --help' -- $cur ) ) + fi + +} +complete -F _cleanarch cleanarch + +_inject() +{ + local cur prev + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -@(l|-listname=)) + _mailman_lists + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-l --listname= -q --queue= \ + -h --help' -- $cur ) ) + else + _filedir + fi + +} +complete -F _inject $filenames inject + +_dumpdb() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--marshal -m --pickle -p --noprint -n -h --help' -- $cur ) ) + else + _filedir + fi + +} +complete -F _dumpdb $filenames dumpdb + +_check_db() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--all -a --verbose -v \ + -h --help' -- $cur ) ) + else + _mailman_lists + fi + +} +complete -F _check_db check_db + +_check_perms() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-f -v -h' -- $cur ) ) + fi + +} +complete -F _check_perms check_perms + +_genaliases() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-q --quiet -h --help' -- $cur ) ) + fi + +} +complete -F _genaliases genaliases + +_mmsitepass() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-c --listcreator -h --help' -- $cur ) ) + fi + +} +complete -F _mmsitepass mmsitepass + +_qrunner() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-r --runner= --once -o \ + -l --list -v --verbose -s --subproc -h --help' -- $cur ) ) + fi + +} +complete -F _qrunner qrunner + +_mailmanctl() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-n --no-restart -u --run-as-user \ + -s --stale-lock-cleanup --quiet -q -h --help' -- $cur ) ) + else + COMPREPLY=( $( compgen -W 'start stop restart reopen' -- $cur ) ) + fi + +} +complete -F _mailmanctl mailmanctl |