diff options
| author | Jackson Moore <jacksonmoore@tuta.io> | 2026-09-04 11:08:04 +0200 |
|---|---|---|
| committer | Jackson Moore <jacksonmoore@tuta.io> | 2026-09-04 11:08:04 +0200 |
| commit | 709698574def8a35af8b70fdc794040cd9ca30ef (patch) | |
| tree | 187bcd1b799c28e6b173ffe85897f8086f5dfc91 /lua/clever_f | |
| parent | 298d76ad4b5841f3b2482fd8f3b320af7f7b915a (diff) | |
Preserve timely repetition
Diffstat (limited to 'lua/clever_f')
| -rw-r--r-- | lua/clever_f/repeat_resolver.lua | 9 |
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 |
