From 92f2594aec41efd999fad775baac1fd12b91533e Mon Sep 17 00:00:00 2001 From: Oliver Kiddle Date: Thu, 1 Feb 2001 15:00:42 +0000 Subject: [PATCH] new completion function for the tin newsreader (13420) --- ChangeLog | 5 +++++ Completion/User/_tin | 52 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 Completion/User/_tin diff --git a/ChangeLog b/ChangeLog index 9142942e4..99f201ea6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2001-02-01 Oliver Kiddle + + * 13420: Completion/User/_tin: new completion function for tin + 2001-01-31 Andrej Borsenkow * 13412: Src/mkmakemod.sh: avoid duplicate subdirectories in @@ -8,6 +12,7 @@ * unposted: ChangeLog: typo in previous commit message 2001-01-28 Felix Rosencrantz + * 13395: Test/54compmatch.ztst, Test/comptest: Added code to test compstate[insert_positions], value of insert_positions are now reported diff --git a/Completion/User/_tin b/Completion/User/_tin new file mode 100644 index 000000000..2441acf1f --- /dev/null +++ b/Completion/User/_tin @@ -0,0 +1,52 @@ +#compdef tin rtin + +local newshosts expl state line curcontext="$curcontext" ret=1 + +_arguments -C -s \ + '-a[toggle color flag]' \ + '-A[force authentication on connect]' \ + '-c[mark all news as read in subscribed groups]' \ + "-d[don't show newsgroup descriptions]" \ + '-f[specify newsrc file to use]:newsrc file:_files' \ + '-G[specify limit to articles/group to get]:number of articles/group to get' \ + '-g[specify NNTP server]:NNTP server:->newshosts' \ + '-h[display help on tin usage]' \ + '-H[display help information]' \ + '-I[specify news index file directory]:news index file directory:_files -/' \ + '-l[get number of articles per group from the active file]' \ + '-m[specify mailbox directory]:mailbox directory:_files -/' \ + '-M[mail new news to specified user]:user:_users' \ + '-n[only read subscribed groups from server]' \ + '-N[mail new news to yourself]' \ + '-o[post all postponed articles and exit]' \ + '-p[specify port to connect to NNTP server]:NNTP port:_ports' \ + "-q[don't check for new newsgroups]" \ + '-Q[quick start. Same as -nqd]' \ + ${${service:#r*}:+-r\[read news remotely over NNTP\]} \ + '-R[read news saved with -S]' \ + '-s[specify saved news directory]:saved news directory:_files -/' \ + '-S[save new news for later reading]' \ + '-u[update index files]' \ + '-U[update index files in the background while reading news]' \ + '-v[verbose output in batch mode]' \ + '-V[display version information]' \ + '-w[post an article and exit]' \ + "-X[don't save any files on quit]" \ + '-z[start if any unread news]' \ + '-Z[return status to indicate if any unread news]' \ + '::newsgroup' && return 0 + +if [[ "$state" = newshosts ]]; then + newshosts=( ${${(f)"$(<~/.tin/newsrctable)"}%%\#*} ) 2>/dev/null + _tags hosts nicknames + while _tags; do + _requested hosts expl 'NNTP server hostname' \ + compadd ${=newshosts#*[[:blank:]]##[^[:blank:]]*[[:blank:]]} && ret=0 + _requested nicknames expl 'NNTP server nickname' \ + compadd -M 'r:|.=* r:|=*' ${newshosts%%[[:blank:]]*} && ret=0 + (( ret )) || return 0 + done +fi + +return 1 +