commit 6bc5fac5b9321acacce27a93f30e576d343b1ee5
parent 4c36843665a06c9aff70119d905fa8e5ec4945a0
Author: Ben Walton <bwalton@artsci.utoronto.ca>
Date: Fri, 14 May 2010 11:22:24 -0400
Add global keybinding to clear all hooks
When developing/tweaking hooks, it's inconvenient to use the console
mode to run the clear hooks command. Add a globally available key
binding ('H') to trigger HookManager.clear. As this is now more
exposed in the UI, make HookManager flash a notice to the
BufferManager indicating that it cleared the hooks.
Signed-off-by: Ben Walton
Diffstat:
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/bin/sup b/bin/sup
@@ -86,6 +86,7 @@ global_keymap = Keymap.new do |k|
k.add :nothing, "Do nothing", :ctrl_g
k.add :recall_draft, "Edit most recent draft message", 'R'
k.add :show_inbox, "Show the Inbox buffer", 'I'
+ k.add :clear_hooks, "Clear all hooks", 'H'
k.add :show_console, "Show the Console buffer", '~'
## Submap for less often used keybindings
@@ -330,6 +331,8 @@ begin
end
when :show_inbox
BufferManager.raise_to_front ibuf
+ when :clear_hooks
+ HookManager.clear
when :show_console
b, new = bm.spawn_unless_exists("Console", :system => true) { ConsoleMode.new }
b.mode.run
diff --git a/lib/sup/hook.rb b/lib/sup/hook.rb
@@ -112,7 +112,7 @@ EOS
def enabled? name; !hook_for(name).nil? end
- def clear; @hooks.clear; end
+ def clear; @hooks.clear; BufferManager.flash "Hooks cleared" end
def clear_one k; @hooks.delete k; end
private