diff options
author | makefunstuff <[email protected]> | 2024-07-03 01:26:15 +0200 |
---|---|---|
committer | makefunstuff <[email protected]> | 2024-07-03 01:26:15 +0200 |
commit | 227d41bbf89ae6401fdbbe536fc67d3bb908ee64 (patch) | |
tree | 299f0f029a84663ff2a41f3b74a1f0106ed85593 | |
parent | 2c2e3be090ff5217c9a776e5c9a816ebdff83539 (diff) | |
download | tinkerbunk-227d41bbf89ae6401fdbbe536fc67d3bb908ee64.tar.gz |
wip simple arg parse
-rw-r--r-- | src/brr.zig | 0 | ||||
-rw-r--r-- | src/main.zig | 41 |
2 files changed, 28 insertions, 13 deletions
diff --git a/src/brr.zig b/src/brr.zig new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/brr.zig diff --git a/src/main.zig b/src/main.zig index d712153..522eb43 100644 --- a/src/main.zig +++ b/src/main.zig @@ -3,6 +3,27 @@ const ls = @import("ls.zig"); const socket_server = @import("socket-server.zig"); const sdl_window = @import("sdl-window.zig"); +const commands = [_]u8{ "ls", "tcp", "window", "brr" }; +const Command = enum { + LS, + TCP, + WINDOW, + BRR, +}; + +const Arg = struct { + const Self = @This(); + + name: []const u8, + command: Command, + + fn parse(self: *Self) void { + inline for (commands) |command| { + if (std.mem.eql([]u8, command, self.name)) {} + } + } +}; + pub fn main() !void { var gpa = std.heap.GeneralPurposeAllocator(.{}){}; const allocator = gpa.allocator(); @@ -11,27 +32,21 @@ pub fn main() !void { const args = try std.process.argsAlloc(allocator); defer std.process.argsFree(allocator, args); - if (args.len == 2 and std.mem.eql(u8, args[1], "help")) { - print_help(); - return; - } - if (args.len == 2 and std.mem.eql(u8, args[1], "ls")) { - try ls.ls(); + if (args.len == 1) { + std.debug.print("No command provided. Use 'help' for usage information.\n", .{}); return; } - if (args.len == 2 and std.mem.eql(u8, args[1], "tcp-foo")) { - try socket_server.start_server(); - } - - if (args.len == 2 and std.mem.eql(u8, args[1], "window")) { - try sdl_window.present_sdl_window(); - } + if (args.len == 2) {} std.debug.print("Unknown command. Use 'help' for usage information.\n", .{}); print_help(); } +fn arg_is(arg: []const u8, target: []const u8) bool { + return std.mem.eql(u8, arg, target); +} + fn print_help() void { std.debug.print("[usage] tinkerbunk ls\n", .{}); } |