╭─────────────╮ │scroll to top│ ╰─────────────╯ ╭ migrate_langref.zig ──────────────────────────────────────────╮ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ╰───────────────────────────────────────────────────────────────╯
╭ find file ─ ─ ─ ─ ─ ─ ─ ─ ─ ─╮ ╭────╮ ╭ clone ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ╮ │ │ │http│ ssh │ │ ╰ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─╯ ╰────╯ ╰ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ╯
438 } 439 440 fn urlize(allocator: Allocator, input: []const u8) ![]u8 { 441 var buf = std.array_list.Managed(u8).init(allocator); 442 defer buf.deinit(); 443 444 const out = buf.writer(); 445 for (input) |c| { 446 switch (c) { 447 'a'...'z', 'A'...'Z', '_', '-', '0'...'9' => { 448 try out.writeByte(c); 449 }, 450 ' ' => { 451 try out.writeByte('-'); 452 }, 453 else => {}, 454 } 455 } 456 return try buf.toOwnedSlice(); 457 } 458