diff options
Diffstat (limited to 'lua/clever_f')
| -rw-r--r-- | lua/clever_f/sequence_coordinator.lua | 8 |
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, |
