885e6dd6b6
Definitions are still present though, tentatively scheduled for removal as of 2.0.
597 lines
11 KiB
Bash
597 lines
11 KiB
Bash
# Mailman completion by Guillaume Rousse <rousse@ccr.jussieu.fr>
|
|
|
|
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 '--advertised --virtual-host-overview \
|
|
--bare --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 \
|
|
--digest-members-file --welcome-msg \
|
|
--admin-notify --help' -- "$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 --all --fromall --nouserack \
|
|
--noadminack --help' -- "$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 '--listname --exclude --owners \
|
|
--help' -- "$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 '--listname --remove --admin \
|
|
--quiet --nomodify --help' -- "$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 --welcome-msg \
|
|
--goodbye-msg --digest --notifyadmin --file --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 '--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 --all --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 '--with-listnames --moderators \
|
|
--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 --regular --digest \
|
|
--nomail --fullnames --preserve --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 '--all --domain --listname \
|
|
--password --quiet --help' -- "$cur" ) )
|
|
fi
|
|
|
|
} &&
|
|
complete -F _change_pw change_pw
|
|
|
|
have withlist &&
|
|
_withlist()
|
|
{
|
|
local cur
|
|
|
|
COMPREPLY=()
|
|
cur=`_get_cword`
|
|
|
|
if [[ "$cur" == -* ]]; then
|
|
COMPREPLY=( $( compgen -W '--lock --interactive \
|
|
--run --all --quiet --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 '--language --quiet --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 --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 --outputfile \
|
|
--checkonly --verbose --help' -- "$cur" ) )
|
|
else
|
|
_mailman_lists
|
|
fi
|
|
|
|
} &&
|
|
complete -F _config_list -o 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 --start --end --quiet \
|
|
--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 -o filenames arch
|
|
|
|
have cleanarch &&
|
|
_cleanarch()
|
|
{
|
|
local cur
|
|
|
|
COMPREPLY=()
|
|
cur=`_get_cword`
|
|
|
|
if [[ "$cur" == -* ]]; then
|
|
COMPREPLY=( $( compgen -W '--status --dry-run --quiet \
|
|
--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 '--listname --queue --help' -- "$cur" ) )
|
|
else
|
|
_filedir
|
|
fi
|
|
|
|
} &&
|
|
complete -F _inject -o filenames inject
|
|
|
|
have dumpdb &&
|
|
_dumpdb()
|
|
{
|
|
local cur
|
|
|
|
COMPREPLY=()
|
|
cur=`_get_cword`
|
|
|
|
if [[ "$cur" == -* ]]; then
|
|
COMPREPLY=( $( compgen -W '--marshal --pickle --noprint \
|
|
--help' -- "$cur" ) )
|
|
else
|
|
_filedir
|
|
fi
|
|
|
|
} &&
|
|
complete -F _dumpdb -o filenames dumpdb
|
|
|
|
have check_db &&
|
|
_check_db()
|
|
{
|
|
local cur
|
|
|
|
COMPREPLY=()
|
|
cur=`_get_cword`
|
|
|
|
if [[ "$cur" == -* ]]; then
|
|
COMPREPLY=( $( compgen -W '--all --verbose --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 '--quiet --help' -- "$cur" ) )
|
|
fi
|
|
|
|
} &&
|
|
complete -F _genaliases genaliases
|
|
|
|
have mmsitepass &&
|
|
_mmsitepass()
|
|
{
|
|
local cur
|
|
|
|
COMPREPLY=()
|
|
cur=`_get_cword`
|
|
|
|
if [[ "$cur" == -* ]]; then
|
|
COMPREPLY=( $( compgen -W '--listcreator --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 '--runner --once \
|
|
--list --verbose --subproc --help' -- "$cur" ) )
|
|
fi
|
|
|
|
} &&
|
|
complete -F _qrunner qrunner
|
|
|
|
have mailmanctl &&
|
|
_mailmanctl()
|
|
{
|
|
local cur
|
|
|
|
COMPREPLY=()
|
|
cur=`_get_cword`
|
|
|
|
if [[ "$cur" == -* ]]; then
|
|
COMPREPLY=( $( compgen -W '--no-restart --run-as-user \
|
|
--stale-lock-cleanup --quiet --help' -- "$cur" ) )
|
|
else
|
|
COMPREPLY=( $( compgen -W 'start stop restart reopen' -- "$cur" ) )
|
|
fi
|
|
|
|
} &&
|
|
complete -F _mailmanctl mailmanctl
|
|
|
|
# Local variables:
|
|
# mode: shell-script
|
|
# sh-basic-offset: 4
|
|
# sh-indent-comment: t
|
|
# indent-tabs-mode: nil
|
|
# End:
|
|
# ex: ts=4 sw=4 et filetype=sh
|