mailman: Split completions to separate files from add_members.

This commit is contained in:
Ville Skyttä 2011-10-22 12:49:31 +03:00
parent e850ee015e
commit fa5dbb6c8e
19 changed files with 485 additions and 371 deletions

View File

@ -4,7 +4,6 @@ alpine
alternatives
animate
apropos
arch
asciidoc.py
autoheader
automake-1.11
@ -15,18 +14,14 @@ btdownloadgui.py
c++
cc
cdrecord
change_pw
check_db
ci
ciptool
civclient
civserver
clone_member
co
compare
compgen
composite
config_list
conjure
cowthink
createdb
@ -39,7 +34,6 @@ dpkg-reconfigure
dropdb
edquota
filebucket
find_member
freeciv-sdl
freeciv-xaw
g++
@ -60,7 +54,6 @@ identify
ifdown
ifstatus
import
inject
javac
javadoc
kplayer
@ -74,9 +67,6 @@ ldapmodrdn
ldappasswd
ldapwhoami
lintian-info
list_admins
list_members
list_owners
lvchange
lvcreate
lvdisplay
@ -100,7 +90,6 @@ mplayer2
msgsnarf
muttng
ncal
newlist
pbzip2
pccardctl
perldoc
@ -138,11 +127,9 @@ quotaon
ralsh
rcsdiff
rdict
remove_members
repquota
rfcomm
rlog
rmlist
rpm2targz
rpm2txz
rpmbuild
@ -161,7 +148,6 @@ smbtar
smbtree
spovray
stream
sync_members
tightvncviewer
tracepath6
typeset
@ -185,7 +171,6 @@ vgscan
vgsplit
vigr
whatis
withlist
xpovray
xvnc4viewer
ypcat

View File

@ -9,6 +9,7 @@ bashcomp_DATA = abook \
apt-cache \
apt-get \
aptitude \
arch \
arping \
arpspoof \
asciidoc \
@ -29,6 +30,8 @@ bashcomp_DATA = abook \
cfagent \
cfrun \
chage \
change_pw \
check_db \
check_perms \
chgrp \
chkconfig \
@ -39,7 +42,9 @@ bashcomp_DATA = abook \
cksfv \
cleanarch \
clisp \
clone_member \
complete \
config_list \
configure \
convert \
cowsay \
@ -76,6 +81,7 @@ bashcomp_DATA = abook \
filefrag \
filesnarf \
find \
find_member \
freeciv-gtk2 \
freeciv-server \
function \
@ -111,6 +117,7 @@ bashcomp_DATA = abook \
iftop \
ifup \
info \
inject \
insmod \
installpkg \
invoke-rc.d \
@ -148,7 +155,10 @@ bashcomp_DATA = abook \
links \
lintian \
lisp \
list_admins \
list_lists \
list_members \
list_owners \
look \
lpq \
lpr \
@ -187,6 +197,7 @@ bashcomp_DATA = abook \
mysqladmin \
ncftp \
newgrp \
newlist \
newusers \
nmap \
nslookup \
@ -228,6 +239,7 @@ bashcomp_DATA = abook \
quota \
rcs \
rdesktop \
remove_members \
removepkg \
renice \
reptyr \
@ -235,6 +247,7 @@ bashcomp_DATA = abook \
resolvconf \
rfkill \
ri \
rmlist \
rmmod \
route \
rpcdebug \
@ -264,6 +277,7 @@ bashcomp_DATA = abook \
sshow \
strace \
svk \
sync_members \
sysbench \
sysctl \
tar \
@ -288,6 +302,7 @@ bashcomp_DATA = abook \
vpnc \
watch \
webmitm \
withlist \
wodim \
wol \
wtf \
@ -318,7 +333,6 @@ CLEANFILES = \
alternatives \
animate \
apropos \
arch \
asciidoc.py \
autoheader \
automake-1.11 \
@ -329,18 +343,14 @@ CLEANFILES = \
c++ \
cc \
cdrecord \
change_pw \
check_db \
ci \
ciptool \
civclient \
civserver \
clone_member \
co \
compare \
compgen \
composite \
config_list \
conjure \
cowthink \
createdb \
@ -353,7 +363,6 @@ CLEANFILES = \
dropdb \
edquota \
filebucket \
find_member \
freeciv-sdl \
freeciv-xaw \
g++ \
@ -374,7 +383,6 @@ CLEANFILES = \
ifdown \
ifstatus \
import \
inject \
javac \
javadoc \
kplayer \
@ -388,9 +396,6 @@ CLEANFILES = \
ldappasswd \
ldapwhoami \
lintian-info \
list_admins \
list_members \
list_owners \
lvchange \
lvcreate \
lvdisplay \
@ -414,7 +419,6 @@ CLEANFILES = \
msgsnarf \
muttng \
ncal \
newlist \
pbzip2 \
pccardctl \
perldoc \
@ -452,11 +456,9 @@ CLEANFILES = \
ralsh \
rcsdiff \
rdict \
remove_members \
repquota \
rfcomm \
rlog \
rmlist \
rpm2targz \
rpm2txz \
rpmbuild \
@ -475,7 +477,6 @@ CLEANFILES = \
smbtree \
spovray \
stream \
sync_members \
tightvncviewer \
tracepath6 \
typeset \
@ -499,7 +500,6 @@ CLEANFILES = \
vgsplit \
vigr \
whatis \
withlist \
xpovray \
xvnc4viewer \
ypcat
@ -509,12 +509,6 @@ symlinks:
rm -f $(targetdir)/$$file && \
$(LN_S) aclocal $(targetdir)/$$file ; \
done
for file in remove_members find_member clone_member sync_members \
list_admins list_owners list_members change_pw withlist \
newlist rmlist config_list arch inject check_db ; do \
rm -f $(targetdir)/$$file && \
$(LN_S) add_members $(targetdir)/$$file ; \
done
for file in phing ; do \
rm -f $(targetdir)/$$file && \
$(LN_S) ant $(targetdir)/$$file ; \

