[Bash-completion-commits] [SCM] bash-completion branch, master, updated. b3f8e617ac7569a4c6bd3f3f6e6e3bc51d61d3f4

Guillaume Rousse guillomovitch at zarb.org
Fri May 29 07:57:26 UTC 2009


The following commit has been merged in the master branch:
commit 4064cd2361315cbe1f63ca379cac7ca922cd7937
Author: Guillaume Rousse <guillomovitch at zarb.org>
Date:   Wed May 27 18:56:41 2009 +0200

    split iptables completion

diff --git a/Makefile.am b/Makefile.am
index bbaf987..719f219 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -35,6 +35,7 @@ bashcomp_DATA = contrib/ant \
 		contrib/harbour \
 		contrib/heimdal \
 		contrib/imagemagick \
+		contrib/iptables \
 		contrib/isql \
 		contrib/java \
 		contrib/larch \
diff --git a/bash_completion b/bash_completion
index c7919b5..4171c19 100644
--- a/bash_completion
+++ b/bash_completion
@@ -2610,69 +2610,6 @@ _jar()
 } &&
 complete -F _jar $filenames jar
 
-# Linux iptables(8) completion
-#
-have iptables &&
-_iptables()
-{
-	local cur prev table chain
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-	chain='s/^Chain \([^ ]\+\).*$/\1/p'
-
-	if [[ $COMP_LINE == *-t\ *filter* ]]; then
-		table="-t filter"
-	elif [[ $COMP_LINE == *-t\ *nat* ]]; then
-		table="-t nat"
-	elif [[ $COMP_LINE == *-t\ *mangle* ]]; then
-		table="-t mangle"
-	fi
-
-	_split_longopt
-
-	case "$prev" in
-	-*[AIDRPFXLZ])
-		COMPREPLY=( $( compgen -W '`iptables $table -nL | \
-			    sed -ne "s/^Chain \([^ ]\+\).*$/\1/p"`' -- $cur ) )
-		;;
-	-*t)
-		COMPREPLY=( $( compgen -W 'nat filter mangle' -- $cur ) )
-		;;
-	-j)
-		if [ "$table" = "-t filter" -o "$table" = "" ]; then
-		    COMPREPLY=( $( compgen -W 'ACCEPT DROP LOG ULOG REJECT \
-		    `iptables $table -nL | sed -ne "$chain" \
-		    -e "s/INPUT|OUTPUT|FORWARD|PREROUTING|POSTROUTING//"`' -- \
-		    $cur ) )
-		elif [ "$table" = "-t nat" ]; then
-		    COMPREPLY=( $( compgen -W 'ACCEPT DROP LOG ULOG REJECT \
-		    MIRROR SNAT DNAT MASQUERADE `iptables $table -nL | \
-		    sed -ne "$chain" -e "s/OUTPUT|PREROUTING|POSTROUTING//"`' \
-		    -- $cur ) )
-		elif [ "$table" = "-t mangle" ]; then
-		    COMPREPLY=( $( compgen -W 'ACCEPT DROP LOG ULOG REJECT \
-		    MARK TOS `iptables $table -nL | sed -ne "$chain" \
-		    -e "s/INPUT|OUTPUT|FORWARD|PREROUTING|POSTROUTING//"`' -- \
-		    $cur ) )
-		fi
-		;;
-	*)
-		if [[ "$cur" == -* ]]; then
-		    COMPREPLY=( $( compgen -W '-i -o -s -d -p -f -m --append \
-		    --delete --insert --replace --list --flush --zero --new \
-		    --delete-chain --policy --rename-chain --proto --source \
-		    --destination --in-interface --jump --match --numeric \
-		    --out-interface --table --verbose --line-numbers --exact \
-		    --fragment --modprobe --set-counters --version' -- "$cur") )
-		fi
-		;;
-	esac
-
-} &&
-complete -F _iptables iptables
-
 # tcpdump(8) completion
 #
 have tcpdump &&
diff --git a/contrib/iptables b/contrib/iptables
new file mode 100644
index 0000000..77714c6
--- /dev/null
+++ b/contrib/iptables
@@ -0,0 +1,65 @@
+# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
+# ex: ts=8 sw=8 noet filetype=sh
+#
+# bash completion for iptables
+
+have iptables &&
+_iptables()
+{
+	local cur prev table chain
+
+	COMPREPLY=()
+	cur=`_get_cword`
+	prev=${COMP_WORDS[COMP_CWORD-1]}
+	chain='s/^Chain \([^ ]\+\).*$/\1/p'
+
+	if [[ $COMP_LINE == *-t\ *filter* ]]; then
+		table="-t filter"
+	elif [[ $COMP_LINE == *-t\ *nat* ]]; then
+		table="-t nat"
+	elif [[ $COMP_LINE == *-t\ *mangle* ]]; then
+		table="-t mangle"
+	fi
+
+	_split_longopt
+
+	case "$prev" in
+	-*[AIDRPFXLZ])
+		COMPREPLY=( $( compgen -W '`iptables $table -nL | \
+			    sed -ne "s/^Chain \([^ ]\+\).*$/\1/p"`' -- $cur ) )
+		;;
+	-*t)
+		COMPREPLY=( $( compgen -W 'nat filter mangle' -- $cur ) )
+		;;
+	-j)
+		if [ "$table" = "-t filter" -o "$table" = "" ]; then
+		    COMPREPLY=( $( compgen -W 'ACCEPT DROP LOG ULOG REJECT \
+		    `iptables $table -nL | sed -ne "$chain" \
+		    -e "s/INPUT|OUTPUT|FORWARD|PREROUTING|POSTROUTING//"`' -- \
+		    $cur ) )
+		elif [ "$table" = "-t nat" ]; then
+		    COMPREPLY=( $( compgen -W 'ACCEPT DROP LOG ULOG REJECT \
+		    MIRROR SNAT DNAT MASQUERADE `iptables $table -nL | \
+		    sed -ne "$chain" -e "s/OUTPUT|PREROUTING|POSTROUTING//"`' \
+		    -- $cur ) )
+		elif [ "$table" = "-t mangle" ]; then
+		    COMPREPLY=( $( compgen -W 'ACCEPT DROP LOG ULOG REJECT \
+		    MARK TOS `iptables $table -nL | sed -ne "$chain" \
+		    -e "s/INPUT|OUTPUT|FORWARD|PREROUTING|POSTROUTING//"`' -- \
+		    $cur ) )
+		fi
+		;;
+	*)
+		if [[ "$cur" == -* ]]; then
+		    COMPREPLY=( $( compgen -W '-i -o -s -d -p -f -m --append \
+		    --delete --insert --replace --list --flush --zero --new \
+		    --delete-chain --policy --rename-chain --proto --source \
+		    --destination --in-interface --jump --match --numeric \
+		    --out-interface --table --verbose --line-numbers --exact \
+		    --fragment --modprobe --set-counters --version' -- "$cur") )
+		fi
+		;;
+	esac
+
+} &&
+complete -F _iptables iptables

-- 
bash-completion



More information about the Bash-completion-commits mailing list