sup

A curses threads-with-tags style email client

sup.git

git clone https://supmua.dev/git/sup/
commit 209de5efa2323ce5c6e862d9331b74e9def99a97
parent 842809f63ee23c0bc0bb474110e460c085905c4a
Author: Rich Lane <rlane@club.cc.cmu.edu>
Date:   Sun, 16 Aug 2009 23:39:12 -0700

console: add/remove labels

Diffstat:
M lib/sup/modes/console-mode.rb | 12 ++++++++++++
1 file changed, 12 insertions(+), 0 deletions(-)
diff --git a/lib/sup/modes/console-mode.rb b/lib/sup/modes/console-mode.rb
@@ -6,6 +6,18 @@ class Console
   def initialize mode
     @mode = mode
   end
+
+  def query(query)
+    Enumerable::Enumerator.new(Index, :each_message, Index.parse_query(query))
+  end
+
+  def add_labels(query, *labels)
+    query(query).each { |m| m.labels += labels; m.save Index }
+  end
+
+  def remove_labels(query, *labels)
+    query(query).each { |m| m.labels -= labels; m.save Index }
+  end
 end
 
 class ConsoleMode < LogMode