about summary refs log tree commit diff
path: root/src/main.zig
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/main.zig15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/main.zig b/src/main.zig
index 60e40fe..65e323b 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -84,6 +84,8 @@ const Cli = struct {
                 .flags = &.{
                     .{ .name = "-f" },
                     .{ .name = "--force" },
+                    .{ .name = "-l" },
+                    .{ .name = "--list" },
                 },
                 .handler = &Cli.gen,
             },
@@ -110,7 +112,7 @@ const Cli = struct {
             \\  mdn SOURCE-FILE TARGET-DIR
             \\    build markdown files (using pandoc)
             \\
-            \\  gen ROOT-DIR TARGET-DIR
+            \\  gen [-f, --force] [-l, --list] ROOT-DIR TARGET-DIR
             \\    runs build for relevant files
             \\
             \\  serve ROOT-DIR
@@ -216,6 +218,17 @@ const Cli = struct {
             const full_path = try std.fs.path.join(gpa, &.{ root_path, path });
             defer gpa.free(full_path);
 
+            if (flags.contains("-l") or flags.contains("--list")) {
+                // only print
+                if (mdn.contains(md_name)) {
+                    try Io.File.stdout().writeStreamingAll(io, md_path);
+                    try Io.File.stdout().writeStreamingAll(io, "\n");
+                }
+                try Io.File.stdout().writeStreamingAll(io, full_path);
+                try Io.File.stdout().writeStreamingAll(io, "\n");
+                continue;
+            }
+
             if (mdn.contains(md_name)) {
                 const mdnNode = if (!DEBUG) mdnProgress.start(md_name, 0);
                 defer if (!DEBUG) mdnNode.end();