57 lines
1.8 KiB
Plaintext
57 lines
1.8 KiB
Plaintext
#compdef muttng mutt
|
|
|
|
local curcontext="$curcontext" state line expl suf
|
|
typeset -A opt_args
|
|
|
|
_arguments -C -s \
|
|
'::recipient:->userhostalias' \
|
|
'*-a[attach file using MIME]:file attachment:_files' \
|
|
'*-b[specify a BCC recipient]:BCC recipient:->userhost' \
|
|
'*-c[specify a CC recipient]:CC recipient:->userhost' \
|
|
'-e+[specify a post-init configuration command]:post-init configuration:' \
|
|
'-f+[specify mailbox to load]:mailbox: _mailboxes' \
|
|
'-F+[specify an init file]:init file:_files' \
|
|
'-h[display help]' \
|
|
'-H+[specify a draft file for message]:draft file:_files' \
|
|
'-i+[specify file to include in message]:include file:_files' \
|
|
'-m+[specify default mailbox type]:mailbox type:(mbox MMDF MH Maildir)' \
|
|
'-n[bypass system configuration]' \
|
|
'-p[resume postponed message]' \
|
|
'-R[open in read-only mode]' \
|
|
'-s+[specify a subject]:subject:' \
|
|
'-v[display mutt version]' \
|
|
'-x[emulate mailx compose]' \
|
|
'-y[start listing mailboxes]' \
|
|
'-z[start only if new messages]' \
|
|
'-Z[open first mailbox with new mail]' && return 0
|
|
|
|
if [[ "$state" = userhostalias ]]; then
|
|
if compset -P '*@'; then
|
|
_description hosts expl 'remote host name'
|
|
_hosts "$expl[@]" -q -S, && return 0
|
|
else
|
|
compset -S '@*' || suf='@'
|
|
|
|
_description users expl 'login name'
|
|
_users "$expl[@]" -q -S "$suf"
|
|
|
|
# added by asyd (20020304)
|
|
if [ -r ~/.muttrc ]; then
|
|
|
|
# use cache
|
|
if ( [[ ${+_list_alias} -eq 0 ]] || _cache_invalid mutt_alias ) &&
|
|
! _retrieve_cache mutt_alias; then
|
|
|
|
_list_alias=(${(o)${${(M)${(f)"$(< ~/.muttrc)"}##alias*}/alias /}%% *})
|
|
|
|
_store_cache mutt_alias _list_alias
|
|
fi
|
|
|
|
_wanted alias expl 'alias name' compadd -q -S, $_list_alias
|
|
fi
|
|
return 0
|
|
|
|
fi
|
|
fi
|
|
|
|
return 1 |