diff options
author | Tanaka Akira <akr@users.sourceforge.net> | 1999-09-09 11:11:01 +0000 |
---|---|---|
committer | Tanaka Akira <akr@users.sourceforge.net> | 1999-09-09 11:11:01 +0000 |
commit | c9cc736127e763aef81e3461b10fbe785cf34680 (patch) | |
tree | 92b526c2db9982e02d5ac393dbfac5fb66476e11 /Completion/User/_rlogin | |
parent | 8e5dd8675f4ced3b507dd701f1a9d8fc7cf3067f (diff) | |
download | zsh-c9cc736127e763aef81e3461b10fbe785cf34680.tar.gz zsh-c9cc736127e763aef81e3461b10fbe785cf34680.tar.xz zsh-c9cc736127e763aef81e3461b10fbe785cf34680.zip |
zsh-workers/7739
Diffstat (limited to 'Completion/User/_rlogin')
-rw-r--r-- | Completion/User/_rlogin | 62 |
1 files changed, 47 insertions, 15 deletions
diff --git a/Completion/User/_rlogin b/Completion/User/_rlogin index 9473df5bd..2b8fdd287 100644 --- a/Completion/User/_rlogin +++ b/Completion/User/_rlogin @@ -1,19 +1,51 @@ -#compdef rlogin rsh +#compdef rlogin rsh remsh rcp -local expl +case "$words[1]" in +rlogin) + _arguments -s \ + '-8[allow 8-Bit data]' \ + '-e-[specify escape character]:escape character:' \ + '-l[specify login user name]:login as:_users' \ + ':remote host name:_hosts' + ;; +rsh|remsh) + local state line ret=1 + typeset -A options -_description expl user + _arguments -s \ + '-n[ignore stdin]' \ + '-l[specify login user name]:login as:_users' \ + ':remote host name:_hosts' \ + ':command: _command_names -e' \ + '*::command:->command' && ret=0 -if [[ CURRENT -eq 2 ]]; - if compset -P 1 '*@'; then - _hosts - else - local nm=${compstate[nmatches]} - _hosts - [[ nm -eq compstate[nmatches] ]] && compgen "$expl[@]" -S @ -u + if [[ -n "$state" ]]; then + shift 1 words + (( CURRENT-- )) + _normal && ret=0 fi -elif [[ CURRENT -eq 3 ]]; then - compadd - -l -else - _users -S @ -fi + return ret + ;; +rcp) + local state line ret=1 + typeset -A options + + _arguments -s \ + '-p[preserve modification times]' \ + '-r[recursively copy directories]' \ + '*:files:->files' && ret=0 + + if [[ -n "$state" ]]; then + if compset -P '*:'; then + _files && ret=0 + elif compset -P '*@'; then + _hosts -S: && ret=0 + else + _files && ret=0 + _hosts -S: && ret=0 + _users -S@ && ret=0 + fi + fi + return ret + ;; +esac |