summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorDavid Bremner <david@tethera.net>2021-08-24 08:17:19 -0700
committerDavid Bremner <david@tethera.net>2021-09-04 17:07:19 -0700
commitf83cd2a05ac84ef4bf28f75c763b0688df3f4201 (patch)
tree499f73405bac25d3a786d755b827a59500a63401 /doc
parenta2785c3919c56a370a7f860f4eeb93846f4a1e63 (diff)
lib/parse-sexp: support and, not, and or.
All operations and (Xapian) fields will eventually have an entry in the prefixes table. The flags field is just a placeholder for now, but will eventually distinguish between various kinds of prefixes.
Diffstat (limited to 'doc')
-rw-r--r--doc/man7/notmuch-sexp-queries.rst16
1 files changed, 10 insertions, 6 deletions
diff --git a/doc/man7/notmuch-sexp-queries.rst b/doc/man7/notmuch-sexp-queries.rst
index d177934d..0304759e 100644
--- a/doc/man7/notmuch-sexp-queries.rst
+++ b/doc/man7/notmuch-sexp-queries.rst
@@ -51,7 +51,9 @@ subqueries.
(for most fields) or *or*. See :any:`fields` for more information.
``(`` *operator* |q1| |q2| ... |qn| ``)``
- Combine queries |q1| to |qn|. See :any:`operators` for more information.
+ Combine queries |q1| to |qn|. Currently supported operators are
+ ``and``, ``or``, and ``not``. ``(not`` |q1| ... |qn| ``)`` is equivalent
+ to ``(and (not`` |q1| ``) ... (not`` |qn| ``))``.
``(`` *modifier* |q1| |q2| ... |qn| ``)``
Combine queries |q1| to |qn|, and reinterpret the result (e.g. as a regular expression).
@@ -62,11 +64,6 @@ subqueries.
FIELDS
``````
-.. _operators:
-
-OPERATORS
-`````````
-
.. _modifiers:
MODIFIERS
@@ -82,6 +79,13 @@ EXAMPLES
Match all messages containing "added", but also those containing "add", "additional",
"Additional", "adds", etc... via stemming.
+``(and Bob Marley)``
+ Match messages containing words "Bob" and "Marley", or their stems
+ The words need not be adjacent.
+
+``(not Bob Marley)``
+ Match messages containing neither "Bob" nor "Marley", nor their stems,
+
.. |q1| replace:: :math:`q_1`
.. |q2| replace:: :math:`q_2`
.. |qn| replace:: :math:`q_n`