diff options
author | Adrian Friedli <adi@koalatux.ch> | 2010-01-14 21:19:09 +0200 |
---|---|---|
committer | Ville Skyttä <ville.skytta@iki.fi> | 2010-01-14 21:19:09 +0200 |
commit | e8f6edc5af1c2694715708924518b2bbe07daeee (patch) | |
tree | fce2c77f41c8a55d9866f712b7fcc339ddb4d13a | |
parent | 51a772f99f485cade1cf21e89c6c4026d8fc380d (diff) | |
download | bash-completion-e8f6edc5af1c2694715708924518b2bbe07daeee.tar.gz |
Add ipv6calc completion.
-rw-r--r-- | CHANGES | 3 | ||||
-rw-r--r-- | Makefile.am | 1 | ||||
-rw-r--r-- | contrib/ipv6calc | 55 | ||||
-rw-r--r-- | test/completion/ipv6calc.exp | 3 | ||||
-rw-r--r-- | test/lib/completions/ipv6calc.exp | 26 |
5 files changed, 88 insertions, 0 deletions
@@ -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 |