summaryrefslogtreecommitdiff
path: root/contrib/mailman
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/mailman')
-rw-r--r--contrib/mailman796
1 files changed, 432 insertions, 364 deletions
diff --git a/contrib/mailman b/contrib/mailman
index 45b7db36..8cfec3e8 100644
--- a/contrib/mailman
+++ b/contrib/mailman
@@ -1,533 +1,601 @@
-# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
-# ex: ts=8 sw=8 noet filetype=sh
-#
# Mailman completion by Guillaume Rousse <rousse@ccr.jussieu.fr>
+have list_lists && {
_mailman_lists()
{
- COMPREPLY=( $( list_lists -b | grep "^$cur") )
+ COMPREPLY=( $( compgen -W '$( list_lists -b )' -- "$cur" ) )
}
-_add_members()
+_list_lists()
{
- local cur prev
-
- COMPREPLY=()
- cur=`_get_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
+ 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
- local cur prev
+ COMPREPLY=()
+ cur=`_get_cword`
+ prev=${COMP_WORDS[COMP_CWORD-1]}
- COMPREPLY=()
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
+ _split_longopt && split=true
- case "$prev" in
- -@(f|-file=))
- _filedir
- return 0
- ;;
- esac
+ 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
+ $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
- local cur prev
+ COMPREPLY=()
+ cur=`_get_cword`
+ prev=${COMP_WORDS[COMP_CWORD-1]}
- 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
+ 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
+ $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
- local cur prev
+ COMPREPLY=()
+ cur=`_get_cword`
+ prev=${COMP_WORDS[COMP_CWORD-1]}
- COMPREPLY=()
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
+ _split_longopt && split=true
- case "$prev" in
- -@(l|-listname=))
- _mailman_lists
- return 0
- ;;
- esac
+ 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
+ $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
-
- COMPREPLY=()
- cur=`_get_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
-
-}
+ 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
-_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 unshunt &&
_unshunt()
{
- local cur
+ local cur
- COMPREPLY=()
- cur=`_get_cword`
+ COMPREPLY=()
+ cur=`_get_cword`
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-h --help' -- $cur ) )
- else
- _filedir -d
- fi
+ if [[ "$cur" == -* ]]; then
+ COMPREPLY=( $( compgen -W '-h --help' -- "$cur" ) )
+ else
+ _filedir -d
+ fi
-}
+} &&
complete -F _unshunt unshunt
+have list_admins &&
_list_admins()
{
- local cur
+ local cur
- COMPREPLY=()
- cur=`_get_cword`
+ COMPREPLY=()
+ cur=`_get_cword`
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '--all-vhost= -v \
- --all -a -h --help' -- $cur ) )
- else
- _mailman_lists
- fi
+ 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
+ local cur
- COMPREPLY=()
- cur=`_get_cword`
+ COMPREPLY=()
+ cur=`_get_cword`
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-w --with-listnames \
- -m --moderators -h --help' -- $cur ) )
- else
- _mailman_lists
- fi
+ 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
-
- COMPREPLY=()
- cur=`_get_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
-
-}
+ 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
+ local cur prev split=false
- COMPREPLY=()
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
+ COMPREPLY=()
+ cur=`_get_cword`
+ prev=${COMP_WORDS[COMP_CWORD-1]}
- case "$prev" in
- -@(l|-listname=))
- _mailman_lists
- return 0
- ;;
- esac
+ _split_longopt && split=true
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-a --all --domain= -d --listname= -l \
- --password= -p --quiet -q -h --help' -- $cur ) )
- fi
+ 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
+ local cur
- COMPREPLY=()
- cur=`_get_cword`
+ 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
+ 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
+ local cur
- COMPREPLY=()
- cur=`_get_cword`
+ COMPREPLY=()
+ cur=`_get_cword`
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-l --language -q --quiet -h --help' -- $cur ) )
- else
- _mailman_lists
- fi
+ 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
+ local cur
- COMPREPLY=()
- cur=`_get_cword`
+ COMPREPLY=()
+ cur=`_get_cword`
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '--archives -a \
- -h --help' -- $cur ) )
- else
- _mailman_lists
- fi
+ 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
+ local cur prev split=false
- COMPREPLY=()
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
+ COMPREPLY=()
+ cur=`_get_cword`
+ prev=${COMP_WORDS[COMP_CWORD-1]}
- case "$prev" in
- -@(i|o|-inputfile|-outputfile))
- _filedir
- return 0
- ;;
- esac
+ _split_longopt && split=true
+ 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
+ $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
-
- COMPREPLY=()
- cur=`_get_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
-
-}
+ 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
+ local cur
- COMPREPLY=()
- cur=`_get_cword`
+ COMPREPLY=()
+ cur=`_get_cword`
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-s --status -n --dry-run \
- -q --quiet -h --help' -- $cur ) )
- fi
+ 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
-
- COMPREPLY=()
- cur=`_get_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
+ 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
+ local cur
- COMPREPLY=()
- cur=`_get_cword`
+ COMPREPLY=()
+ cur=`_get_cword`
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '--marshal -m --pickle -p --noprint -n -h --help' -- $cur ) )
- else
- _filedir
- fi
+ 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
+ local cur
- COMPREPLY=()
- cur=`_get_cword`
+ COMPREPLY=()
+ cur=`_get_cword`
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '--all -a --verbose -v \
- -h --help' -- $cur ) )
- else
- _mailman_lists
- fi
+ 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
+ local cur
- COMPREPLY=()
- cur=`_get_cword`
+ COMPREPLY=()
+ cur=`_get_cword`
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-f -v -h' -- $cur ) )
- fi
+ if [[ "$cur" == -* ]]; then
+ COMPREPLY=( $( compgen -W '-f -v -h' -- "$cur" ) )
+ fi
-}
+} &&
complete -F _check_perms check_perms
+have genaliases &&
_genaliases()
{
- local cur
+ local cur
- COMPREPLY=()
- cur=`_get_cword`
+ COMPREPLY=()
+ cur=`_get_cword`
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-q --quiet -h --help' -- $cur ) )
- fi
+ if [[ "$cur" == -* ]]; then
+ COMPREPLY=( $( compgen -W '-q --quiet -h --help' -- "$cur" ) )
+ fi
-}
+} &&
complete -F _genaliases genaliases
+have mmsitepass &&
_mmsitepass()
{
- local cur
+ local cur
- COMPREPLY=()
- cur=`_get_cword`
+ COMPREPLY=()
+ cur=`_get_cword`
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-c --listcreator -h --help' -- $cur ) )
- fi
+ if [[ "$cur" == -* ]]; then
+ COMPREPLY=( $( compgen -W '-c --listcreator -h --help' -- "$cur" ) )
+ fi
-}
+} &&
complete -F _mmsitepass mmsitepass
+have qrunner &&
_qrunner()
{
- local cur
+ local cur prev
- COMPREPLY=()
- cur=`_get_cword`
+ COMPREPLY=()
+ cur=`_get_cword`
+ prev=${COMP_WORDS[COMP_CWORD-1]}
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-r --runner= --once -o \
- -l --list -v --verbose -s --subproc -h --help' -- $cur ) )
- fi
+ _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
+ local cur
- COMPREPLY=()
- cur=`_get_cword`
+ 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
+ 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
+
+# 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