notmuch clon
Find a file
Jan Janak c3c52e464b notmuch: New function to retrieve all tags from the database.
This patch adds a new function called notmuch_database_get_all_tags
which can be used to obtain a list of all tags from the database
(in other words, the list contains all tags from all messages). The
function produces an alphabetically sorted list.

To add support for the new function, we rip the guts off of
notmuch_message_get_tags and put them in a new generic function
called _notmuch_convert_tags. The generic function takes a
Xapian::TermIterator as argument and uses the iterator to find tags.
This makes the function usable with different Xapian objects.

Function notmuch_message_get_tags is then reimplemented to call the
generic function with message->doc.termlist_begin() as argument.

Similarly, we implement notmuch_message_database_get_all_tags, the
function calls the generic function with db->xapian_db->allterms_begin()
as argument.

Finally, notmuch_database_get_all_tags is exported through
lib/notmuch.h

Signed-off-by: Jan Janak <jan@ryngle.com>
2009-11-26 07:01:52 -08:00
contrib Checkin some command-only tcsh completions 2009-11-20 18:15:19 +01:00
lib notmuch: New function to retrieve all tags from the database. 2009-11-26 07:01:52 -08:00
packaging/fedora notmuch build: add a RPM spec file 2009-11-20 10:37:38 +01:00
.gitignore Improve installation of emacs mode. 2009-11-20 10:34:29 +01:00
AUTHORS Drop date.c file, (use identical function from GMime instead). 2009-11-02 14:36:33 -08:00
configure notmuch-new: Only install SIGALRM if not running under gdb 2009-11-22 05:36:36 +01:00
COPYING Add copy of GNU General Public License (version 3). 2009-10-21 16:25:08 -07:00
COPYING-GPL-3 Add copy of GNU General Public License (version 3). 2009-10-21 16:25:08 -07:00
debugger.c notmuch-new: Only install SIGALRM if not running under gdb 2009-11-22 05:36:36 +01:00
gmime-filter-reply.c Filter out carriage-returns in show and reply output. 2009-11-18 23:34:43 +01:00
gmime-filter-reply.h Typsos 2009-11-18 03:21:36 -08:00
INSTALL INSTALL/notmuch.el: More details on how to install/run notmuch.el 2009-11-21 21:40:57 +01:00
Makefile makefile: Declare clean target as phony. 2009-11-23 03:41:31 +01:00
Makefile.config notmuch-new: Only install SIGALRM if not running under gdb 2009-11-22 05:36:36 +01:00
Makefile.local Add 'notmuch count' command to show the count of matching messages 2009-11-23 06:33:54 +01:00
notmuch-client.h Add 'notmuch count' command to show the count of matching messages 2009-11-23 06:33:54 +01:00
notmuch-config.c Support multiple configuration files via $NOTMUCH_CONFIG 2009-11-23 03:01:57 +01:00
notmuch-count.c Add 'notmuch count' command to show the count of matching messages 2009-11-23 06:33:54 +01:00
notmuch-dump.c lib/query: Drop the first and max_messages arguments from search_messages. 2009-11-23 20:25:13 -08:00
notmuch-new.c Stay out of tmp to respect the Maildir spec. 2009-11-23 18:29:01 -08:00
notmuch-reply.c lib/query: Drop the first and max_messages arguments from search_messages. 2009-11-23 20:25:13 -08:00
notmuch-restore.c Rename NOTMUCH_DATABASE_MODE_WRITABLE to NOTMUCH_DATABASE_MODE_READ_WRITE 2009-11-21 22:10:18 +01:00
notmuch-search.c notmuch search: Remove the chunked-searching hack. 2009-11-23 20:17:37 -08:00
notmuch-setup.c modify notmuch_setup_command to return 1 if config file write fails. 2009-11-25 19:24:27 -08:00
notmuch-show.c notmuch search: Remove the chunked-searching hack. 2009-11-23 20:17:37 -08:00
notmuch-tag.c lib/query: Drop the first and max_messages arguments from search_messages. 2009-11-23 20:25:13 -08:00
notmuch-time.c Add some const correctness to talloc 'ctx' parameter. 2009-11-17 19:10:37 -08:00
notmuch.1 notmuch search: Remove the chunked-searching hack. 2009-11-23 20:17:37 -08:00
notmuch.c notmuch search: Remove the chunked-searching hack. 2009-11-23 20:17:37 -08:00
notmuch.desktop Missing final semi-colon in .desktop's Categories. 2009-11-22 13:26:20 +01:00
notmuch.el notmuch.el: Remove some dead code. 2009-11-25 09:18:39 -08:00
query-string.c notmuch: Break notmuch.c up into several smaller files. 2009-11-10 12:03:05 -08:00
README README: Mention the actual mailing list address now that it exists. 2009-11-18 03:24:27 -08:00
show-message.c notmuch show: Don't hide a digital signature. 2009-11-21 01:00:41 +01:00
TODO Testing. 2009-11-25 09:39:10 -08:00

Notmuch - thread-based email index, search and tagging.

Notmuch is a system for indexing, searching, reading, and tagging
large collections of email messages. It uses the Xapian library to
provide fast, full-text search of very large collection of email with
a very convenient search syntax.

Notmuch is free software, released under the GNU General Public
License version 3 (or later).

Building notmuch
----------------
See the INSTALL file for notes on compiling and installing notmuch.

Contacting users and developers
-------------------------------
The website for Notmuch is:

	http://notmuchmail.org

The mailing list address for the notmuch community is:

	notmuch@notmuchmail.org

We welcome any sort of questions, comments, kudos, or code there.

Subscription is not required, (but if you do subscribe you'll avoid
any delay due to moderation). See the website for subscription
information.

There is also an IRC channel dedicated to talk about using and
developing notmuch:

	IRC server:	irc.freenode.net
	Channel:	#notmuch

Interface options
-----------------
Notmuch includes a "notmuch" command-line interface to the system.
This is not a very convenient interface and it is not expected that
users will find it satisfying. Instead, there are two option for
obtaining a more sophisticated interface:

     1. Build on top of the "notmuch" command-line interface.

	This might be a reasonable option for a very text-oriented
	client environment. For example, an emacs-based interface for
	notmuch is already under development and is available in the
	notmuch.el file in this distribution.

	If someone were to write a curses-based interface, or similar,
	it might also be reasonable to build on the "notmuch"
	command-line interface.

     2. Build on top of the notmuch library interface.

	This is a better choice for developing an interface that has
	full control of the presentation of email threads and
	messages. It is expected that anyone integrating Notmuch into
	an existing, graphical email program use the notmuch library
	interface.

	The public interface to the notmuch library is contained in
	the notmuch.h header file. The "notmuch" command-line program
	in notmuch.c can be used as good example code, since it is a
	simple program that is written on top of the library
	interface.

As can be seen, alternate interfaces to the Notmuch mail system are
still in development. We would appreciate any contributions to these
efforts.