diff --git a/src/cmd_init.zig b/src/cmd_init.zig index ff9af749ff17105afa5e8388bce2535aab8c8e97..4c2e2e5209ffc59044fe4dafb7bf21d5c6c5c152 100644 --- a/src/cmd_init.zig +++ b/src/cmd_init.zig @@ -14,6 +14,7 @@ pub fn execute(args: [][]u8) !void { defer file.close(); const fwriter = file.writer(); + try fwriter.print("id: {}\n", .{u.random_string(48)}); try fwriter.print("name: {}\n", .{name}); try fwriter.print("main: {}\n", .{mainf}); try fwriter.print("dependencies:\n", .{}); diff --git a/src/util/funcs.zig b/src/util/funcs.zig index 0aee1f8eac7517b6746625e8f535a65123d46c06..71ec15c5ae0bd18f36b251dbab4a8ea9bece802c 100644 --- a/src/util/funcs.zig +++ b/src/util/funcs.zig @@ -222,3 +222,17 @@ pub fn rm_recv(path: []const u8) anyerror!void { try std.fs.deleteFileAbsolute(abs_path); } } + +const alphabet = "0123456789abcdefghijklmnopqrstuvwxyz"; + +pub fn random_string(len: usize) ![]const u8 { + const now = @intCast(u64, std.time.nanoTimestamp()); + var rand = std.rand.DefaultPrng.init(now); + const r = &rand.random; + var buf = try gpa.alloc(u8, len); + var i: usize = 0; + while (i < len) : (i += 1) { + buf[i] = alphabet[r.int(usize)%alphabet.len]; + } + return buf; +}