diff --git a/src/util/funcs.zig b/src/util/funcs.zig index ba2e4336e8eb81c676f77967f2b7af91f2e0cff1..40703c648c49dd11cfeeba672fb2cefe744d9e87 100644 --- a/src/util/funcs.zig +++ b/src/util/funcs.zig @@ -130,3 +130,18 @@ pub fn list_contains_gen(comptime T: type, haystack: *std.ArrayList(T), needle: } return false; } + +pub fn file_list(dpath: []const u8, list: *std.ArrayList([]const u8)) !void { + var walk = try std.fs.walkPath(gpa, dpath); + while (true) { + if (try walk.next()) |entry| { + if (entry.kind != .File) { + continue; + } + try list.append(try gpa.dupe(u8, entry.path)); + } + else { + break; + } + } +}