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.
The completion script depends on bash-completion 1.90 or later, with
_init_completion function. If that's not present, for some reason, the
completion currently fails with an ugly message, messing up user's
command line:
$ notmuch -bash: _init_completion: command not found
It's better to just not complete
Rewrite the bash completion script to actually do something
useful. Supported completions:
* All the notmuch commands, command line arguments, and values for
keyword arguments.
* Tags after + and - in 'notmuch tag'.
* Config options in 'notmuch config', and some config option values.
* Search prefixes in all commands that use search terms.
* Tags after tag: prefix in search terms.
* User's email addresses after from: and to: in search terms.
This is all based on the bash-completion package [1], and will not
work without it.
[1] http://bash-completion.alioth.debian.org/
The original "contrib" name is lousy. Everything in notmuch has been
contributed, and we are integrating as much of it as possible, (rather
than making users grub through contrib looking for useful pieces to
install).
Meanwhile, the only things we have in contrib are command-line
completion scripts, so "completion" makes more sense as a name, (and
helps make "./configure" slightly less ambiguous).
2010-04-06 14:36:31 -07:00
Renamed from contrib/notmuch-completion.bash (Browse further)