╭─────────────╮ │scroll to top│ ╰─────────────╯ ╭ Title.zig ────────────────────────────────────────────────────╮ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ╰───────────────────────────────────────────────────────────────╯
╭────╮ ╭ clone ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ╮ │http│ ssh │ │ ╰────╯ ╰ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ╯
561 const col_idx = text_col * 2 + sub_col; 562 if (kept[row_idx][col_idx]) { 563 pattern |= @as(u6, 1) << @intCast(sub_row * 2 + sub_col); 564 } 565 } 566 } 567 const cp = sextantCodepoint(pattern); 568 var utf8_buf: [4]u8 = undefined; 569 const len = try std.unicode.utf8Encode(cp, &utf8_buf); 570 try rows[text_row].appendSlice(allocator, utf8_buf[0..len]); 571 } 572 } 573 } 574 575 var out: std.ArrayList(u8) = .empty; 576 errdefer out.deinit(allocator); 577 try out.appendSlice(allocator, rows[0].items); 578 try out.append(allocator, '\n'); 579 try out.appendSlice(allocator, rows[1].items); 580 try out.append(allocator, '\n'); 581 try out.appendSlice(allocator, rows[2].items); 582 return out.toOwnedSlice(allocator); 583 } 584