1const std = @import("std");
2const common = @import("./_common.zig");
3
4pub usingnamespace common.Main(struct {
5 pub const source_file = "NameAliases";
6
7 pub const dest_file = "src/name_aliases.zig";
8
9 pub const dest_header =
10 \\pub const NameAlias = struct {
11 \\ code: u21,
12 \\ alias: []const u8,
13 \\ type: Type,
14 \\
15 \\ pub const Type = enum {
16 \\ correction,
17 \\ control,
18 \\ alternate,
19 \\ figment,
20 \\ abbreviation,
21 \\ };
22 \\};
23 \\
24 \\pub const data = [_]NameAlias{
25 \\
26 ;
27
28 pub const dest_footer =
29 \\};
30 \\
31 ;
32
33 pub fn exec(alloc: std.mem.Allocator, line: []const u8, writer: anytype) !void {
34 _ = alloc;
35 var it = std.mem.splitScalar(u8, line, ';');
36
37 try writer.print(" .{{ .code = 0x{s}, .alias = \"{}\", .type = .{s} }},\n", .{
38 it.next().?,
39 std.zig.fmtEscapes(it.next().?),
40 it.next().?,
41 });
42 }
43});