From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20641 invoked from network); 15 Sep 1999 21:30:49 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 15 Sep 1999 21:30:49 -0000 Received: (qmail 11914 invoked by alias); 15 Sep 1999 21:30:40 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 7860 Received: (qmail 11907 invoked from network); 15 Sep 1999 21:30:40 -0000 Date: Wed, 15 Sep 1999 17:30:39 -0400 From: Clint Adams To: zsh-workers@sunsite.auc.dk Subject: PATCH: _mutt, _mailboxes Message-ID: <19990915173039.A15772@dman.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii User-Agent: Mutt/1.0pre2i This is my stab at completion for mutt. I imagine that the _mailboxes function would be useful for completing the -f arguments of elm and pine, after some tweaking. diff -cN --recursive Completion/User.old/_mailboxes Completion/User/_mailboxes *** Completion/User.old/_mailboxes Wed Dec 31 19:00:00 1969 --- Completion/User/_mailboxes Wed Sep 15 17:21:44 1999 *************** *** 0 **** --- 1,32 ---- + #autoload + + # This is needlessly mutt-biased and should be fixed. + + local expl muttboxes mboxes dirboxes MHboxes maildirboxes muttrc="~/.muttrc" m aildirectory="~/Mail" + + test -f "$compconfig[muttrc_path]" && muttrc=$compconfig[muttrc_path] + test -f "$compconfig[maildirectory]" && maildirectory=$compconfig[maildirector y] + + if (( ! $+_mailbox_cache )) then + + test ${muttrc} || test -f ${~muttrc} && muttboxes=( ${(@)$(grep mailboxes ${~m uttrc})[2,-1]} ) + + mboxes=(${~maildirectory}/*(^/)) + dirboxes=(${~maildirectory}/*(/)) + + for i in $dirboxes + do + if test -d "${i}/cur" + then + maildirboxes=($maildirboxes $i) + else + MHboxes=($MHboxes $i) + fi + done + + _mailbox_cache=(\! \< \> $muttboxes $mboxes $maildirboxes $MHboxes) + + fi + + _description expl 'mailbox specification' + compadd "$@" "$expl[@]" - "$_mailbox_cache[@]" diff -cN --recursive Completion/User.old/_mutt Completion/User/_mutt *** Completion/User.old/_mutt Wed Dec 31 19:00:00 1969 --- Completion/User/_mutt Wed Sep 15 17:21:44 1999 *************** *** 0 **** --- 1,39 ---- + #compdef mutt + + local state line muttrc="~/.muttrc" ret=1 + + _arguments \ + '::recipient:->userhost' \ + '-a:MIME attachment:_files' \ + '-b:BCC recipient:->userhost' \ + '-c:CC recipient:->userhost' \ + '-e:post-init configuration:' \ + '-f+:mailbox:_mailboxes' \ + '-F+:init file:_files' \ + '-h+:help' \ + '-H+:draft file:_files' \ + '-i:include file:_files' \ + '-m+:default mailbox type:(mbox MMDF MH Maildir)' \ + '-n+:bypass system configuration:' \ + '-p+:resume postponed message:' \ + '-R+:open in read-only mode:' \ + '-s+:subject:' \ + '-v+:version:' \ + '-x+:emulate mailx compose:' \ + '-y+:start listing mailboxes:' \ + '-z+:start only if new messages:' \ + '-Z+:open first mailbox with new mail:' && ret=0 + + if [[ "$state" = userhost ]]; then + if compset -P '*@'; then + _description expl 'remote host name' + _hosts "$expl[@]" -q -S, + return + else + _description expl 'login name' + _users "$expl[@]" -q -S@ && ret=0 + fi + fi + + return ret + fi