summaryrefslogtreecommitdiff
path: root/lua/clever_f
diff options
context:
space:
mode:
authorJackson Moore <jacksonmoore@tuta.io>2026-09-04 13:40:00 +0200
committerJackson Moore <jacksonmoore@tuta.io>2026-09-04 13:40:00 +0200
commitae1c33d38ae1d7ae0a393298d1a92b711ab4d7d7 (patch)
tree2899451d70a5a3f8ef67c3b548cda1dea1a09e39 /lua/clever_f
parent96890091a63da164c0b907bcb44a03ffe83c6026 (diff)
Preserve stored motion family
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,