#compdef mutt

local curcontext="$curcontext" state line expl suf
typeset -A opt_args

_arguments -C -s															  \
	'::recipient:->recipients'												  \
	'*-a[attach file using MIME]:file attachment:_files'					  \
	'*-b[specify a BCC recipient]:BCC recipient:->recipients'				  \
	'*-c[specify a CC recipient]:CC recipient:->recipients'					  \
	'-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" = recipients ]]; then
	_description recipients expl 'mail recipients'
	_recipients  "$expl[@]" -q -S, && return 0
fi

return 1