diff options
| -rw-r--r-- | lua/clever_f/acquisition_service.lua | 9 | ||||
| -rw-r--r-- | tests/run.lua | 3 |
2 files changed, 12 insertions, 0 deletions
diff --git a/lua/clever_f/acquisition_service.lua b/lua/clever_f/acquisition_service.lua index bf3a5e9..a81c501 100644 --- a/lua/clever_f/acquisition_service.lua +++ b/lua/clever_f/acquisition_service.lua @@ -183,6 +183,7 @@ function TemporaryResourceScope.new(request, feedback) cursor_presentation_lease = nil, input_packet = nil, acquired_target = nil, + resolved_target = nil, previous_input_trigger = nil, previous_target_source = nil, cached_target = nil, @@ -224,6 +225,10 @@ function TemporaryResourceScope:set_acquired_target(target) return set_scope_resource(self, "acquired_target", target) end +function TemporaryResourceScope:set_resolved_target(target) + return set_scope_resource(self, "resolved_target", target) +end + function TemporaryResourceScope:set_previous_input_trigger(trigger) return set_scope_resource(self, "previous_input_trigger", trigger) end @@ -632,7 +637,11 @@ function AcquisitionService:acquire(descriptor, context, position, count, macro_ if trigger ~= nil then local cached_target, source = M.read_previous_target(record.state) scope:set_cached_target(source, cached_target) + if cached_target ~= nil then + target = cached_target + end end + scope:set_resolved_target(target) return AcquisitionResult.new(request, { target = target, previous_input_trigger = trigger, diff --git a/tests/run.lua b/tests/run.lua index 89f6273..c968d87 100644 --- a/tests/run.lua +++ b/tests/run.lua @@ -5245,6 +5245,9 @@ test("Acquisition compares first codes with previous-input triggers", function() ) same(domain.ModeContext.from_full_mode("v"), result.previous_target_source) same(service:last_temporary_scope().cached_target, result.cached_target) + same("x", service:last_temporary_scope().acquired_target.value) + same(result.cached_target, service:last_temporary_scope().resolved_target) + same(result.cached_target, result.target) local trigger, index = acquisition_service.match_previous_input_trigger( 0x3042, { "x", "\227\129\130more" } |
