From: Tanaka Akira <akr@jaist.ac.jp>
To: zsh-workers@sunsite.auc.dk
Subject: PATCH: _finger
Date: 16 Jan 2000 13:40:05 +0900 [thread overview]
Message-ID: <rsq7lha39zu.fsf@crane.jaist.ac.jp> (raw)
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
reply other threads:[~2000-01-16 4:40 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=rsq7lha39zu.fsf@crane.jaist.ac.jp \
--to=akr@jaist.ac.jp \
--cc=zsh-workers@sunsite.auc.dk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).