# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*- # ex: ts=8 sw=8 noet filetype=sh # # Mailman completion by Guillaume Rousse have list_lists && { _mailman_lists() { COMPREPLY=( $( compgen -W '$( list_lists -b )' -- $cur ) ) } _list_lists() { local cur COMPREPLY=() cur=`_get_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 } have add_members && _add_members() { local cur prev split=false COMPREPLY=() cur=`_get_cword` prev=${COMP_WORDS[COMP_CWORD-1]} _split_longopt && split=true 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 $split && return 0 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 have remove_members && _remove_members() { local cur prev split=false COMPREPLY=() cur=`_get_cword` prev=${COMP_WORDS[COMP_CWORD-1]} _split_longopt && split=true case "$prev" in -@(f|-file)) _filedir return 0 ;; esac $split && return 0 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 have find_member && _find_member() { local cur prev split=false COMPREPLY=() cur=`_get_cword` prev=${COMP_WORDS[COMP_CWORD-1]} _split_longopt && split=true case "$prev" in -@(l|x|-listname|-exclude)) _mailman_lists return 0 ;; esac $split && return 0 if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '-l --listname -x \ --exclude --owners -w --help -h' -- $cur ) ) fi } && complete -F _find_member find_member have clone_member && _clone_member() { local cur prev split=false COMPREPLY=() cur=`_get_cword` prev=${COMP_WORDS[COMP_CWORD-1]} _split_longopt && split=true case "$prev" in -@(l|-listname)) _mailman_lists return 0 ;; esac $split && return 0 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 have sync_members && _sync_members() { local cur prev split=false COMPREPLY=() cur=`_get_cword` prev=${COMP_WORDS[COMP_CWORD-1]} _split_longopt && split=true 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 $split && return 0 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 have unshunt && _unshunt() { local cur COMPREPLY=() cur=`_get_cword` if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '-h --help' -- $cur ) ) else _filedir -d fi } && complete -F _unshunt unshunt have list_admins && _list_admins() { local cur COMPREPLY=() cur=`_get_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 have list_owners && _list_owners() { local cur COMPREPLY=() cur=`_get_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 have list_members && _list_members() { local cur prev split=false COMPREPLY=() cur=`_get_cword` prev=${COMP_WORDS[COMP_CWORD-1]} _split_longopt && split=true 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 $split && return 0 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 have change_pw && _change_pw() { local cur prev split=false COMPREPLY=() cur=`_get_cword` prev=${COMP_WORDS[COMP_CWORD-1]} _split_longopt && split=true case "$prev" in -@(l|-listname)) _mailman_lists return 0 ;; esac $split && return 0 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 have withlist && _withlist() { local cur COMPREPLY=() cur=`_get_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 have newlist && _newlist() { local cur COMPREPLY=() cur=`_get_cword` if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '-l --language -q --quiet -h --help' -- $cur ) ) else _mailman_lists fi } && complete -F _newlist newlist have rmlist && _rmlist() { local cur COMPREPLY=() cur=`_get_cword` if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '--archives -a \ -h --help' -- $cur ) ) else _mailman_lists fi } && complete -F _rmlist rmlist have config_list && _config_list() { local cur prev split=false COMPREPLY=() cur=`_get_cword` prev=${COMP_WORDS[COMP_CWORD-1]} _split_longopt && split=true case "$prev" in -@(i|o|-inputfile|-outputfile)) _filedir return 0 ;; esac $split && return 0 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 have arch && _arch() { local cur prev split=false COMPREPLY=() cur=`_get_cword` prev=${COMP_WORDS[COMP_CWORD-1]} _split_longopt && split=true 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 $split && return 0 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 have cleanarch && _cleanarch() { local cur COMPREPLY=() cur=`_get_cword` if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '-s --status -n --dry-run \ -q --quiet -h --help' -- $cur ) ) fi } && complete -F _cleanarch cleanarch have inject && _inject() { local cur prev split=false COMPREPLY=() cur=`_get_cword` prev=${COMP_WORDS[COMP_CWORD-1]} _split_longopt && split=true case "$prev" in -@(l|-listname)) _mailman_lists return 0 ;; esac $split && return 0 if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '-l --listname -q --queue \ -h --help' -- $cur ) ) else _filedir fi } && complete -F _inject $filenames inject have dumpdb && _dumpdb() { local cur COMPREPLY=() cur=`_get_cword` if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '--marshal -m --pickle -p --noprint -n -h --help' -- $cur ) ) else _filedir fi } && complete -F _dumpdb $filenames dumpdb have check_db && _check_db() { local cur COMPREPLY=() cur=`_get_cword` if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '--all -a --verbose -v \ -h --help' -- $cur ) ) else _mailman_lists fi } && complete -F _check_db check_db have check_perms && _check_perms() { local cur COMPREPLY=() cur=`_get_cword` if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '-f -v -h' -- $cur ) ) fi } && complete -F _check_perms check_perms have genaliases && _genaliases() { local cur COMPREPLY=() cur=`_get_cword` if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '-q --quiet -h --help' -- $cur ) ) fi } && complete -F _genaliases genaliases have mmsitepass && _mmsitepass() { local cur COMPREPLY=() cur=`_get_cword` if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '-c --listcreator -h --help' -- $cur ) ) fi } && complete -F _mmsitepass mmsitepass have qrunner && _qrunner() { local cur prev COMPREPLY=() cur=`_get_cword` prev=${COMP_WORDS[COMP_CWORD-1]} _split_longopt && return 0 if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '-r --runner --once -o \ -l --list -v --verbose -s --subproc -h --help' -- $cur ) ) fi } && complete -F _qrunner qrunner have mailmanctl && _mailmanctl() { local cur COMPREPLY=() cur=`_get_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