╭ changed ──────────╮ │src/event/Issue.zig│ ╰───────────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────╮ │ 5 │ │ 6 title: []const u8, │ │ 7 description: []const u8, │ │ 8 -tags: []const u8, // comma-separated │ │ 8 +tags: []const u8, // space-separated │ │ 9 status: Status = .open, │ │10 created_ts: u64 = 0, // the commit timestamp of the event that first created this issue│ │11 │ ╰───────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────╮ │22 │ │23 pub const tag_max_len = 64; │ │24 │ │25 -// a "tag,status" key names a tag's per-status issue set │ │25 +// a "tag status" key names a tag's per-status issue set (tags can't contain │ │26 +// spaces, so the pair is unambiguous) │ │27 pub const TagStatusKey = [tag_max_len + 1 + Status.longest_len]u8; │ │28 │ │29 pub fn tagStatusKey(buffer: *TagStatusKey, tag: []const u8, status: Status) ![]const u8 {│ ╰─────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────╮ │29 - return std.fmt.bufPrint(buffer, "{s},{s}", .{ tag, @tagName(status) });│ │30 + return std.fmt.bufPrint(buffer, "{s} {s}", .{ tag, @tagName(status) });│ │31 } │ │32 │ │33 pub fn tagIterator(tags: []const u8) std.mem.SplitIterator(u8, .scalar) { │ ╰───────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────╮ │33 - return std.mem.splitScalar(u8, tags, ','); │ │34 + return std.mem.splitScalar(u8, tags, ' '); │ │35 } │ │36 │ │37 // `created_ts` comes from the commit timestamp, not the event│ ╰──────────────────────────────────────────────────────────────────╯