Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
PATCH: multiple mailbox lines in muttrc and more
- X-seq: zsh-workers 12027
- From: Clint Adams <schizo@xxxxxxxxxx>
- To: Bart Schaefer <schaefer@xxxxxxxxxxxxxxxxxxxxxxx>
- Subject: PATCH: multiple mailbox lines in muttrc and more
- Date: Thu, 22 Jun 2000 00:07:38 -0400
- Cc: Andy Spiegl <zsh.Andy@xxxxxxxxx>, zsh-workers@xxxxxxxxxxxxxx
- In-reply-to: <20000621222749.A14101@xxxxxxxxxxx>; from schizo@xxxxxxxxxx on Wed, Jun 21, 2000 at 10:27:49PM -0400
- Mailing-list: contact zsh-workers-help@xxxxxxxxxxxxxx; run by ezmlm
- References: <20000619211650.A5701@xxxxxxxxxxxx> <Pine.LNX.4.20.0006191312080.1808-100000@xxxxxxxxxxxxxxxxx> <20000620132829.K23705@xxxxxxxxxxxx> <20000620100216.A5814@xxxxxxxxxxx> <20000620171801.C3224@xxxxxxxxxxxx> <20000621095529.A27178@xxxxxxxxxxxx> <1000621152106.ZM31139@xxxxxxxxxxxxxxxxxxxxxxx> <20000621222749.A14101@xxxxxxxxxxx>
> + _mutt_cache=( ${${(M)${(f)"$(<${~muttrc})"}:#mailboxes *}#mailboxes *} )
Oops, splitting problem.
In other news, this seems to work for completion of
mutt -f+
mutt -f=
mutt -f +
but not
mutt -f \=
Meaning mutt -f \=<TAB> will complete the fake mailboxes I put into a fake
muttrc to test this, but my ~/Mail/components file, for instance, which
is happily completed by the other three forms, much to my annoyance.
I'm sure that there are other problems with this that I've failed to notice.
Index: Completion/User/_mailboxes
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/User/_mailboxes,v
retrieving revision 1.3
diff -u -r1.3 _mailboxes
--- Completion/User/_mailboxes 2000/06/22 02:37:45 1.3
+++ Completion/User/_mailboxes 2000/06/22 04:01:24
@@ -23,6 +23,12 @@
else
_tags mailboxes files
fi;;
+ (*:mutt:*)
+ if [[ "$PREFIX" == (|-f)[+=]* ]]; then
+ _tags mailboxes
+ else
+ _tags mailboxes files
+ fi;;
(*:pine:*)
# Files for pine must be absolute paths.
if [[ "$PREFIX" == (|-f)[/\~]* ]]; then
@@ -43,7 +49,7 @@
_requested mailboxes expl 'mailbox specification' _mua_mailboxes && ret=0
if _requested files expl 'mailbox file'; then
- [[ "${curcontext}" != *:(mail|mush|zmail|zmlite):* ]] &&
+ [[ "${curcontext}" != *:(mail|mush|mutt|zmail|zmlite):* ]] &&
compset -P -f
_files "$expl[@]" && ret=0
fi
@@ -65,7 +71,7 @@
[[ -f ${~muttrc:-.} ]] &&
- _mutt_cache=( ${${(M)${(f)"$(<${~muttrc})"}:#mailboxes *}#mailboxes *} )
+ _mutt_cache=( ${=${(M)${(f)"$(<${~muttrc})"}:#mailboxes *}#mailboxes *} )
_mbox_cache=( ${~maildirectory}/*(^/) )
@@ -127,9 +133,16 @@
fi
;;
(*:mutt:*)
+ if compset -P '='; then
+ mbox_names=( "${_mutt_cache[@]#[+=]}" "${(@)_mbox_cache#$~maildirectory/}" "${(@)_maildir_cache#$~maildirectory/}" "${(@)_mh_cache#$~maildirectory/}")
+ elif compset -P +; then
+ mbox_names=( "${_mutt_cache[@]#[+=]}" "${(@)_mbox_cache#$~maildirectory/}" "${(@)_maildir_cache#$~maildirectory/}" "${(@)_mh_cache#$~maildirectory/}")
+ else
mbox_names=( "${_mutt_cache[@]}" "${_mailbox_cache[@]}"
- "${_maildir_cache[@]}" )
- mbox_short=( \! \< \> );;
+ "${_maildir_cache[@]}" "${_mh_cache[@]}" )
+ mbox_short=( \! \< \> )
+ fi
+ ;;
(*:pine:*)
# Pine is like mail but with no leading `+' to disambiguate;
# any files not in $pinedirectory must be absolute paths.
Messages sorted by:
Reverse Date,
Date,
Thread,
Author