summaryrefslogtreecommitdiff
path: root/lua/clever_f/sequence_coordinator.lua
diff options
context:
space:
mode:
authorJackson Moore <jacksonmoore@tuta.io>2026-09-04 14:14:32 +0200
committerJackson Moore <jacksonmoore@tuta.io>2026-09-04 14:14:32 +0200
commite192a496e9264249ff60b625453a3f1227af2221 (patch)
treeccac8668f16ee015190364bf1fb62fb82fc439b0 /lua/clever_f/sequence_coordinator.lua
parent294d7efdf06efbaab0c68e0a2cf01185622c9241 (diff)
Fix reset action flow
Diffstat (limited to 'lua/clever_f/sequence_coordinator.lua')
-rw-r--r--lua/clever_f/sequence_coordinator.lua13
1 files changed, 13 insertions, 0 deletions
diff --git a/lua/clever_f/sequence_coordinator.lua b/lua/clever_f/sequence_coordinator.lua
index 59dc332..a83c75f 100644
--- a/lua/clever_f/sequence_coordinator.lua
+++ b/lua/clever_f/sequence_coordinator.lua
@@ -480,6 +480,19 @@ function SequenceCoordinator:last_explicit_resolution()
return coordinator_records[self].last_explicit_resolution
end
+function SequenceCoordinator:reset()
+ local record = coordinator_records[self]
+ local position = domain.Position.coerce(record.host:read_cursor())
+ local cleanup = record.transitions:PublicReset(record.host:read_window())
+ if type(record.feedback.release_transition_cleanup) ~= "function" then
+ fail("FeedbackService must release reset cleanup", 2)
+ end
+ record.feedback:release_transition_cleanup(cleanup)
+ return domain.ActionOutcome.neutral(position)
+end
+
+SequenceCoordinator.Reset = SequenceCoordinator.reset
+
function SequenceCoordinator:read_explicit_invocation()
local host = coordinator_records[self].host
if type(host) ~= "table"