# nc(1) completion -*- shell-script -*- proc _nc { var cur = '', prev = '', words = '', cword = '' _init_completion || return match $prev { with -h|-I|-i|-O|-P|-p|-V|-w return with -s _ip_addresses return with -T setglobal COMPREPLY = '( '$( compgen -W 'critical inetcontrol lowdelay netcontrol throughput reliability ef af{11..43} cs{0..7}' -- "$cur" ) ) return with -X setglobal COMPREPLY = '( '$( compgen -W '4 5 connect' -- "$cur" ) ) return with -x _known_hosts_real $cur return } if [[ "$cur" == -* ]] { setglobal COMPREPLY = '( '$( compgen -W '$( _parse_help "$1" -h )' -- "$cur" ) ) return } # Complete 1st non-option arg only var 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