╭─────────────╮ │scroll to top│ ╰─────────────╯ ╭ main.zig ─────────────────────────────────────────────────────╮ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ╰───────────────────────────────────────────────────────────────╯
╭────╮ ╭ clone ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ╮ │http│ ssh │ │ ╰────╯ ╰ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ╯
55 allocator: std.mem.Allocator, 56 args: []const []const u8, 57 cwd_path: []const u8, 58 run_opts: RunOpts, 59 ) !void { 60 var cmd_args = try cmd.CommandArgs.init(allocator, args); 61 defer cmd_args.deinit(); 62 63 switch (try cmd.CommandDispatch.init(&cmd_args)) { 64 .invalid => |invalid| switch (invalid) { 65 .command => |command| { 66 try run_opts.err.print("\"{s}\" is not a valid command\n\n", .{command}); 67 try cmd.printHelp(null, run_opts.err); 68 return error.HandledError; 69 }, 70 .argument => |argument| { 71 try run_opts.err.print("\"{s}\" is not a valid argument\n\n", .{argument.value}); 72 try cmd.printHelp(argument.command, run_opts.err); 73 return error.HandledError; 74 }, 75 }, 76 .help => |cmd_kind_maybe| try cmd.printHelp(cmd_kind_maybe, run_opts.out), 77 .cli => |cli_cmd| switch (cli_cmd) { 78 .serve => { 79 try serve.run(repo_kind, any_repo_opts, io, allocator, cwd_path, .{ 80 .http_listen = cli_cmd.serve.http_listen, 81 .ssh_listen = cli_cmd.serve.ssh_listen, 82 .wui_listen = cli_cmd.serve.wui_listen, 83 .data_dir = cli_cmd.serve.data_dir, 84 .tui = cli_cmd.serve.tui, 85 }, run_opts.err); 86 }, 87 .ssh_helper => { 88 try ssh_helper.run(io, allocator, .{ 89 .ssh_connect = cli_cmd.ssh_helper.ssh_connect, 90 .service = cli_cmd.ssh_helper.service, 91 .dir = cli_cmd.ssh_helper.dir, 92 }, run_opts.environ_map); 93 }, 94 }, 95 } 96 } 97