1const std = @import("std");
2const common = @import("./_common.zig");
3
4pub usingnamespace common.Main(struct {
5 pub const source_file = "NamedSequencesProv";
6
7 pub const dest_file = "src/named_sequences_prov.zig";
8
9 pub const dest_header =
10 \\pub const NamedSequence = struct {
11 \\ name: []const u8,
12 \\ sequence: []const u21,
13 \\};
14 \\
15 \\pub const data = [_]NamedSequence{
16 \\
17 ;
18
19 pub const dest_footer =
20 \\};
21 \\
22 ;
23
24 pub fn exec(alloc: std.mem.Allocator, line: []const u8, writer: anytype) !void {
25 _ = alloc;
26 var it = std.mem.splitScalar(u8, line, ';');
27
28 try writer.print(" .{{ .name = \"{}\", .sequence = &[_]u21{{", .{std.zig.fmtEscapes(it.next().?)});
29
30 var jt = std.mem.tokenizeScalar(u8, it.next().?, ' ');
31 while (jt.next()) |jtem| {
32 try writer.print(" 0x{s},", .{jtem});
33 }
34 try writer.writeAll(" } },\n");
35 }
36});