mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-25 04:18:08 +01:00
3cc8ed5978
The new outputs allow printing senders, recipients or both of matching messages. To print both, the user can use --output=sender and --output=recipients simultaneously. Currently, the same address can appear multiple times in the output. The next commit will change this. For this reason, tests are introduced there. We use mailbox_t rather than InternetAddressMailbox because we will need to extend it in a following commit. This code is based on a patch from Jani Nikula.
75 lines
1.9 KiB
Bash
75 lines
1.9 KiB
Bash
#compdef notmuch
|
|
|
|
# ZSH completion for `notmuch`
|
|
# Copyright © 2009 Ingmar Vanhassel <ingmar@exherbo.org>
|
|
|
|
_notmuch_commands()
|
|
{
|
|
local -a notmuch_commands
|
|
notmuch_commands=(
|
|
'setup:interactively set up notmuch for first use'
|
|
'new:find and import any new message to the database'
|
|
'search:search for messages matching the search terms, display matching threads as results'
|
|
'reply:constructs a reply template for a set of messages'
|
|
'show:show all messages matching the search terms'
|
|
'tag:add or remove tags for all messages matching the search terms'
|
|
'dump:creates a plain-text dump of the tags of each message'
|
|
'restore:restores the tags from the given file'
|
|
'help:show details on a command'
|
|
)
|
|
|
|
_describe -t command 'command' notmuch_commands
|
|
}
|
|
|
|
_notmuch_dump()
|
|
{
|
|
_files
|
|
}
|
|
|
|
_notmuch_help_topics()
|
|
{
|
|
local -a notmuch_help_topics
|
|
notmuch_help_topics=(
|
|
'search-terms:show common search-terms syntax'
|
|
)
|
|
_describe -t notmuch-help-topics 'topic' notmuch_help_topics
|
|
}
|
|
|
|
_notmuch_help()
|
|
{
|
|
_alternative \
|
|
_notmuch_commands \
|
|
_notmuch_help_topics
|
|
}
|
|
|
|
_notmuch_restore()
|
|
{
|
|
_files
|
|
}
|
|
|
|
_notmuch_search()
|
|
{
|
|
_arguments -s : \
|
|
'--max-threads=[display only the first x threads from the search results]:number of threads to show: ' \
|
|
'--first=[omit the first x threads from the search results]:number of threads to omit: ' \
|
|
'--sort=[sort results]:sorting:((newest-first\:"reverse chronological order" oldest-first\:"chronological order"))' \
|
|
'--output=[select what to output]:output:((summary threads messages files tags sender recipients))'
|
|
}
|
|
|
|
_notmuch()
|
|
{
|
|
if (( CURRENT > 2 )) ; then
|
|
local cmd=${words[2]}
|
|
curcontext="${curcontext%:*:*}:notmuch-$cmd"
|
|
(( CURRENT-- ))
|
|
shift words
|
|
_call_function ret _notmuch_$cmd
|
|
return ret
|
|
else
|
|
_notmuch_commands
|
|
fi
|
|
}
|
|
|
|
_notmuch "$@"
|
|
|
|
# vim: set sw=2 sts=2 ts=2 et ft=zsh :
|