summaryrefslogtreecommitdiff
path: root/lua/clever_f
diff options
context:
space:
mode:
authorJackson Moore <jacksonmoore@tuta.io>2026-09-04 12:49:46 +0200
committerJackson Moore <jacksonmoore@tuta.io>2026-09-04 12:49:46 +0200
commita3127187d21b6095db9314fd036b38a95b26df4a (patch)
tree1485a5b669e9dda9bccba2dc9eaac98f46756098 /lua/clever_f
parentcd8b1dae826390bebf5a4566f69008246d705c7c (diff)
Clean eager feedback resources
Diffstat (limited to 'lua/clever_f')
-rw-r--r--lua/clever_f/feedback_service.lua9
1 files changed, 9 insertions, 0 deletions
diff --git a/lua/clever_f/feedback_service.lua b/lua/clever_f/feedback_service.lua
index 3575f27..b79a5e7 100644
--- a/lua/clever_f/feedback_service.lua
+++ b/lua/clever_f/feedback_service.lua
@@ -151,6 +151,7 @@ local function require_transitions(transitions, state)
or type(transitions.AddFinalizer) ~= "function"
or type(transitions.RemoveFinalizer) ~= "function"
or type(transitions.FullFinalization) ~= "function"
+ or type(transitions.ClearTargetFeedback) ~= "function"
or type(transitions.SetHighlightTimer) ~= "function"
or type(transitions.ClearHighlightTimer) ~= "function"
then
@@ -836,6 +837,14 @@ function FeedbackService:handle_eager_event(name, payload)
mark_char = record.policy:sample_markers().mark_char,
cleaned = false,
}
+ if decision.mark_char then
+ local window = payload and payload.window or record.host:read_window()
+ local cleanup = record.transitions:ClearTargetFeedback(window)
+ release_highlight_timer(record, cleanup.highlight_timer)
+ release_target_overlays(record, cleanup.target_overlays)
+ decision.cleaned = true
+ decision.cleanup = cleanup
+ end
record.last_eager_decision = decision
return decision
end