about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDuncaen <mail@duncano.de>2019-01-28 10:58:27 +0100
committerLeah Neukirchen <chneukirchen@gmail.com>2020-05-15 18:41:13 +0200
commit3968f2ef03290de2bd77ba5f63470fc1e0d133e1 (patch)
tree794beccd29c720b5a6558ea86b783f71cb0d2328
parent401aa88752bc0d02d27bc4b17a612c2e3a4df3f5 (diff)
downloadmblaze-3968f2ef03290de2bd77ba5f63470fc1e0d133e1.tar.gz
mblaze-3968f2ef03290de2bd77ba5f63470fc1e0d133e1.tar.xz
mblaze-3968f2ef03290de2bd77ba5f63470fc1e0d133e1.zip
mpick: add skip expression
-rw-r--r--man/mpick.11
-rw-r--r--mpick.c5
2 files changed, 6 insertions, 0 deletions
diff --git a/man/mpick.1 b/man/mpick.1
index 2ad942e..64a63d1 100644
--- a/man/mpick.1
+++ b/man/mpick.1
@@ -105,6 +105,7 @@ tests are given by the following EBNF:
              | <strprop> <strop> <str>
              | prune             -- do not match further messages in thread
              | print             -- always true value
+             | skip              -- always false value
 
 <flagprop> ::= child | draft | flagged | info | new | parent | passed
              | replied  | seen | selected | trashed
diff --git a/mpick.c b/mpick.c
index 0427519..c4a4207 100644
--- a/mpick.c
+++ b/mpick.c
@@ -274,6 +274,11 @@ parse_inner()
 	} else if (token("print")) {
 		struct expr *e = mkexpr(EXPR_PRINT);
 		return e;
+	} else if (token("skip")) {
+		struct expr *e = mkexpr(EXPR_PRINT);
+		struct expr *not = mkexpr(EXPR_NOT);
+		not->a.expr = e;
+		return not;
 	} else if (token("!")) {
 		struct expr *e = parse_cmp();
 		struct expr *not = mkexpr(EXPR_NOT);