[О блоге] [наверх] [пред] [2022-11-11 16:25:47+03:00] [dd04a8307d8525ff08b3fcb1507dfd2d62cb77d6]
Темы: [mail][zsh]

Дополнение имён почтовых ящиков

http://www.git.stargrave.org/?p=dotfiles.git;a=commitdiff;h=752967292719f7f312d8779d23c2659d3dbb25cf
http://www.git.stargrave.org/?p=dotfiles.git;a=commitdiff;h=9617ad122904870e08106ace6db96c46a2ffca95
Частенько я открываю MUA с чётко указанным почтовым ящиком. mutt -f =MBOX.
Проблема с "MBOX" в том, что если это например будет "go", то "=go" в zsh
раскроется в путь до go. Из-за этого я переименовывал почтовые ящики в
какой-нибудь "godev". Но набирать эти длинные имена геморройно. Можно
автоматически экранировать путь до ящика
(9c8126a531e8f20aa10c5baea299529807ed0a4e), история не будет дополняться
удобно при поиске из-за эти кавычек. Для простоты можно просто сделать
алиас типа mbox () { mutt -f "=$1" }. И теперь мне нужно дополнение
имени аргумента для mbox команды. Благо, в zsh это тривиально:

    local mboxes=()
    for m ($MAILDIR/*(/on)) mboxes=($mboxes $m:t)
    _mycomp_mbox () {
        [[ ${words[1]} == mbox ]] && _values mboxes $mboxes && return
    }

и добавить _mycomp_mbox в качестве completer-а.

    [оставить комментарий]