]> git.notmuchmail.org Git - sup/blobdiff - lib/sup/buffer.rb
ask when quitting with unsaved buffers
[sup] / lib / sup / buffer.rb
index d4fe54963eed56c1340f594d1ce0cf013558519d..4785a14e5069ee0bf7610349541534f3d1ce4de3 100644 (file)
@@ -271,6 +271,21 @@ class BufferManager
     b
   end
 
+  def kill_all_buffers_safely
+    until @buffers.empty?
+      ## inbox mode always claims it's unkillable. we'll ignore it.
+      return false unless @buffers.first.mode.is_a?(InboxMode) || @buffers.first.mode.killable?
+      kill_buffer @buffers.first
+    end
+    true
+  end
+
+  def kill_buffer_safely buf
+    return false unless buf.mode.killable?
+    kill_buffer buf
+    true
+  end
+
   def kill_all_buffers
     kill_buffer @buffers.first until @buffers.empty?
   end