From bd73a648242afb055d03406a87b67c156e087da2 Mon Sep 17 00:00:00 2001 From: Jackson Moore Date: Fri, 4 Sep 2026 12:01:22 +0200 Subject: Read raw acquisition packets --- lua/clever_f/acquisition_service.lua | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'lua/clever_f') diff --git a/lua/clever_f/acquisition_service.lua b/lua/clever_f/acquisition_service.lua index da9ae0f..99edf83 100644 --- a/lua/clever_f/acquisition_service.lua +++ b/lua/clever_f/acquisition_service.lua @@ -116,6 +116,8 @@ function TemporaryResourceScope.new(request, feedback) active = true, cursor_marker = nil, direct_marker = nil, + cursor_presentation_lease = nil, + input_packet = nil, } return scope end @@ -141,6 +143,14 @@ function TemporaryResourceScope:set_direct_marker(marker) return set_scope_resource(self, "direct_marker", marker) end +function TemporaryResourceScope:set_cursor_presentation_lease(lease) + return set_scope_resource(self, "cursor_presentation_lease", lease) +end + +function TemporaryResourceScope:set_input_packet(packet) + return set_scope_resource(self, "input_packet", packet) +end + function TemporaryResourceScope:release() local record = scope_records[self] if record == nil then @@ -309,6 +319,12 @@ function AcquisitionService:acquire(descriptor, context, position, count, macro_ local scope = self:start_temporary_scope(request) local record = service_records[self] local acquisition = record.policy:sample_acquisition() + local interactive = not request.macro_state.executing + scope:set_cursor_presentation_lease( + record.feedback:create_cursor_presentation_lease( + interactive and acquisition.hide_cursor_on_cmdline + ) + ) if acquisition.mark_cursor then scope:set_cursor_marker(record.feedback:create_cursor_marker( request.position, @@ -340,6 +356,7 @@ function AcquisitionService:acquire(descriptor, context, position, count, macro_ record.host:show_prompt(M.PROMPT) end record.transitions:BeginAcquisition(request.context, request.descriptor) + scope:set_input_packet(domain.InputPacket.from_table(record.host:read_input())) return request end -- cgit v1.2.3