From 485678413ca988b9de84ae7110979599794c1739 Mon Sep 17 00:00:00 2001
From: Carl Worth <cworth@cworth.org>
Date: Thu, 15 Apr 2010 13:15:27 -0700
Subject: [PATCH] TODO: Add some ideas about better search syntax

Recent coding around the "*" feature suggests some improvements that
we could make, (some of which might push us into writing a custom
query parser rather than using the one that exists in Xapian).
---
 TODO | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/TODO b/TODO
index 85ef2f58..23585c80 100644
--- a/TODO
+++ b/TODO
@@ -208,6 +208,32 @@ notmuch searches. Here was one proposal made in IRC:
 Provide a ~me Xapian synonym for all of the user's configured email
 addresses.
 
+Search syntax
+-------------
+Implement support for "tag:*" to expand to all tags.
+
+Fix "notmuch search to:" to be less confusing. Many users expect this
+to search for all messages with a To: header, but it instead searches
+for all messages with the word "to". If we don't provide the first
+behavior, perhaps we should exit on an error when a configured prefix
+is provided with no value?
+
+Support "*" in all cases and not just as a special case. That is, "* "
+should also work, as well as "* and tag:inbox".
+
+Implement a syntax for requesting set-theoertic operations on results
+of multiple searches. For example, I would like to do:
+
+	"tag:inbox" SET-SUBTRACT "tag:muted"
+
+    as well as:
+
+	"tag:notmuch and <date-range>" SET-INTERSECT
+	"tag:notmuch and not (tag:merged or tag:postponed)"
+
+    See id:3wdpr282yz2.fsf@testarossa.amd.com for more details on the
+    use cases of the above.
+
 Database changes
 ----------------
 Store a reference term for every message-id that appears in
-- 
2.45.2