For each account you can define an address book by providing a subsection named abook. Crucially, this section needs an option type that specifies the type of the address book. The only types supported at the moment are “shellcommand” and “abook”:
Address books of this type use a shell command in combination with a regular expression to look up contacts.
The value of command will be called with the search prefix as only argument for lookups. Its output is searched for email-name pairs using the regular expression given as regexp, which must include named groups “email” and “name” to match the email address and realname parts respectively. See below for an example that uses abook
[accounts]
[[youraccount]]
# ...
[[[abook]]]
type = shellcommand
command = abook --mutt-query
regexp = '^(?P<email>[^@]+@[^\t]+)\t+(?P<name>[^\t]+)'
See here for alternative lookup commands. The few others I have tested so far are:
for cached google contacts lookups. Works with the above default regexp
command = goobook query
regexp = '^(?P<email>[^@]+@[^\t]+)\t+(?P<name>[^\t]+)'
completes contacts found in the notmuch index:
command = nottoomuch-addresses.sh
regexp = \"(?P<name>.+)\"\s*<(?P<email>.*.+?@.+?)>
Don’t hesitate to send me your custom regexp values to list them here.
Address books of this type directly parse abooks contact files. You may specify a path using the “abook_contacts_file” option, which defaults to ~/.abook/addressbook. To use the default path, simply do this:
[accounts]
[[youraccount]]
# ...
[[[abook]]]
type = abook