diff options
| author | Maxime Coste <mawww@kakoune.org> | 2019-04-15 23:53:47 +1000 |
|---|---|---|
| committer | Maxime Coste <mawww@kakoune.org> | 2019-04-15 23:56:49 +1000 |
| commit | 6b79c1e000ab3f244f0e7f0d576aba77819f2818 (patch) | |
| tree | c161c0c15b525ff790a6fb8cdd5f7eaa6a936649 /src/hook_manager.cc | |
| parent | ac73f7c27fc0eafc854ac1a3a17a231dee68eb52 (diff) | |
Support named captures in hooks
Fixes #2857
Diffstat (limited to 'src/hook_manager.cc')
| -rw-r--r-- | src/hook_manager.cc | 3 |
1 files changed, 3 insertions, 0 deletions
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) }); |
