[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