[Bash-completion-commits] [SCM] bash-completion branch, master, updated. 1bfaacd1a0a79b26b682ed8676341ee88f4ee92d
Guillaume Rousse
guillomovitch at zarb.org
Wed May 20 23:42:45 UTC 2009
The following commit has been merged in the master branch:
commit 1bfaacd1a0a79b26b682ed8676341ee88f4ee92d
Author: Guillaume Rousse <guillomovitch at zarb.org>
Date: Thu May 21 01:42:22 2009 +0200
split postfix completion
diff --git a/Makefile.am b/Makefile.am
index 84bbaa1..5eaa6f8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -62,6 +62,7 @@ bashcomp_DATA = contrib/ant \
contrib/p4 \
contrib/pkg-config \
contrib/postgresql \
+ contrib/postfix \
contrib/povray \
contrib/qdbus \
contrib/qemu \
diff --git a/bash_completion b/bash_completion
index 3420a70..70fb72d 100644
--- a/bash_completion
+++ b/bash_completion
@@ -1422,204 +1422,6 @@ _ipsec()
} &&
complete -F _ipsec ipsec
-# Postfix completion.
-#
-have postfix && {
-# postfix(1)
-#
-_postfix()
-{
- local cur prev
-
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
-
- if [[ $cur == '-' ]]; then
- COMPREPLY=(-c -D -v)
- return 0
- fi
- if [[ $prev == '-c' ]]; then
- _filedir -d
- return 0
- fi
- if [[ $prev == '-D' ]]; then
- COMPREPLY=( $( compgen -W 'start' -- "`_get_cword`" ) )
- return 0
- fi
- COMPREPLY=( $( compgen -W 'start stop reload abort flush check' -- \
- "`_get_cword`" ) )
-}
-complete -F _postfix postfix
-
-# postalias(1) and postmap(1)
-#
-_postmap()
-{
- local cur prev len idx
-
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
-
- if [[ $cur == '-' ]]; then
- COMPREPLY=(-N -f -i -n -o -p -r -v -w -c -d -q)
- return 0
- fi
- if [[ $prev == '-c' ]]; then
- _filedir -d
- return 0
- fi
- if [[ $prev == -[dq] ]]; then
- return 0
- fi
-
- if [[ "$cur" == *:* ]]; then
- COMPREPLY=( $( compgen -f -- ${cur#*:} ) )
- else
- len=${#cur}
- idx=0
- for pval in $( /usr/sbin/postconf -m ); do
- if [[ "$cur" == "${pval:0:$len}" ]]; then
- COMPREPLY[$idx]="$pval:"
- idx=$(($idx+1))
- fi
- done
- if [[ $idx -eq 0 ]]; then
- COMPREPLY=( $( compgen -f -- "$cur" ) )
- fi
- fi
- return 0
-}
-complete -F _postmap postmap postalias
-
-# postcat(1)
-#
-_postcat()
-{
- local cur prev pval len idx qfile
-
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
-
- if [[ $cur == '-' ]]; then
- COMPREPLY=(-c -q -v)
- return 0
- fi
- if [[ $prev == '-c' ]]; then
- _filedir -d
- return 0
- fi
-
- qfile=0
- for idx in "${COMP_WORDS[@]}"; do
- [[ "$idx" = -q ]] && qfile=1 && break
- done
- if [[ $qfile == 1 ]]; then
- len=${#cur}
- idx=0
- for pval in $( mailq | \
- sed -e '1d; $d; /^[^0-9A-Z]\|^$/d; s/[* !].*$//' ); do
- if [[ "$cur" == "${pval:0:$len}" ]]; then
- COMPREPLY[$idx]=$pval
- idx=$(($idx+1))
- fi
- done
- return 0
- else
- _filedir
- return 0
- fi
-}
-complete -F _postcat postcat
-
-# postconf(1)
-#
-_postconf()
-{
- local cur prev pval len idx eqext
-
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
- if [[ $cur == '-' ]]; then
- COMPREPLY=(-c -d -e -h -m -l -n -v)
- return 0
- fi
- if [[ $prev == '-c' ]]; then
- _filedir -d
- return 0
- fi
- if [[ $prev == '-e' ]]; then
- cur=${cur#[\"\']}
- eqext='='
- fi
- len=${#cur}
- idx=0
- for pval in $( /usr/sbin/postconf | cut -d ' ' -f 1 ); do
- if [[ "$cur" == "${pval:0:$len}" ]]; then
- COMPREPLY[$idx]="$pval$eqext"
- idx=$(($idx+1))
- fi
- done
- return 0
-}
-complete -F _postconf postconf
-
-# postsuper(1)
-#
-_postsuper()
-{
- local cur prev pval len idx
-
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
-
- if [[ $cur == '-' ]]; then
- COMPREPLY=(-c -d -h -H -p -r -s -v)
- return 0
- fi
- case $prev in
- -[dr])
- len=${#cur}
- idx=0
- for pval in $( echo ALL; mailq | \
- sed -e '1d; $d; /^[^0-9A-Z]\|^$/d; s/[* !].*$//' ); do
- if [[ "$cur" == "${pval:0:$len}" ]]; then
- COMPREPLY[$idx]=$pval
- idx=$(($idx+1))
- fi
- done
- return 0
- ;;
- -h)
- len=${#cur}
- idx=0
- for pval in $( echo ALL; mailq | \
- sed -e '1d; $d; /^[^0-9A-Z]\|^$/d; s/[* ].*$//; /!$/d' ); do
- if [[ "$cur" == "${pval:0:$len}" ]]; then
- COMPREPLY[$idx]=$pval
- idx=$(($idx+1))
- fi
- done
- return 0
- ;;
- -H)
- len=${#cur}
- idx=0
- for pval in $( echo ALL; mailq | \
- sed -e '1d; $d; /^[^0-9A-Z]\|^$/d; /^[0-9A-Z]*[* ]/d; s/!.*$//' ); do
- if [[ "$cur" == "${pval:0:$len}" ]]; then
- COMPREPLY[$idx]=$pval
- idx=$(($idx+1))
- fi
- done
- return 0
- ;;
- esac
- COMPREPLY=( $( compgen -W 'hold incoming active deferred' -- $cur ) )
- return 0
-}
-complete -F _postsuper postsuper
-}
-
# cvs(1) completion
#
have cvs && {
diff --git a/contrib/postfix b/contrib/postfix
new file mode 100644
index 0000000..b12bdec
--- /dev/null
+++ b/contrib/postfix
@@ -0,0 +1,200 @@
+# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
+# ex: ts=8 sw=8 noet filetype=sh
+#
+# bash completion for postfix
+
+have postfix && {
+# postfix(1)
+#
+_postfix()
+{
+ local cur prev
+
+ cur=`_get_cword`
+ prev=${COMP_WORDS[COMP_CWORD-1]}
+
+ if [[ $cur == '-' ]]; then
+ COMPREPLY=(-c -D -v)
+ return 0
+ fi
+ if [[ $prev == '-c' ]]; then
+ _filedir -d
+ return 0
+ fi
+ if [[ $prev == '-D' ]]; then
+ COMPREPLY=( $( compgen -W 'start' -- "`_get_cword`" ) )
+ return 0
+ fi
+ COMPREPLY=( $( compgen -W 'start stop reload abort flush check' -- \
+ "`_get_cword`" ) )
+}
+complete -F _postfix postfix
+
+# postalias(1) and postmap(1)
+#
+_postmap()
+{
+ local cur prev len idx
+
+ cur=`_get_cword`
+ prev=${COMP_WORDS[COMP_CWORD-1]}
+
+ if [[ $cur == '-' ]]; then
+ COMPREPLY=(-N -f -i -n -o -p -r -v -w -c -d -q)
+ return 0
+ fi
+ if [[ $prev == '-c' ]]; then
+ _filedir -d
+ return 0
+ fi
+ if [[ $prev == -[dq] ]]; then
+ return 0
+ fi
+
+ if [[ "$cur" == *:* ]]; then
+ COMPREPLY=( $( compgen -f -- ${cur#*:} ) )
+ else
+ len=${#cur}
+ idx=0
+ for pval in $( /usr/sbin/postconf -m ); do
+ if [[ "$cur" == "${pval:0:$len}" ]]; then
+ COMPREPLY[$idx]="$pval:"
+ idx=$(($idx+1))
+ fi
+ done
+ if [[ $idx -eq 0 ]]; then
+ COMPREPLY=( $( compgen -f -- "$cur" ) )
+ fi
+ fi
+ return 0
+}
+complete -F _postmap postmap postalias
+
+# postcat(1)
+#
+_postcat()
+{
+ local cur prev pval len idx qfile
+
+ cur=`_get_cword`
+ prev=${COMP_WORDS[COMP_CWORD-1]}
+
+ if [[ $cur == '-' ]]; then
+ COMPREPLY=(-c -q -v)
+ return 0
+ fi
+ if [[ $prev == '-c' ]]; then
+ _filedir -d
+ return 0
+ fi
+
+ qfile=0
+ for idx in "${COMP_WORDS[@]}"; do
+ [[ "$idx" = -q ]] && qfile=1 && break
+ done
+ if [[ $qfile == 1 ]]; then
+ len=${#cur}
+ idx=0
+ for pval in $( mailq | \
+ sed -e '1d; $d; /^[^0-9A-Z]\|^$/d; s/[* !].*$//' ); do
+ if [[ "$cur" == "${pval:0:$len}" ]]; then
+ COMPREPLY[$idx]=$pval
+ idx=$(($idx+1))
+ fi
+ done
+ return 0
+ else
+ _filedir
+ return 0
+ fi
+}
+complete -F _postcat postcat
+
+# postconf(1)
+#
+_postconf()
+{
+ local cur prev pval len idx eqext
+
+ cur=`_get_cword`
+ prev=${COMP_WORDS[COMP_CWORD-1]}
+ if [[ $cur == '-' ]]; then
+ COMPREPLY=(-c -d -e -h -m -l -n -v)
+ return 0
+ fi
+ if [[ $prev == '-c' ]]; then
+ _filedir -d
+ return 0
+ fi
+ if [[ $prev == '-e' ]]; then
+ cur=${cur#[\"\']}
+ eqext='='
+ fi
+ len=${#cur}
+ idx=0
+ for pval in $( /usr/sbin/postconf | cut -d ' ' -f 1 ); do
+ if [[ "$cur" == "${pval:0:$len}" ]]; then
+ COMPREPLY[$idx]="$pval$eqext"
+ idx=$(($idx+1))
+ fi
+ done
+ return 0
+}
+complete -F _postconf postconf
+
+# postsuper(1)
+#
+_postsuper()
+{
+ local cur prev pval len idx
+
+ cur=`_get_cword`
+ prev=${COMP_WORDS[COMP_CWORD-1]}
+
+ if [[ $cur == '-' ]]; then
+ COMPREPLY=(-c -d -h -H -p -r -s -v)
+ return 0
+ fi
+ case $prev in
+ -[dr])
+ len=${#cur}
+ idx=0
+ for pval in $( echo ALL; mailq | \
+ sed -e '1d; $d; /^[^0-9A-Z]\|^$/d; s/[* !].*$//' ); do
+ if [[ "$cur" == "${pval:0:$len}" ]]; then
+ COMPREPLY[$idx]=$pval
+ idx=$(($idx+1))
+ fi
+ done
+ return 0
+ ;;
+ -h)
+ len=${#cur}
+ idx=0
+ for pval in $( echo ALL; mailq | \
+ sed -e '1d; $d; /^[^0-9A-Z]\|^$/d; s/[* ].*$//; /!$/d' ); do
+ if [[ "$cur" == "${pval:0:$len}" ]]; then
+ COMPREPLY[$idx]=$pval
+ idx=$(($idx+1))
+ fi
+ done
+ return 0
+ ;;
+ -H)
+ len=${#cur}
+ idx=0
+ for pval in $( echo ALL; mailq | \
+ sed -e '1d; $d; /^[^0-9A-Z]\|^$/d; /^[0-9A-Z]*[* ]/d; s/!.*$//' ); do
+ if [[ "$cur" == "${pval:0:$len}" ]]; then
+ COMPREPLY[$idx]=$pval
+ idx=$(($idx+1))
+ fi
+ done
+ return 0
+ ;;
+ esac
+ COMPREPLY=( $( compgen -W 'hold incoming active deferred' -- $cur ) )
+ return 0
+}
+complete -F _postsuper postsuper
+}
--
bash-completion
More information about the Bash-completion-commits
mailing list