#-*- mode: shell-script;-*-

# this file contains a bash function that provides detailed command
# completion for mercury
#
# install in /usr/share/bash-completion/completions

_mercury()
{
    local cur prev opts
    _init_completion || return

    if [[ $prev == --capture ]]; then
        _available_interfaces
        return
    fi

    if [[ $prev == --user ]]; then
        _allowed_users
        return
    fi

    if [[ $prev == --directory ]]; then
        _filedir -d
        return
    fi

    if [[ $prev == --read ]]; then
        _filedir '@(pcap?(ng)|cap)?(.gz)'
        return
    fi

    if [[ $prev == --config ]]; then
        _filedir '@(cfg)'
        return
    fi

    if [[ $prev == --select ]]; then
        COMPREPLY=( $( compgen -W 'all arp cdp dhcp dns dtls gre http http.request http.response icmp iec lldp mdns nbds nbns nbss none ospf quic sctp smb ssdp ssh stun tcp tcp.message tcp.syn_ack tls tls.certificates tls.client_hello tls.server_hello wireguard' -- "$cur") )
        return 0
    fi

    if [[ "$cur" == -* ]]; then
        COMPREPLY=( $( compgen -W '--analysis --buffer --capture --certs-json --config --directory --dns-json --fingerprint --format --help --license --limit --metadata --nonselected-tcp-data --nonselected-udp-data --output-time --read --resources --select --stats --stats-limit --stats-time --reassembly --threads --user --verbose --version --write' -- "$cur") )
        # COMPREPLY=( $( compgen -W '$( _parse_help "$1" )' -- "$cur" ) )
        return 0
    fi
}

complete -F _mercury mercury
