summaryrefslogtreecommitdiff
path: root/lua/clever_f
diff options
context:
space:
mode:
Diffstat (limited to 'lua/clever_f')
-rw-r--r--lua/clever_f/sequence_coordinator.lua8
1 files changed, 5 insertions, 3 deletions
diff --git a/lua/clever_f/sequence_coordinator.lua b/lua/clever_f/sequence_coordinator.lua
index f5e8a95..0be5494 100644
--- a/lua/clever_f/sequence_coordinator.lua
+++ b/lua/clever_f/sequence_coordinator.lua
@@ -280,10 +280,12 @@ function SequenceCoordinator:stored_primary_resolution(
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
+ local effective_descriptor = domain.Descriptor.from_string(
+ resolver:resolve_primary_direction(stored_descriptor, pressed_descriptor)
)
+ if effective_descriptor.family ~= stored_descriptor.family then
+ fail("primary repetition must preserve the stored motion family", 2)
+ end
return {
kind = "repeat",
invocation = invocation,