View File

@ -1,9 +1,4 @@
# mailman completion
_mailman_lists()
{
COMPREPLY=( $( compgen -W '$( list_lists -b 2>/dev/null )' -- "$cur" ) )
}
# mailman add_members completion
_add_members()
{
@ -28,340 +23,12 @@ _add_members()
--digest-members-file --welcome-msg \
--admin-notify --help' -- "$cur" ) )
else
_mailman_lists
_xfunc list_lists _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

53
completions/arch Normal file
View File

@ -0,0 +1,53 @@
# mailman arch completion
# Try to detect whether this is the mailman "arch" to avoid installing
# it for the coreutils/util-linux-ng one.
_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)
_xfunc list_lists _mailman_lists
;;
2)
_filedir
;;
esac
fi
} &&
complete -F _arch arch
# 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

31
completions/change_pw Normal file
View File

@ -0,0 +1,31 @@
# mailman change_pw completion
_change_pw()
{
local cur prev words cword split
_init_completion -s || return
case $prev in
-l|--listname)
_xfunc list_lists _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
# 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

23
completions/check_db Normal file
View File

@ -0,0 +1,23 @@
# mailman check_db completion
_check_db()
{
local cur prev words cword
_init_completion || return
if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '--all --verbose --help' -- "$cur" ) )
else
_xfunc list_lists _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

31
completions/clone_member Normal file
View File

@ -0,0 +1,31 @@
# mailman clone_member completion
_clone_member()
{
local cur prev words cword split
_init_completion -s || return
case $prev in
-l|--listname)
_xfunc list_lists _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
# 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

33
completions/config_list Normal file
View File

@ -0,0 +1,33 @@
# mailman config_list completion
_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
_xfunc list_lists _mailman_lists
fi
} &&
complete -F _config_list config_list
# 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

31
completions/find_member Normal file
View File

@ -0,0 +1,31 @@
# mailman find_member completion
_find_member()
{
local cur prev words cword split
_init_completion -s || return
case $prev in
-l|-x|--listname|--exclude)
_xfunc list_lists _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
# 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

32
completions/inject Normal file
View File

@ -0,0 +1,32 @@
# mailman inject completion
_inject()
{
local cur prev words cword split
_init_completion -s || return
case $prev in
-l|--listname)
_xfunc list_lists _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
# 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

23
completions/list_admins Normal file
View File

@ -0,0 +1,23 @@
# mailman list_admins completion
_list_admins()
{
local cur prev words cword
_init_completion || return
if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '--all-vhost --all --help' -- "$cur" ) )
else
_xfunc list_lists _mailman_lists
fi
} &&
complete -F _list_admins list_admins
# 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

View File

@ -1,5 +1,10 @@
# mailman list_lists completion
_mailman_lists()
{
COMPREPLY=( $( compgen -W '$( list_lists -b 2>/dev/null )' -- "$cur" ) )
}
_list_lists()
{
local cur prev words cword

42
completions/list_members Normal file
View File

@ -0,0 +1,42 @@
# mailman list_members completion
_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
_xfunc list_lists _mailman_lists
fi
} &&
complete -F _list_members list_members
# 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

24
completions/list_owners Normal file
View File

@ -0,0 +1,24 @@
# mailman list_owners completion
_list_owners()
{
local cur prev words cword
_init_completion || return
if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '--with-listnames --moderators \
--help' -- "$cur" ) )
else
_xfunc list_lists _mailman_lists
fi
} &&
complete -F _list_owners list_owners
# 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

23
completions/newlist Normal file
View File

@ -0,0 +1,23 @@
# mailman newlist completion
_newlist()
{
local cur prev words cword
_init_completion || return
if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '--language --quiet --help' -- "$cur" ) )
else
_xfunc list_lists _mailman_lists
fi
} &&
complete -F _newlist newlist
# 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

View File

@ -0,0 +1,33 @@
# mailman remove_members completion
_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
_xfunc list_lists _mailman_lists
fi
} &&
complete -F _remove_members remove_members
# 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

23
completions/rmlist Normal file
View File

@ -0,0 +1,23 @@
# mailman rmlist completion
_rmlist()
{
local cur prev words cword
_init_completion || return
if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '--archives --help' -- "$cur" ) )
else
_xfunc list_lists _mailman_lists
fi
} &&
complete -F _rmlist rmlist
# 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

37
completions/sync_members Normal file
View File

@ -0,0 +1,37 @@
# mailman sync_members completion
_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
_xfunc list_lists _mailman_lists
fi
} &&
complete -F _sync_members sync_members
# 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

24
completions/withlist Normal file
View File

@ -0,0 +1,24 @@
# mailman withlist completion
_withlist()
{
local cur prev words cword
_init_completion || return
if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '--lock --interactive \
--run --all --quiet --help' -- "$cur" ) )
else
_xfunc list_lists _mailman_lists
fi
} &&
complete -F _withlist withlist
# 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