# nc(1) completion -*- shell-script -*- _nc() { local cur prev words cword _init_completion || return case $prev in -h|-I|-i|-O|-P|-p|-V|-w) return ;; -s) _ip_addresses return ;; -T) COMPREPLY=( $( compgen -W 'critical inetcontrol lowdelay netcontrol throughput reliability ef af{11..43} cs{0..7}' -- "$cur" ) ) return ;; -X) COMPREPLY=( $( compgen -W '4 5 connect' -- "$cur" ) ) return ;; -x) _known_hosts_real "$cur" return ;; esac if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '$( _parse_help "$1" -h )' -- "$cur" ) ) return fi # Complete 1st non-option arg only local i for (( i=1; i < cword; i++ )); do [[ ${words[i]} != -* && ${words[i-1]} != -[IiOPpsTVwXx] ]] && return done _known_hosts_real "$cur" } && complete -F _nc nc # ex: ts=4 sw=4 et filetype=sh