Blame completions/iperf

Packit 8462d6
# iperf(1) completion                                      -*- shell-script -*-
Packit 8462d6
Packit 8462d6
_iperf()
Packit 8462d6
{
Packit 8462d6
    local cur prev words cword split
Packit 8462d6
    _init_completion -s || return
Packit 8462d6
Packit 8462d6
    case $prev in
Packit 8462d6
        -h|--help|-v|--version|-i|--interval|-l|--len|-p|--port|-w|--window|\
Packit 8462d6
        -M|--mss|-b|--bandwidth|-n|--num|-t|--time|-L|--listenport|-P|\
Packit 8462d6
        --parallel|-T|--ttl|-Z|--linux-congestion)
Packit 8462d6
            return
Packit 8462d6
            ;;
Packit 8462d6
        -f|--format)
Packit 8462d6
            COMPREPLY=( $( compgen -W 'k m K M' -- "$cur" ) )
Packit 8462d6
            return
Packit 8462d6
            ;;
Packit 8462d6
        -o|--output|-F|--fileinput)
Packit 8462d6
            _filedir
Packit 8462d6
            return
Packit 8462d6
            ;;
Packit 8462d6
        -B|--bind)
Packit 8462d6
            _available_interfaces -a
Packit 8462d6
            _ip_addresses
Packit 8462d6
            return
Packit 8462d6
            ;;
Packit 8462d6
        -c|--client)
Packit 8462d6
            _known_hosts_real "$cur"
Packit 8462d6
            return
Packit 8462d6
            ;;
Packit 8462d6
        -x|--reportexclude)
Packit 8462d6
            COMPREPLY=( $( compgen -W 'C D M S V' -- "$cur" ) )
Packit 8462d6
            return
Packit 8462d6
            ;;
Packit 8462d6
        -y|--reportstyle)
Packit 8462d6
            COMPREPLY=( $( compgen -W 'C' -- "$cur" ) )
Packit 8462d6
            return
Packit 8462d6
            ;;
Packit 8462d6
    esac
Packit 8462d6
Packit 8462d6
    $split && return
Packit 8462d6
Packit 8462d6
    # Filter mode specific options
Packit 8462d6
    local i filter=cat
Packit 8462d6
    for i in ${words[@]}; do
Packit 8462d6
        case $i in
Packit 8462d6
            -s|--server)
Packit 8462d6
                filter='command sed -e /^Client.specific/,/^$/d'
Packit 8462d6
                ;;
Packit 8462d6
            -c|--client)
Packit 8462d6
                filter='command sed -e /^Server.specific/,/^$/d'
Packit 8462d6
                ;;
Packit 8462d6
        esac
Packit 8462d6
    done
Packit 8462d6
    [[ $filter != cat ]] && filter+=' -e /--client/d -e /--server/d'
Packit 8462d6
Packit 8462d6
    COMPREPLY=( $( compgen -W \
Packit 8462d6
        '$( "$1" --help 2>&1 | $filter | _parse_help - )' -- "$cur" ) )
Packit 8462d6
    [[ $COMPREPLY == *= ]] && compopt -o nospace
Packit 8462d6
} &&
Packit 8462d6
complete -F _iperf iperf
Packit 8462d6
Packit 8462d6
# ex: filetype=sh