sup

A curses threads-with-tags style email client

sup.git

git clone https://supmua.dev/git/sup/
commit 8df45b735e37ee278bb0ff4f409955abfb8df0cd
parent 8818a4e2e8a4bf95df1d5d7ed5689bb5a34abb48
Author: Whyme Lyu <callme5long@gmail.com>
Date:   Sun, 19 May 2013 15:26:58 +0800

Initial attempt that works

Diffstat:
M lib/sup/modes/console_mode.rb | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/lib/sup/modes/console_mode.rb b/lib/sup/modes/console_mode.rb
@@ -12,11 +12,19 @@ class Console
   end
 
   def add_labels(query, *labels)
-    query(query).each { |m| m.labels += labels; m.save Index }
+    query(query).each do |m|
+      labels.each {|l| m.add_label l }
+      Index.update_message_state m
+    end
+    Index.save_index
   end
 
   def remove_labels(query, *labels)
-    query(query).each { |m| m.labels -= labels; m.save Index }
+    query(query).each do |m|
+      labels.each {|l| m.remove_label l }
+      Index.update_message_state m
+    end
+    Index.save_index
   end
 
   def xapian; Index.instance.instance_variable_get :@xapian; end