about summary refs log tree commit diff
path: root/src/main.zig
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2025-05-14 16:09:50 +0200
committerRobert Günzler <r@gnzler.io>2025-05-14 17:15:07 +0200
commitd2165de85ddc6df91b4ac56fe83b78d869c0a4b2 (patch)
treee94792325189651c0535ba53e76fabd2924da202 /src/main.zig
parenta7cf63d9c5975a72706eba87b19d3e4c07d907b3 (diff)
downloadsite-d2165de85ddc6df91b4ac56fe83b78d869c0a4b2.tar.gz
use switch for matching ref type
Signed-off-by: Robert Günzler <r@gnzler.io>
Diffstat (limited to '')
-rw-r--r--src/main.zig13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/main.zig b/src/main.zig
index 61ab139..9e74016 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -130,14 +130,11 @@ fn ref_name(_: std.mem.Allocator, w: std.io.AnyWriter, refname: []const u8) anye
 }
 
 fn template(allocator: std.mem.Allocator, w: std.io.AnyWriter, refname: []const u8) anyerror!void {
-    if (std.mem.startsWith(u8, refname, "/")) {
-        return try portal(allocator, w, refname[1..], false);
-    } else if (std.mem.startsWith(u8, refname, "@")) {
-        return try ref_link(allocator, w, refname[1..]);
-    } else if (std.mem.startsWith(u8, refname, "+")) {
-        return try ref_name(allocator, w, refname[1..]);
-    } else {
-        return try ref(allocator, w, refname);
+    switch (refname[0]) {
+        '/' => return try portal(allocator, w, refname[1..], false),
+        '@' => return try ref_link(allocator, w, refname[1..]),
+        '+' => return try ref_name(allocator, w, refname[1..]),
+        else => return try ref(allocator, w, refname),
     }
 }