From 6f84a9a1458ff053d6dc7c1a66c1e03deb8e8793 Mon Sep 17 00:00:00 2001 From: Matthias Andreas Benkard Date: Fri, 15 Aug 2025 13:43:22 +0200 Subject: CommandContext: Add execute_command back, properly typed. --- src/cmd/lib/types.zig | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/cmd/lib') diff --git a/src/cmd/lib/types.zig b/src/cmd/lib/types.zig index 5990511..c1ce3c7 100644 --- a/src/cmd/lib/types.zig +++ b/src/cmd/lib/types.zig @@ -2,6 +2,9 @@ const std = @import("std"); const Allocator = std.mem.Allocator; const ArrayList = std.ArrayList; +const cmd = @import("../../cmd.zig"); +const Command = cmd.Command; + pub const CommandStatus = union(enum) { Code: u16, ExitShell, @@ -62,16 +65,20 @@ pub const InputSource = struct { } }; +pub const ExecuteCommandFn = *const fn (Command, Allocator, ?*OutputCapture, ?*InputSource) anyerror!CommandStatus; + pub const CommandContext = struct { allocator: Allocator, output_capture: ?*OutputCapture, input_source: ?*InputSource, + execute_command: ExecuteCommandFn, - pub fn init(allocator: Allocator, output_capture: ?*OutputCapture, input_source: ?*InputSource) CommandContext { + pub fn init(allocator: Allocator, output_capture: ?*OutputCapture, input_source: ?*InputSource, execute_command: ExecuteCommandFn) CommandContext { return CommandContext{ .allocator = allocator, .output_capture = output_capture, .input_source = input_source, + .execute_command = execute_command, }; } }; -- cgit v1.2.1