summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2018-08-16 21:09:51 +1000
committerMaxime Coste <mawww@kakoune.org>2018-08-16 21:09:51 +1000
commit293610a432f156e0febaecbcc32f5907559e3174 (patch)
tree81531392eac056df2a4d1b2195c3bde7d23253c5 /src
parent4387b1ac901ba1a539c00654a7ab9667772709f6 (diff)
Add a test case for -once hooks and code style tweaks
Diffstat (limited to 'src')
-rw-r--r--src/commands.cc4
-rw-r--r--src/hook_manager.cc5
2 files changed, 3 insertions, 6 deletions
diff --git a/src/commands.cc b/src/commands.cc
index 9d33e85d..98cbdbad 100644
--- a/src/commands.cc
+++ b/src/commands.cc
@@ -861,8 +861,8 @@ const CommandDesc add_hook_cmd = {
Regex regex{parser[2], RegexCompileFlags::Optimize};
const String& command = parser[3];
auto group = parser.get_switch("group").value_or(StringView{});
- const auto flags = (parser.get_switch("always") ? HookFlags::Always : HookFlags::None) \
- | (parser.get_switch("once") ? HookFlags::Once : HookFlags::None);
+ const auto flags = (parser.get_switch("always") ? HookFlags::Always : HookFlags::None) |
+ (parser.get_switch("once") ? HookFlags::Once : HookFlags::None);
get_scope(parser[0], context).hooks().add_hook(parser[1], group.str(), flags,
std::move(regex), command);
}
diff --git a/src/hook_manager.cc b/src/hook_manager.cc
index 8dabb66a..3b63ee56 100644
--- a/src/hook_manager.cc
+++ b/src/hook_manager.cc
@@ -126,10 +126,7 @@ void HookManager::run_hook(StringView hook_name, StringView param, Context& cont
if (to_run.hook->flags & HookFlags::Once)
{
- auto it = std::find_if(hook_list->value.begin(), hook_list->value.end(),
- [&](const std::unique_ptr<Hook>& h)
- { return h.get() == to_run.hook; });
-
+ auto it = find(hook_list->value, to_run.hook);
m_hooks_trash.push_back(std::move(*it));
hook_list->value.erase(it);
}