summaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
authorJackson Moore <jacksonmoore@tuta.io>2026-09-04 13:39:37 +0200
committerJackson Moore <jacksonmoore@tuta.io>2026-09-04 13:39:37 +0200
commit96890091a63da164c0b907bcb44a03ffe83c6026 (patch)
treeffab884e722b9ec7ab0f78dca44876307101c195 /lua
parent39394e207de59e6cfd6d92d8678d8085bbf2b90a (diff)
Resolve live primary direction
Diffstat (limited to '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