summaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
authorJackson Moore <jacksonmoore@tuta.io>2026-09-04 11:05:20 +0200
committerJackson Moore <jacksonmoore@tuta.io>2026-09-04 11:05:20 +0200
commit741bb9b9ddd97429e28baa72941316033286c861 (patch)
tree186c527072f6ed59f14cf73432b2fdd945e47ecc /lua
parent8a5ddffaf3425c208338daa6cf504dcdeda4a97b (diff)
Acquire during macro execution
Diffstat (limited to 'lua')
-rw-r--r--lua/clever_f/repeat_resolver.lua13
1 files changed, 10 insertions, 3 deletions
diff --git a/lua/clever_f/repeat_resolver.lua b/lua/clever_f/repeat_resolver.lua
index 086282b..6bf5205 100644
--- a/lua/clever_f/repeat_resolver.lua
+++ b/lua/clever_f/repeat_resolver.lua
@@ -62,12 +62,15 @@ function RepeatResolver:previous_landing(context)
return resolver_records[self].state:get_previous_landing(context)
end
-function RepeatResolver:decide(context, current_position)
+function RepeatResolver:decide(context, current_position, macro_state)
current_position = domain.Position.coerce(current_position)
local landing = self:previous_landing(context)
if landing == nil or not domain.Position.equal(landing, current_position) then
return M.Decision.ACQUIRE
end
+ if domain.MacroState.new(macro_state).executing then
+ return M.Decision.ACQUIRE
+ end
return nil
end
@@ -82,8 +85,12 @@ M.landing = function(context, options)
return RepeatResolver.new(options):previous_landing(context)
end
-function M.decide(context, current_position, options)
- return RepeatResolver.new(options):decide(context, current_position)
+function M.decide(context, current_position, macro_state, options)
+ return RepeatResolver.new(options):decide(
+ context,
+ current_position,
+ macro_state
+ )
end
M.eligibility = M.decide