| ... | ... | @@ -74,12 +74,12 @@ pub fn getHEAD(alloc: std.mem.Allocator, dir: std.fs.Dir) !?CommitId { |
| 74 | 74 | error.FileNotFound => break :blk, |
| 75 | 75 | else => |e| return e, |
| 76 | 76 | }; |
| 77 | | var iter = std.mem.split(u8, pckedrfs, "\n"); |
| 77 | var iter = std.mem.splitScalar(u8, pckedrfs, '\n'); |
| 78 | 78 | while (iter.next()) |line| { |
| 79 | 79 | if (std.mem.startsWith(u8, line, "#")) continue; |
| 80 | 80 | if (std.mem.startsWith(u8, line, "^")) continue; |
| 81 | 81 | if (line.len == 0) continue; |
| 82 | | var jter = std.mem.split(u8, line, " "); |
| 82 | var jter = std.mem.splitScalar(u8, line, ' '); |
| 83 | 83 | const objid = jter.next().?; |
| 84 | 84 | const ref = jter.next().?; |
| 85 | 85 | std.debug.assert(jter.next() == null); |
| ... | ... | @@ -193,7 +193,7 @@ pub fn parseCommit(alloc: std.mem.Allocator, commitfile: string) !Commit { |
| 193 | 193 | const t = tracer.trace(@src(), "", .{}); |
| 194 | 194 | defer t.end(); |
| 195 | 195 | |
| 196 | | var iter = std.mem.split(u8, commitfile, "\n"); |
| 196 | var iter = std.mem.splitScalar(u8, commitfile, '\n'); |
| 197 | 197 | var result: Commit = undefined; |
| 198 | 198 | var parents = std.ArrayList(CommitId).init(alloc); |
| 199 | 199 | errdefer parents.deinit(); |
| ... | ... | @@ -221,7 +221,7 @@ fn parseCommitUserAndAt(input: string) !Commit.UserAndAt { |
| 221 | 221 | // first and second part is https://datatracker.ietf.org/doc/html/rfc5322#section-3.4 |
| 222 | 222 | // third part is unix epoch timestamp |
| 223 | 223 | // fourth part is TZ |
| 224 | | var maybe_bad_parser = std.mem.splitBackwards(u8, input, " "); |
| 224 | var maybe_bad_parser = std.mem.splitBackwardsScalar(u8, input, ' '); |
| 225 | 225 | const tz_part = maybe_bad_parser.next() orelse return error.BadCommitTz; |
| 226 | 226 | const time_part = maybe_bad_parser.next() orelse return error.BadCommitTime; |
| 227 | 227 | const email_part = maybe_bad_parser.next() orelse return error.BadCommitEmail; |
| ... | ... | @@ -258,7 +258,7 @@ pub fn parseTree(alloc: std.mem.Allocator, treefile: string) !Tree { |
| 258 | 258 | const t = tracer.trace(@src(), "", .{}); |
| 259 | 259 | defer t.end(); |
| 260 | 260 | |
| 261 | | var iter = std.mem.split(u8, treefile, "\n"); |
| 261 | var iter = std.mem.splitScalar(u8, treefile, '\n'); |
| 262 | 262 | var children = std.ArrayList(Tree.Object).init(alloc); |
| 263 | 263 | errdefer children.deinit(); |
| 264 | 264 | |
| ... | ... | @@ -267,7 +267,7 @@ pub fn parseTree(alloc: std.mem.Allocator, treefile: string) !Tree { |
| 267 | 267 | std.debug.assert(iter.peek() == null); |
| 268 | 268 | break; |
| 269 | 269 | } |
| 270 | | var jter = std.mem.split(u8, line, " "); |
| 270 | var jter = std.mem.splitScalar(u8, line, ' '); |
| 271 | 271 | const mode = jter.next().?; |
| 272 | 272 | const otype = std.meta.stringToEnum(Tree.Object.Id.Tag, jter.next().?).?; |
| 273 | 273 | const id_and_name = jter.next().?; |
| ... | ... | @@ -431,7 +431,7 @@ pub fn parseTreeDiffMeta(input: string) !TreeDiffMeta { |
| 431 | 431 | defer t.end(); |
| 432 | 432 | |
| 433 | 433 | var result = std.mem.zeroes(TreeDiffMeta); |
| 434 | | var lineiter = std.mem.split(u8, input, "\n"); |
| 434 | var lineiter = std.mem.splitScalar(u8, input, '\n'); |
| 435 | 435 | |
| 436 | 436 | while (lineiter.next()) |lin| { |
| 437 | 437 | if (lin.len == 0) break; |
| ... | ... | @@ -504,7 +504,7 @@ pub fn parseTreeDiff(alloc: std.mem.Allocator, input: string) !TreeDiff { |
| 504 | 504 | const t = tracer.trace(@src(), "", .{}); |
| 505 | 505 | defer t.end(); |
| 506 | 506 | |
| 507 | | var lineiter = std.mem.split(u8, input, "\n"); |
| 507 | var lineiter = std.mem.splitScalar(u8, input, '\n'); |
| 508 | 508 | var overview = std.ArrayList(TreeDiff.StateLine).init(alloc); |
| 509 | 509 | var diffs = std.ArrayList(TreeDiff.Diff).init(alloc); |
| 510 | 510 | |
| ... | ... | @@ -513,14 +513,14 @@ pub fn parseTreeDiff(alloc: std.mem.Allocator, input: string) !TreeDiff { |
| 513 | 513 | std.debug.assert(lin[0] == ':'); |
| 514 | 514 | |
| 515 | 515 | // :100644 100644 c06b41d04c381f1841d445c0072219d9a7f57e17 e8f91cf7dd413ac65a362b0a170951033dba4762 M notes/all_packages.txt |
| 516 | | var jter = std.mem.tokenize(u8, lin[1..], " "); |
| 516 | var jter = std.mem.tokenizeScalar(u8, lin[1..], ' '); |
| 517 | 517 | const before_mode = try parseTreeMode(jter.next().?); |
| 518 | 518 | const after_mode = try parseTreeMode(jter.next().?); |
| 519 | 519 | |
| 520 | 520 | const before_tree = ensureObjId(TreeId, jter.next().?); |
| 521 | 521 | const after_tree = ensureObjId(TreeId, jter.next().?); |
| 522 | 522 | |
| 523 | | var kter = std.mem.split(u8, jter.next().?, "\t"); // why is there a tab here git. why? |
| 523 | var kter = std.mem.splitScalar(u8, jter.next().?, '\t'); // why is there a tab here git. why? |
| 524 | 524 | const action_s = kter.next().?; |
| 525 | 525 | |
| 526 | 526 | try overview.append(.{ |
| ... | ... | @@ -681,11 +681,11 @@ pub fn getBranches(alloc: std.mem.Allocator, dir: std.fs.Dir) ![]const Ref { |
| 681 | 681 | }); |
| 682 | 682 | std.debug.assert(result.term == .Exited and result.term.Exited == 0); |
| 683 | 683 | const output = std.mem.trimRight(u8, result.stdout, "\n"); |
| 684 | | var iter = std.mem.split(u8, output, "\n"); |
| 684 | var iter = std.mem.splitScalar(u8, output, '\n'); |
| 685 | 685 | var list = std.ArrayList(Ref).init(alloc); |
| 686 | 686 | errdefer list.deinit(); |
| 687 | 687 | while (iter.next()) |line| { |
| 688 | | var jter = std.mem.split(u8, line, " "); |
| 688 | var jter = std.mem.splitScalar(u8, line, ' '); |
| 689 | 689 | try list.append(Ref{ |
| 690 | 690 | .commit = ensureObjId(CommitId, jter.next().?), |
| 691 | 691 | .label = extras.trimPrefixEnsure(jter.rest(), "refs/heads/").?, |
| ... | ... | @@ -712,11 +712,11 @@ pub fn getTags(alloc: std.mem.Allocator, dir: std.fs.Dir) ![]const Ref { |
| 712 | 712 | if (result.term == .Exited and result.term.Exited == 1) return &.{}; // show-ref exits 1 when there are no tags |
| 713 | 713 | std.debug.assert(result.term == .Exited and result.term.Exited == 0); |
| 714 | 714 | const output = std.mem.trimRight(u8, result.stdout, "\n"); |
| 715 | | var iter = std.mem.split(u8, output, "\n"); |
| 715 | var iter = std.mem.splitScalar(u8, output, '\n'); |
| 716 | 716 | var list = std.ArrayList(Ref).init(alloc); |
| 717 | 717 | errdefer list.deinit(); |
| 718 | 718 | while (iter.next()) |line| { |
| 719 | | var jter = std.mem.split(u8, line, " "); |
| 719 | var jter = std.mem.splitScalar(u8, line, ' '); |
| 720 | 720 | const id = ensureObjId(CommitId, jter.next().?).id; |
| 721 | 721 | const label = extras.trimPrefixEnsure(jter.rest(), "refs/tags/").?; |
| 722 | 722 | extras.assertLog(!std.mem.endsWith(u8, label, "^{}"), "{s}", .{label}); |
| ... | ... | @@ -733,7 +733,7 @@ pub fn getTags(alloc: std.mem.Allocator, dir: std.fs.Dir) ![]const Ref { |
| 733 | 733 | }, |
| 734 | 734 | .tag => { |
| 735 | 735 | const derefline = iter.next().?; |
| 736 | | var kter = std.mem.split(u8, derefline, " "); |
| 736 | var kter = std.mem.splitScalar(u8, derefline, ' '); |
| 737 | 737 | const id2 = ensureObjId(CommitId, kter.next().?).id; |
| 738 | 738 | const label2 = extras.trimPrefixEnsure(kter.rest(), "refs/tags/").?; |
| 739 | 739 | extras.assertLog(std.mem.endsWith(u8, label2, "^{}"), "{s}", .{label2}); |