From 6b79c1e000ab3f244f0e7f0d576aba77819f2818 Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Mon, 15 Apr 2019 23:53:47 +1000 Subject: Support named captures in hooks Fixes #2857 --- src/hook_manager.cc | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/hook_manager.cc') diff --git a/src/hook_manager.cc b/src/hook_manager.cc index 82f14512..d27bf731 100644 --- a/src/hook_manager.cc +++ b/src/hook_manager.cc @@ -117,6 +117,9 @@ void HookManager::run_hook(Hook hook, StringView param, Context& context) for (size_t i = 0; i < to_run.captures.size(); ++i) env_vars.insert({format("hook_param_capture_{}", i), {to_run.captures[i].first, to_run.captures[i].second}}); + for (auto& c : to_run.hook->filter.impl()->named_captures) + env_vars.insert({format("hook_param_capture_{}", c.name), + {to_run.captures[c.index].first, to_run.captures[c.index].second}}); CommandManager::instance().execute(to_run.hook->commands, context, { {}, std::move(env_vars) }); -- cgit v1.2.3