diff options
Diffstat (limited to 'completions/ssh-copy-id')
-rw-r--r-- | completions/ssh-copy-id | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/completions/ssh-copy-id b/completions/ssh-copy-id index f628194..52aa9d7 100644 --- a/completions/ssh-copy-id +++ b/completions/ssh-copy-id @@ -1,32 +1,36 @@ # ssh-copy-id(1) completion -*- shell-script -*- -_ssh_copy_id() +_comp_cmd_ssh_copy_id() { - local cur prev words cword - _init_completion || return + local cur prev words cword comp_args + _comp_initialize -- "$@" || return - _xfunc ssh _ssh_suboption_check "$1" && return + # Prefer `ssh` from same dir for resolving options, etc + local pathcmd + pathcmd=$(type -P "$1") && local PATH=${pathcmd%/*}:$PATH + + _comp_compgen -x ssh suboption_check && return case $prev in -i) - _xfunc ssh _ssh_identityfile pub + _comp_compgen -x ssh identityfile pub return ;; -p) return ;; -o) - _xfunc ssh _ssh_options + _comp_compgen -x ssh options return ;; esac if [[ $cur == -* ]]; then - COMPREPLY=($(compgen -W '$(_parse_usage "$1" --help)' -- "$cur")) + _comp_compgen_usage -- --help else - _known_hosts_real -a -- "$cur" + _comp_compgen_known_hosts -a -- "$cur" fi } && - complete -F _ssh_copy_id ssh-copy-id + complete -F _comp_cmd_ssh_copy_id ssh-copy-id # ex: filetype=sh |