# ssh-keygen(1) completion -*- shell-script -*- proc _ssh_keygen { local cur prev words cword _init_completion -n = || return match $prev { with -a|-b|-C|-D|-I|-J|-j|-M|-N|-n|-r|-P|-S|-V|-W|-z return with -F|-R # TODO: trim this down to actual entries in known hosts files _known_hosts_real $cur return with -f|-G|-K|-s|-T _filedir return with -m setglobal COMPREPLY = ''( $( compgen -W 'PEM PKCS8 RFC4716' -- "$cur" ) ) return with -O if [[ $cur != *=* ]] { setglobal COMPREPLY = ''( $( compgen -W 'clear force-command= no-agent-forwarding no-port-forwarding no-pty no-user-rc no-x11-forwarding permit-agent-forwarding permit-port-forwarding permit-pty permit-user-rc permit-x11-forwarding source-address=' -- "$cur" ) ) [[ $COMPREPLY == *= ]] && compopt -o nospace } return with -t setglobal COMPREPLY = ''( $( compgen -W 'dsa ecdsa rsa rsa1' -- "$cur" ) ) return } if [[ $cur == -* ]] { setglobal COMPREPLY = ''( $( compgen -W '$( _parse_help "$1" "-\?" )' -- "$cur" ) ) } } && complete -F _ssh_keygen ssh-keygen # ex: ts=4 sw=4 et filetype=sh