1
0
mirror of git://git.code.sf.net/p/zsh/code synced 2024-10-02 08:51:18 +02:00
zsh/Completion/Unix/Command/_tin
2001-04-02 12:04:41 +00:00

53 lines
2.0 KiB
Plaintext

#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:_newsgroups' && 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