Data describing the start of a new block element.
const BlockStart = struct
const BlockStart = struct {
tag: Tag,
data: Data,
rest: []const u8,
const Tag = enum {
/// Data is `list_item`.
list_item,
/// Data is `table_row`.
table_row,
/// Data is `heading`.
heading,
/// Data is `code_block`.
code_block,
/// Data is `none`.
blockquote,
/// Data is `none`.
paragraph,
/// Data is `none`.
thematic_break,
};
const Data = union {
none: void,
list_item: struct {
marker: Block.Data.ListMarker,
number: u30,
continuation_indent: usize,
},
table_row: struct {
cells_buffer: [max_table_columns][]const u8,
cells_len: usize,
},
heading: struct {
/// Between 1 and 6, inclusive.
level: u3,
},
code_block: struct {
tag: StringIndex,
fence_len: usize,
indent: usize,
},
};
}