diff options
author | Ville Skyttä <ville.skytta@iki.fi> | 2011-10-15 10:18:43 +0300 |
---|---|---|
committer | Ville Skyttä <ville.skytta@iki.fi> | 2011-10-15 10:18:43 +0300 |
commit | efad9540e531bd3f662a99241545a4fedcd86d18 (patch) | |
tree | f4eb4e2aff28f62344ceecc7844225c8eb73da8e /completions/add_members | |
parent | 449c71fa747390535c76c6a71e4b9ee81aab347e (diff) | |
download | bash-completion-efad9540e531bd3f662a99241545a4fedcd86d18.tar.gz |
Do rest of splits, add symlinking for files defining multiple completions.
Diffstat (limited to 'completions/add_members')
-rw-r--r-- | completions/add_members | 371 |
1 files changed, 371 insertions, 0 deletions
diff --git a/completions/add_members b/completions/add_members new file mode 100644 index 00000000..1f8aa951 --- /dev/null +++ b/completions/add_members @@ -0,0 +1,371 @@ +# mailman completion + +_mailman_lists() +{ + COMPREPLY=( $( compgen -W '$( list_lists -b )' -- "$cur" ) ) +} + +_add_members() +{ + local cur prev words cword split + _init_completion -s || return + + 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 + +_remove_members() +{ + local cur prev words cword split + _init_completion -s || return + + 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 + +_find_member() +{ + local cur prev words cword split + _init_completion -s || return + + 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 + +_clone_member() +{ + local cur prev words cword split + _init_completion -s || return + + 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 + +_sync_members() +{ + local cur prev words cword split + _init_completion -s || return + + 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 + +_list_admins() +{ + local cur prev words cword + _init_completion || return + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--all-vhost --all --help' -- "$cur" ) ) + else + _mailman_lists + fi + +} && +complete -F _list_admins list_admins + +_list_owners() +{ + local cur prev words cword + _init_completion || return + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--with-listnames --moderators \ + --help' -- "$cur" ) ) + else + _mailman_lists + fi + +} && +complete -F _list_owners list_owners + +_list_members() +{ + local cur prev words cword split + _init_completion -s || return + + 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 + +_change_pw() +{ + local cur prev words cword split + _init_completion -s || return + + 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 + +_withlist() +{ + local cur prev words cword + _init_completion || return + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--lock --interactive \ + --run --all --quiet --help' -- "$cur" ) ) + else + _mailman_lists + fi + +} && +complete -F _withlist withlist + +_newlist() +{ + local cur prev words cword + _init_completion || return + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--language --quiet --help' -- "$cur" ) ) + else + _mailman_lists + fi + +} && +complete -F _newlist newlist + +_rmlist() +{ + local cur prev words cword + _init_completion || return + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--archives --help' -- "$cur" ) ) + else + _mailman_lists + fi + +} && +complete -F _rmlist rmlist + +_config_list() +{ + local cur prev words cword split + _init_completion -s || return + + 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 config_list + +# Try to detect whether this is the mailman "arch" to avoid installing +# it for the coreutils/util-linux-ng one. +_have arch && _have mailmanctl && +_arch() +{ + local cur prev words cword split + _init_completion -s || return + + 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 + local args=$cword + for (( i=1; i < cword; i++ )); do + if [[ "${words[i]}" == -* ]]; then + args=$(($args-1)) + fi + done + case $args in + 1) + _mailman_lists + ;; + 2) + _filedir + ;; + esac + fi + +} && +complete -F _arch arch + +_inject() +{ + local cur prev words cword split + _init_completion -s || return + + 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 inject + +_check_db() +{ + local cur prev words cword + _init_completion || return + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--all --verbose --help' -- "$cur" ) ) + else + _mailman_lists + fi + +} && +complete -F _check_db check_db + +# 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 |