about summary refs log tree commit diff
path: root/src/main.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.zig')
-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),
     }
 }