diff --git a/cli/src/commands/queue.zig b/cli/src/commands/queue.zig index 7544b2a..e4c7ddf 100644 --- a/cli/src/commands/queue.zig +++ b/cli/src/commands/queue.zig @@ -8,6 +8,7 @@ const stdcrypto = std.crypto; const mode = @import("../mode.zig"); const db = @import("../db.zig"); const manifest_lib = @import("../manifest.zig"); +const progress = @import("../utils/progress.zig"); // Use modular queue structure const queue_mod = @import("queue/mod.zig"); @@ -352,8 +353,17 @@ fn executeQueue(allocator: std.mem.Allocator, args: []const []const u8, config: const args_str: []const u8 = if (args_override) |a| a else args_joined; const note_str: []const u8 = if (note_override) |n| n else ""; + // Show progress bar for multiple jobs (not in JSON mode) + var pb: ?progress.ProgressBar = null; + if (!options.json and job_names.items.len > 1) { + pb = progress.ProgressBar.init(allocator, job_names.items.len, "Queuing jobs..."); + } + defer if (pb) |*p| p.finish(); + for (job_names.items, 0..) |job_name, index| { - std.debug.print("Processing job {d}/{d}: {s}\n", .{ index + 1, job_names.items.len, job_name }); + if (!options.json and job_names.items.len == 1) { + std.debug.print("Processing job: {s}\n", .{job_name}); + } queueSingleJob( allocator, @@ -375,8 +385,13 @@ fn executeQueue(allocator: std.mem.Allocator, args: []const []const u8, config: continue; }; - std.debug.print("Successfully queued job '{s}'\n", .{job_name}); + if (!options.json and job_names.items.len == 1) { + std.debug.print("Successfully queued job '{s}'\n", .{job_name}); + } success_count += 1; + + // Update progress bar + if (pb) |*p| p.update(index + 1); } // Show summary