From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17132 invoked from network); 16 Jan 2000 04:40:57 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 16 Jan 2000 04:40:57 -0000 Received: (qmail 14705 invoked by alias); 16 Jan 2000 04:40:51 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 9328 Received: (qmail 14698 invoked from network); 16 Jan 2000 04:40:50 -0000 To: zsh-workers@sunsite.auc.dk Subject: PATCH: _finger MIME-Version: 1.0 (generated by AKEMI 1.13.2 - =?ISO-2022-JP?B?Ig==?= =?ISO-2022-JP?B?GyRCQTA0Y0s8GyhCIg==?=) Content-Type: text/plain; charset=US-ASCII From: Tanaka Akira Date: 16 Jan 2000 13:40:05 +0900 Message-ID: User-Agent: Chao-gnus/6.12.5 AKEMI/1.13.2 (=?ISO-2022-JP?B?GyRCQTAbKEI=?= =?ISO-2022-JP?B?GyRCNGNLPBsoQg==?=) FLAM-DOODLE/1.12.6 (=?ISO-2022-JP?B?GyRCM3cbKEI=?= 10R4.0/5.0) Emacs/20.4 (sparc-sun-solaris2.6) MULE/4.0 (HANANOEN) I wrote _finger. --- /dev/null Sun Jan 16 06:45:59 2000 +++ Completion/User/_finger Sun Jan 16 13:29:12 2000 @@ -0,0 +1,78 @@ +#compdef finger + +local curcontext="$curcontext" state line +typeset -A opt_args + +if (( ! $+_finger_args )); then + local help="$(finger -\? 2>&1)" + local -A optionmap + +## `finger -\?': + +# SunOS 5.7: +# finger: illegal option -- ? +# Usage: finger [-bfhilmpqsw] [-t l|h|l,h] [name1 [name2 ...] ] + +# SunOS 4.1.4: +# Usage: finger [-bfhilmpqsw] [login1 [login2 ...] ] + +# IRIX 6.3: +# Usage: finger [-bfhilmpqsw] [login1 [login2 ...] ] + +# NetBSD 1.4.1: +# finger: illegal option -- ? +# usage: finger [-lmpsho] [login ...] + +# FreeBSD 2.2.8 +# finger: illegal option -- ? +# usage: finger [-lmpshoT] [login ...] + +# BSD/OS 3.0: +# finger: illegal option -- ? +# usage: finger [-lmps] [login ...] + +# 4.4BSD Lite: +# usage: finger [-lmps] [login ...] + +# Debian GNU/Linux (potato) (netstd 3.07-10): +# finger: invalid option -- ? +# usage: finger [-lmps] [login ...] + + if [[ "$help" = *\[-(#b)(lmps[a-zA-Z]#)* ]]; then + # BSD style + optionmap=( + '*m*' '-m[match to login name]' + '*l*' '(-s -o)-l[force long format]' + '*s*' '(-l -p)-s[force short format]' + '*p*' '(-s -o)-p[suppress .forward, .plan and .project]' + '*o*' '(-l -p)-o[print office information]' + '*T*' '-T[disable T/TCP]' + ) + _finger_args=($optionmap[(K)$match[1]]) + elif [[ "$help" = *\[-(#b)(bfhilmpqsw[a-zA-Z]#)* ]]; then + # System V style + optionmap=( + '*m*' '-m[match to login name]' + '*l*' '( -i -q -s -f -w)-l[force long format]' + '*i*' '(-l -q -s -b -h -p -w)-i[force idle format]' + '*q*' '(-l -i -s -b -h -p -w)-q[force quick format]' + '*s*' '(-l -i -q -b -h -p)-s[force short format]' + '*b*' '(-i -q -s)-b[suppress home and shell]' + '*f*' '(-l)-f[suppress header]' + '*h*' '(-i -q -s)-h[suppress .project]' + '*p*' '(-i -q -s)-p[suppress .plan]' + '*w*' '(-i -q -l)-w[suppress full name]' + ) + _finger_args=($optionmap[(K)$match[1]]) + else + _finger_args=() + fi +fi + +_arguments -C -s $_finger_args '*:finger targets:->finger-targets' + +case "$state" in +finger-targets) + _user_at_host -t other-accounts "$@" + ;; +esac Index: Completion/User/_other_accounts =================================================================== RCS file: /projects/zsh/zsh/Completion/User/_other_accounts,v retrieving revision 1.1.1.6 diff -u -r1.1.1.6 _other_accounts --- Completion/User/_other_accounts 1999/11/22 12:29:50 1.1.1.6 +++ Completion/User/_other_accounts 2000/01/16 04:36:55 @@ -1,3 +1,3 @@ -#compdef talk ntalk ytalk finger +#compdef talk ntalk ytalk _user_at_host -t other-accounts "$@" -- Tanaka Akira