Add ipv6calc completion.

This commit is contained in:
Adrian Friedli 2010-01-14 21:19:09 +02:00 committed by Ville Skyttä
parent 51a772f99f
commit e8f6edc5af
5 changed files with 88 additions and 0 deletions

View File

@ -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)

View File

@ -56,6 +56,7 @@ bashcomp_DATA = contrib/abook \
contrib/info \
contrib/iptables \
contrib/ipmitool \
contrib/ipv6calc \
contrib/isql \
contrib/jar \
contrib/java \

55
contrib/ipv6calc Normal file
View File

@ -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

View File

@ -0,0 +1,3 @@
if {[assert_bash_type ipv6calc]} {
source "lib/completions/ipv6calc.exp"
}; # if

View File

@ -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