summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2015-07-08 14:00:50 +0100
committerMaxime Coste <frrrwww@gmail.com>2015-07-08 14:00:50 +0100
commitf1c286e5924ee7bb377de57972cd40f3f56caea1 (patch)
treed06c6634b01de5233b3d0d108abec03f838a8c65 /src
parent883a14e8531162c51c6b64b1405efccb6fc1fa8e (diff)
Notify user when some hooks failed
Diffstat (limited to 'src')
-rw-r--r--src/hook_manager.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/hook_manager.cc b/src/hook_manager.cc
index 2afb80ac..9cdfb10b 100644
--- a/src/hook_manager.cc
+++ b/src/hook_manager.cc
@@ -3,6 +3,8 @@
#include "containers.hh"
#include "context.hh"
#include "buffer_utils.hh"
+#include "display_buffer.hh"
+#include "face_registry.hh"
#include "regex.hh"
namespace Kakoune
@@ -48,6 +50,7 @@ void HookManager::run_hook(StringView hook_name,
return;
auto& disabled_hooks = context.options()["disabled_hooks"].get<Regex>();
+ bool hook_error = false;
for (auto& hook : hook_list_it->second)
{
if (not hook.first.empty() and not disabled_hooks.empty() and
@@ -60,10 +63,16 @@ void HookManager::run_hook(StringView hook_name,
}
catch (runtime_error& err)
{
+ hook_error = true;
write_to_debug_buffer(format("error running hook {}/{}: {}",
hook_name, hook.first, err.what()));
}
}
+
+ if (hook_error)
+ context.print_status({
+ format("Error running hooks for '{}' '{}', see *debug* buffer",
+ hook_name, param), get_face("Error") });
}
}