Skip to documentation
SLOP

tiny.zen.parseFootnotes

Reference tiny.zen parseFootnotes

Defined in tiny.zen.

Called byCallsNo direct callersprivate sourcelib.zen.src.footnote.parsecopyprivate sourcelib.zen.src.footnote.parsefindActivetiny.zenparseFootnotes
Static calls · unresolved targets: 0 · external targets: 3.

Source

Source: lib/zen/src/footnote/parse.zig:6

zig
pub fn parse(storage: *storage_mod.Storage, source: []const u8) model.Error!model.Set {    const regions = try storage.acquire(source);    var definition_index: usize = 0;    var joined_text_index: usize = 0;    var current_index: ?usize = null;    var current_joined_start: ?usize = null;    var iterator = scan.Iterator.init(source);    while (iterator.next()) |event| switch (event) {        .definition => |definition| {            const active = findActive(regions.definitions[0..definition_index], definition.key) == null;            regions.definitions[definition_index] = .{                .key = definition.key,                .text = definition.text,                .active = active,            };            current_index = definition_index;            current_joined_start = null;            definition_index += 1;        },        .continuation => |text| {            const index = current_index orelse unreachable;            const definition = &regions.definitions[index];            if (current_joined_start == null) {                current_joined_start = joined_text_index;                if (definition.text.len != 0) {                    copy(regions.joined_text, &joined_text_index, definition.text);                    regions.joined_text[joined_text_index] = ' ';                    joined_text_index += 1;                }            } else {                regions.joined_text[joined_text_index] = ' ';                joined_text_index += 1;            }            copy(regions.joined_text, &joined_text_index, text);            definition.text = regions.joined_text[current_joined_start.?..joined_text_index];        },    };    std.debug.assert(definition_index == regions.plan.definitions);    std.debug.assert(joined_text_index == regions.plan.joined_text_bytes);    return .{ .definitions = regions.definitions };}

Source: lib/zen/src/root.zig:137

zig
/// Parses into active storage; the set borrows it until `reset`.pub const parseFootnotes = footnote.parse;

Also reachable as

footnote.parse.

Audit

Definitions1
Public names2
Members0
Version26.7.0
Revisiondaab053ee433