about summary refs log tree commit diff
path: root/Completion/Unix
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix')
-rw-r--r--Completion/Unix/Command/_mutt39
1 files changed, 39 insertions, 0 deletions
diff --git a/Completion/Unix/Command/_mutt b/Completion/Unix/Command/_mutt
new file mode 100644
index 000000000..7898a0527
--- /dev/null
+++ b/Completion/Unix/Command/_mutt
@@ -0,0 +1,39 @@
+#compdef mutt
+
+local curcontext="$curcontext" state line suf
+typeset -A opt_args
+
+_arguments -C -s \
+    '::recipient:->userhost' \
+    '*-a[attach file using MIME]:file attachment:_files' \
+    '*-b[specify a BCC recipient]:BCC recepient:->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" = userhost ]]; 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" && return 0
+  fi
+fi
+
+return 1