# ipv6calc completion -*- shell-script -*- proc _ipv6calc { var cur = '', prev = '', words = '', cword = '', split = '' _init_completion -s || return match $prev { with -d|--debug return 0 with -I|--in|-O|--out|-A|--action # With ipv6calc < 0.73.0, -m does nothing here, so use sed instead. setglobal COMPREPLY = '( '$( compgen -W "$( $1 "$prev" -h 2>&1 | \ sed -ne 's/^[[:space:]]\{1,\}\([^[:space:]:]\{1,\}\)[[:space:]]*:.*/\1/p' )" \ -- "$cur" ) ) return 0 with --db-geoip|--db-ip2location-ipv4|--db-ip2location-ipv6 _filedir return 0 with --printstart|--printend return 0 } $split && return 0 if [[ "$cur" == -* ]] { setglobal 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 } return 0 } && complete -F _ipv6calc ipv6calc # ex: ts=4 sw=4 et filetype=sh