diff options
author | Tanaka Akira <akr@users.sourceforge.net> | 1999-09-18 23:46:21 +0000 |
---|---|---|
committer | Tanaka Akira <akr@users.sourceforge.net> | 1999-09-18 23:46:21 +0000 |
commit | 8534e7281e0ac5316fe8ca1b4f39ed236fef49b5 (patch) | |
tree | 43801606a55790ca3fc248ff38ae19746099ff06 /Completion/User | |
parent | de9af0062cc69945d90e40d3e0e8ca310f9346ad (diff) | |
download | zsh-8534e7281e0ac5316fe8ca1b4f39ed236fef49b5.tar.gz zsh-8534e7281e0ac5316fe8ca1b4f39ed236fef49b5.tar.xz zsh-8534e7281e0ac5316fe8ca1b4f39ed236fef49b5.zip |
zsh-workers/7932
Diffstat (limited to 'Completion/User')
-rw-r--r-- | Completion/User/_mailboxes | 41 |
1 files changed, 26 insertions, 15 deletions
diff --git a/Completion/User/_mailboxes b/Completion/User/_mailboxes index c49aa8185..08dbec816 100644 --- a/Completion/User/_mailboxes +++ b/Completion/User/_mailboxes @@ -1,30 +1,41 @@ #autoload -# This is needlessly mutt-biased and should be fixed. +emulate -L zsh +setopt nullglob -local expl muttboxes mboxes dirboxes MHboxes maildirboxes muttrc="~/.muttrc" maildirectory="~/Mail" +# This is still needlessly mutt-biased and should be fixed. -test -f "$compconfig[muttrc_path]" && muttrc=$compconfig[muttrc_path] -test -f "$compconfig[maildirectory]" && maildirectory=$compconfig[maildirectory] +local -U muttboxes mboxes dirboxes MHboxes maildirboxes +local i j expl muttrc="${muttrc:-~/.muttrc}" +local pinedirectory="${pinedirectory:-~/mail}" +local maildirectory="${maildirectory:-~/Mail}" if (( ! $+_mailbox_cache )) then -test ${muttrc} || test -f ${~muttrc} && muttboxes=( ${(@)$(grep mailboxes ${~muttrc})[2,-1]} ) +[[ -f "${~muttrc}" ]] && muttboxes=( ${$(grep mailboxes ${~muttrc})[2,-1]} ) -mboxes=(${~maildirectory}/*(^/)) -dirboxes=(${~maildirectory}/*(/)) +mboxes=( ${~maildirectory}/*(^/) ${~pinedirectory}/**/*(.) ) +dirboxes=( ${~maildirectory}/*(/) ) -for i in $dirboxes +while (( $#dirboxes )) do -if test -d "${i}/cur" -then -maildirboxes=($maildirboxes $i) -else -MHboxes=($MHboxes $i) -fi + i=$dirboxes[1] + shift dirboxes + if [[ -d "$i/cur" ]] + then + maildirboxes=( $maildirboxes $i ) + elif j=( $i/<1-> ) && [[ -n "$j" ]] + then + MHboxes=( $MHboxes $i ) + else + mboxes=( $mboxes $i/*(.) ) + dirboxes=( $dirboxes $i/*(/) ) + fi done -_mailbox_cache=(\! \< \> $muttboxes $mboxes $maildirboxes $MHboxes) +[[ -n "$muttboxes" ]] && + _mailbox_cache=(\! \< \> $muttboxes) +_mailbox_cache=($_mailbox_cache $mboxes $maildirboxes $MHboxes) fi |