From f01f9bf9f529058d8907e89334f96340e12269f2 Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Thu, 1 Jan 2026 01:24:28 -0800 Subject: [PATCH] cmd/init: ask if zigmod should write the entry point --- src/cmd/init.zig | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/cmd/init.zig b/src/cmd/init.zig index 065ca47880e3933b572bffe5ba7bc70ce2415355..59c31699cea50cb2feaec29e98f86f0ccf1ed759 100644 --- a/src/cmd/init.zig +++ b/src/cmd/init.zig @@ -234,6 +234,40 @@ pub fn execute(self_name: []const u8, args: [][:0]u8) !void { } } } + + // ask about main.zig / mod.zig + if (!try extras.doesFileExist(null, entry orelse "main.zig")) { + const do = try inquirer.forConfirm(stdout, stdin, "It looks like your entry point doesn't exist. Do you want Zigmod to generate it for you?", gpa); + if (do) { + const file = try cwd.createFile(entry orelse "main.zig", .{}); + defer file.close(); + const w = file.writer(); + switch (ptype) { + .exe => { + try w.print( + \\const std = @import("std"); + \\const {s} = @import("{s}"); + \\ + \\pub fn main() void {{ + \\ // + \\}} + \\ + , + .{ + flatname, + name, + }, + ); + }, + .lib => { + try w.writeAll( + \\const std = @import("std"); + \\ + ); + }, + } + } + } } pub fn writeExeManifest(w: std.fs.File.Writer, id: string, name: string, license: ?string, description: ?string) !void { -- 2.54.0