diff options
| author | 2024-03-26 21:59:53 -0400 | |
|---|---|---|
| committer | 2024-03-26 21:59:53 -0400 | |
| commit | 84db319ae1bb1b847614d096a5f737b8f71ce6e8 (patch) | |
| tree | 52a8733dd03a7343dc75c2d0c07f0d9b50700b52 /src/main.zig | |
| parent | Removed main (diff) | |
| download | zg-84db319ae1bb1b847614d096a5f737b8f71ce6e8.tar.gz zg-84db319ae1bb1b847614d096a5f737b8f71ce6e8.tar.xz zg-84db319ae1bb1b847614d096a5f737b8f71ce6e8.zip | |
rm src/main.zig
Diffstat (limited to 'src/main.zig')
| -rw-r--r-- | src/main.zig | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/src/main.zig b/src/main.zig deleted file mode 100644 index 52d823c..0000000 --- a/src/main.zig +++ /dev/null | |||
| @@ -1,93 +0,0 @@ | |||
| 1 | const std = @import("std"); | ||
| 2 | |||
| 3 | // const GraphemeIterator = @import("ziglyph").GraphemeIterator; | ||
| 4 | // const Data = @import("grapheme").Data; | ||
| 5 | // const GraphemeIterator = @import("grapheme").Iterator; | ||
| 6 | |||
| 7 | // const codePointWidth = @import("ziglyph").display_width.codePointWidth; | ||
| 8 | // const strWidth = @import("ziglyph").display_width.strWidth; | ||
| 9 | // const Data = @import("display_width").Data; | ||
| 10 | // const codePointWidth = @import("display_width").codePointWidth; | ||
| 11 | // const strWidth = @import("display_width").strWidth; | ||
| 12 | |||
| 13 | // const CodePointIterator = @import("ziglyph").CodePointIterator; | ||
| 14 | const CodePointIterator = @import("code_point").Iterator; | ||
| 15 | |||
| 16 | // const ascii = @import("ascii"); | ||
| 17 | // const ascii = std.ascii; | ||
| 18 | |||
| 19 | // const Normalize = @import("ziglyph").Normalizer; | ||
| 20 | // const Normalize = @import("Normalize"); | ||
| 21 | |||
| 22 | // const CaseFold = @import("CaseFold"); | ||
| 23 | |||
| 24 | // const GenCatData = @import("GenCatData"); | ||
| 25 | |||
| 26 | const NumericData = @import("NumericData"); | ||
| 27 | |||
| 28 | pub fn main() !void { | ||
| 29 | var args_iter = std.process.args(); | ||
| 30 | _ = args_iter.skip(); | ||
| 31 | const in_path = args_iter.next() orelse return error.MissingArg; | ||
| 32 | |||
| 33 | var arena = std.heap.ArenaAllocator.init(std.heap.page_allocator); | ||
| 34 | defer arena.deinit(); | ||
| 35 | const allocator = arena.allocator(); | ||
| 36 | |||
| 37 | const input = try std.fs.cwd().readFileAlloc( | ||
| 38 | allocator, | ||
| 39 | in_path, | ||
| 40 | std.math.maxInt(u32), | ||
| 41 | ); | ||
| 42 | defer allocator.free(input); | ||
| 43 | |||
| 44 | // var norm_data = try Normalize.NormData.init(allocator); | ||
| 45 | // defer norm_data.deinit(); | ||
| 46 | // var norm = Normalize{ .norm_data = &norm_data }; | ||
| 47 | // var norm = try Normalize.init(allocator); | ||
| 48 | // defer norm.deinit(); | ||
| 49 | |||
| 50 | // var gencat_data = try GenCatData.init(allocator); | ||
| 51 | // defer gencat_data.deinit(); | ||
| 52 | |||
| 53 | // var fold_data = try CaseFold.FoldData.init(allocator); | ||
| 54 | // defer fold_data.deinit(); | ||
| 55 | // var caser = CaseFold{ .fold_data = &fold_data }; | ||
| 56 | |||
| 57 | var num_data = try NumericData.init(allocator); | ||
| 58 | defer num_data.deinit(); | ||
| 59 | |||
| 60 | // var iter = GraphemeIterator.init(input, &data); | ||
| 61 | // defer iter.deinit(); | ||
| 62 | var iter = CodePointIterator{ .bytes = input }; | ||
| 63 | // var iter = std.mem.splitScalar(u8, input, '\n'); | ||
| 64 | |||
| 65 | var result: usize = 0; | ||
| 66 | // var prev_line: []const u8 = ""; | ||
| 67 | // var result: isize = 0; | ||
| 68 | var timer = try std.time.Timer.start(); | ||
| 69 | |||
| 70 | // while (iter.next()) |cp| result += codePointWidth(@intCast(cp.code)); | ||
| 71 | // while (iter.next()) |_| result += 1; | ||
| 72 | // while (iter.next()) |line| result += strWidth(line, &data); | ||
| 73 | // while (iter.next()) |line| { | ||
| 74 | // const nfc = try norm.nfc(allocator, line); | ||
| 75 | // result += nfc.slice.len; | ||
| 76 | // // nfc.deinit(); | ||
| 77 | // } | ||
| 78 | // while (iter.next()) |cp| { | ||
| 79 | // if (cp.code == 'É') std.debug.print("`{u}` Gc: {s}\n", .{ cp.code, @tagName(gencat_data.gc(cp.code)) }); | ||
| 80 | // result += 1; | ||
| 81 | // } | ||
| 82 | // while (iter.next()) |line| { | ||
| 83 | // if (try caser.canonCaselessMatch(allocator, &norm, prev_line, line)) { | ||
| 84 | // result += line.len; | ||
| 85 | // } | ||
| 86 | // prev_line = line; | ||
| 87 | // } | ||
| 88 | while (iter.next()) |cp| { | ||
| 89 | if (num_data.isNumberic(cp)) result += 1; | ||
| 90 | } | ||
| 91 | |||
| 92 | std.debug.print("result: {}, took: {}\n", .{ result, timer.lap() / std.time.ns_per_ms }); | ||
| 93 | } | ||