summaryrefslogtreecommitdiff
path: root/lua/clever_f
diff options
context:
space:
mode:
authorJackson Moore <jacksonmoore@tuta.io>2026-09-04 11:08:04 +0200
committerJackson Moore <jacksonmoore@tuta.io>2026-09-04 11:08:04 +0200
commit709698574def8a35af8b70fdc794040cd9ca30ef (patch)
tree187bcd1b799c28e6b173ffe85897f8086f5dfc91 /lua/clever_f
parent298d76ad4b5841f3b2482fd8f3b320af7f7b915a (diff)
Preserve timely repetition
Diffstat (limited to 'lua/clever_f')
-rw-r--r--lua/clever_f/repeat_resolver.lua9
1 files changed, 7 insertions, 2 deletions
diff --git a/lua/clever_f/repeat_resolver.lua b/lua/clever_f/repeat_resolver.lua
index 5368c49..2924bd6 100644
--- a/lua/clever_f/repeat_resolver.lua
+++ b/lua/clever_f/repeat_resolver.lua
@@ -166,9 +166,14 @@ function RepeatResolver:evaluate_timeout()
fail("repeat clock must return finite milliseconds", 2)
end
local record = resolver_records[self]
- local elapsed_ms = current_time - record.state.repeat_timestamp_ms
+ local elapsed_ms = M.truncate_elapsed_ms(
+ current_time - record.state.repeat_timestamp_ms
+ )
record.transitions:SetRepeatTimestamp(current_time)
- return nil, M.truncate_elapsed_ms(elapsed_ms)
+ if elapsed_ms <= timeout then
+ return M.Decision.REPEAT, elapsed_ms
+ end
+ return nil, elapsed_ms
end
RepeatResolver.check_timeout = RepeatResolver.evaluate_timeout