╭─────────────╮ │scroll to top│ ╰─────────────╯ ╭ SubTitle.zig ─────────────────────────────────────────────────╮ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ╰───────────────────────────────────────────────────────────────╯
╭ find file ─ ─ ─ ─ ─ ─ ─ ─ ─ ─╮ ╭────╮ ╭ clone ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─╮ │ │ │http│ ssh │ │ ╰ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─╯ ╰────╯ ╰ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─╯
488 if (on[row_idx][col_idx]) { 489 pattern |= @as(u6, 1) << @intCast(sub_row * 2 + sub_col); 490 } 491 } 492 } 493 const cp = sextantCodepoint(pattern); 494 var utf8_buf: [4]u8 = undefined; 495 const len = try std.unicode.utf8Encode(cp, &utf8_buf); 496 try rows[text_row].appendSlice(allocator, utf8_buf[0..len]); 497 } 498 } 499 } 500 501 var out: std.ArrayList(u8) = .empty; 502 errdefer out.deinit(allocator); 503 try out.appendSlice(allocator, rows[0].items); 504 try out.append(allocator, '\n'); 505 try out.appendSlice(allocator, rows[1].items); 506 return out.toOwnedSlice(allocator); 507 } 508