╭ changed ───╮ │src/main.zig│ ╰────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭───────────────────────────────────────────────────╮ │ 4 const rp = xit.repo; │ │ 5 const cmd = @import("./command.zig"); │ │ 6 const serve = @import("./serve.zig"); │ │ 7 +const ssh_helper = @import("./ssh_helper.zig");│ │ 8 │ │ 9 pub const RunOpts = struct { │ │10 out: *std.Io.Writer, │ ╰───────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────╮ │78 if (cli_cmd == .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 .project_root = cli_cmd.serve.project_root, │ │83 }, run_opts.err); │ │84 + return; │ │85 + } │ │86 + if (cli_cmd == .ssh_helper) { │ │87 + try ssh_helper.run(io, allocator, .{ │ │88 + .ssh_connect = cli_cmd.ssh_helper.ssh_connect, │ │89 + .service = cli_cmd.ssh_helper.service, │ │90 + .dir = cli_cmd.ssh_helper.dir, │ │91 + }, run_opts.environ_map); │ │92 return; │ │93 } │ │94 │ ╰───────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────╮ │103 return; │ │104 }, │ │105 .serve => unreachable, │ │106 + .ssh_helper => unreachable, │ │107 }; │ │108 defer allocator.free(work_path);│ │109 │ ╰─────────────────────────────────────────────────╯ ╭────────────────────────────────────────╮ │189 }); │ │190 }, │ │191 .serve => unreachable, │ │192 + .ssh_helper => unreachable,│ │193 } │ │194 } │ │195 │ ╰────────────────────────────────────────╯