scheme = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )
fn isValidScheme(scheme: []const u8) bool
fn isValidScheme(scheme: []const u8) bool {
if (scheme.len == 0) return false;
if (!std.ascii.isAlphabetic(scheme[0])) return false;
for (scheme[1..]) |byte| {
switch (byte) {
'A'...'Z', 'a'...'z', '0'...'9', '+', '-', '.' => continue,
else => return false,
}
}
return true;
}