diff options
Diffstat (limited to 'Completion')
-rw-r--r-- | Completion/User/_ssh | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/Completion/User/_ssh b/Completion/User/_ssh index aa4ffb2f6..82f959b37 100644 --- a/Completion/User/_ssh +++ b/Completion/User/_ssh @@ -1,5 +1,11 @@ #compdef ssh slogin scp ssh-add ssh-agent ssh-keygen +_remote_files () { + # This is extremely simple-minded; could parse "ls -F" output to do + # colorings and LIST_TYPES and so on, but I'm just not that ambitious. + compadd $(ssh ${words[CURRENT]%:*} echo ${words[CURRENT]#*:}\*) +} + _ssh () { local curcontext="$curcontext" state lstate line ret=1 expl args tmp typeset -A opt_args @@ -172,7 +178,7 @@ _ssh () { return elif [[ -n "$state" ]]; then if compset -P '*:'; then - _files && ret=0 + _remote_files && ret=0 elif compset -P '*@'; then _wanted hosts expl host && _ssh_hosts -S: "$expl[@]" && ret=0 else |