summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Friedli <adi@koalatux.ch>2010-01-14 21:19:09 +0200
committerVille Skyttä <ville.skytta@iki.fi>2010-01-14 21:19:09 +0200
commite8f6edc5af1c2694715708924518b2bbe07daeee (patch)
treefce2c77f41c8a55d9866f712b7fcc339ddb4d13a
parent51a772f99f485cade1cf21e89c6c4026d8fc380d (diff)
downloadbash-completion-e8f6edc5af1c2694715708924518b2bbe07daeee.tar.gz
Add ipv6calc completion.
-rw-r--r--CHANGES3
-rw-r--r--Makefile.am1
-rw-r--r--contrib/ipv6calc55
-rw-r--r--test/completion/ipv6calc.exp3
-rw-r--r--test/lib/completions/ipv6calc.exp26
5 files changed, 88 insertions, 0 deletions
diff --git a/CHANGES b/CHANGES
index ab83b0f3..71256a95 100644
--- a/CHANGES
+++ b/CHANGES
@@ -70,6 +70,9 @@ bash-completion (2.x)
[ Raphaël Droz ]
* Add xsltproc completion (Alioth: #311843).
+ [ Adrian Friedli ]
+ * Add ipv6calc completion.
+
-- David Paleino <d.paleino@gmail.com> Sun, 11 Oct 2009 11:11:57 +0200
bash-completion (1.1)
diff --git a/Makefile.am b/Makefile.am
index 8ce08a4e..402d82cd 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -56,6 +56,7 @@ bashcomp_DATA = contrib/abook \
contrib/info \
contrib/iptables \
contrib/ipmitool \
+ contrib/ipv6calc \
contrib/isql \
contrib/jar \
contrib/java \
diff --git a/contrib/ipv6calc b/contrib/ipv6calc
new file mode 100644
index 00000000..142e19ec
--- /dev/null
+++ b/contrib/ipv6calc
@@ -0,0 +1,55 @@
+have ipv6calc &&
+_ipv6calc()
+{
+ local cur prev split=false
+
+ COMPREPLY=()
+ cur=`_get_cword =`
+ prev=`_get_pword`
+
+ _split_longopt && split=true
+
+ case "$prev" in
+ -d|--debug)
+ return 0
+ ;;
+ -I|--in|-O|--out|-A|--action)
+ COMPREPLY=( $( compgen -W "$( ipv6calc -m "$prev" -h 2>&1 | \
+ sed -ne 's/^[[:space:]]\{1,\}\([^[:space:]:]\{1,\}\)[[:space:]]*:.*/\1/p' )" \
+ -- "$cur" ) )
+ return 0
+ ;;
+ --db-geoip|--db-ip2location-ipv4|--db-ip2location-ipv6)
+ _filedir
+ return 0
+ ;;
+ --printstart|--printend)
+ return 0
+ ;;
+ esac
+
+ $split && return 0
+
+ if [[ "$cur" == -* ]]; then
+ COMPREPLY=( $( compgen -W '--help --debug --quiet --in \
+ --out --action --examples --showinfo --show_types \
+ --machine_readable --db-geoip --db-geoip-default \
+ --db-ip2location-ipv4 --db-ip2location-ipv6 \
+ --lowercase --uppercase --printprefix --printsuffix \
+ --maskprefix --masksuffix --printstart --printend \
+ --printcompressed --printuncompressed \
+ --printfulluncompressed --printmirrored' -- "$cur" ) )
+ return 0
+ fi
+
+ return 0
+} &&
+complete -F _ipv6calc -o filenames ipv6calc
+
+# 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
diff --git a/test/completion/ipv6calc.exp b/test/completion/ipv6calc.exp
new file mode 100644
index 00000000..5a8966f7
--- /dev/null
+++ b/test/completion/ipv6calc.exp
@@ -0,0 +1,3 @@
+if {[assert_bash_type ipv6calc]} {
+ source "lib/completions/ipv6calc.exp"
+}; # if
diff --git a/test/lib/completions/ipv6calc.exp b/test/lib/completions/ipv6calc.exp
new file mode 100644
index 00000000..74ce95f7
--- /dev/null
+++ b/test/lib/completions/ipv6calc.exp
@@ -0,0 +1,26 @@
+proc setup {} {
+ save_env
+}; # setup()
+
+
+proc teardown {} {
+ assert_env_unmodified
+}; # teardown()
+
+
+setup
+
+
+assert_complete_any "ipv6calc -"
+
+
+sync_after_int
+
+
+assert_complete_any "ipv6calc --in "
+
+
+sync_after_int
+
+
+teardown