From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9795 invoked from network); 9 Sep 1999 11:09:47 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 9 Sep 1999 11:09:47 -0000 Received: (qmail 25526 invoked by alias); 9 Sep 1999 11:09:29 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 7739 Received: (qmail 25519 invoked from network); 9 Sep 1999 11:09:26 -0000 Date: Thu, 9 Sep 1999 13:09:20 +0200 (MET DST) Message-Id: <199909091109.NAA02759@beta.informatik.hu-berlin.de> From: Sven Wischnowsky To: zsh-workers@sunsite.auc.dk Subject: PATCH: completion for rlogin and friends Well, just improving `_rlogin' a bit. Bye Sven diff -u -r oldcompletion/User/_rlogin Completion/User/_rlogin --- oldcompletion/User/_rlogin Thu Sep 9 11:22:40 1999 +++ Completion/User/_rlogin Thu Sep 9 13:03:11 1999 @@ -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 -- Sven Wischnowsky wischnow@informatik.hu-berlin.de