summaryrefslogtreecommitdiff
path: root/lua/clever_f/sequence_coordinator.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/clever_f/sequence_coordinator.lua')
-rw-r--r--lua/clever_f/sequence_coordinator.lua9
1 files changed, 9 insertions, 0 deletions
diff --git a/lua/clever_f/sequence_coordinator.lua b/lua/clever_f/sequence_coordinator.lua
index 350c026..f5e8a95 100644
--- a/lua/clever_f/sequence_coordinator.lua
+++ b/lua/clever_f/sequence_coordinator.lua
@@ -276,6 +276,14 @@ function SequenceCoordinator:stored_primary_resolution(
if stored_descriptor == nil or stored_target == nil then
fail("repeat-eligible primary state must contain descriptor and target", 2)
end
+ local resolver = coordinator_records[self].repeat_resolver
+ if type(resolver.resolve_primary_direction) ~= "function" then
+ fail("SequenceCoordinator repeat resolver must resolve primary direction", 2)
+ end
+ local effective_descriptor = resolver:resolve_primary_direction(
+ stored_descriptor,
+ pressed_descriptor
+ )
return {
kind = "repeat",
invocation = invocation,
@@ -283,6 +291,7 @@ function SequenceCoordinator:stored_primary_resolution(
timeout = timeout,
stored_descriptor = stored_descriptor,
target = stored_target,
+ effective_descriptor = effective_descriptor,
}
end