tiny.css.property
Defined in tiny.css.
The closed property set: identifiers, initial values, inheritance, and the value grammar each property accepts.
API (15)
Actions
Public operations.
componentSpans: Splits a value into top level whitespace separated components.expand: Expandssource[start..end]underkindintoout, returning the number of longhands written.isCustom: Whethernamestarts with the two dashes that mark a custom property.longhands: The longhands a shorthand writes, in the order the expansion fills them.lookup: Resolves a property name, ASCII case insensitively.metadata: The metadata ofid.shorthandOf: Resolves a shorthand name, ASCII case insensitively.
Types and contracts
Public types and contracts.
Expansion: One longhand the expansion produced.Id: Every property this engine computes.Metadata: The initial value, inheritance rule, and value grammar of one property.Shorthand: The shorthands this engine expands.
Values and defaults
Public values and defaults.
count: The number of slots a dense per property array needs,invalidincluded.entries: The property table, sorted by name so thatlookupis a binary search.max_components: The most whitespace separated components one shorthand value may carry.max_expansions: The most longhands one shorthand produces.
Source
Source: lib/css/src/property/expand.zig:38
Source: lib/css/src/property/expand.zig:12
/// The shorthands this engine expands. A shorthand never reaches a computed/// style: the sheet lowers it into its longhands at parse time.pub const Shorthand = enum(u8) { margin, padding, border_width, border_style, border_color, inset, scroll_margin, scroll_padding, border_radius, gap, overflow, background_position, flex, flex_flow, border, border_top, border_right, border_bottom, border_left, outline, background, text_decoration,};Source: lib/css/src/property/table.zig:10
/// Every property this engine computes. Closed, so a declaration carries an/// integer rather than a byte slice and a computed style is a dense array.pub const Id = enum(u32) { invalid = 0, accent_color, align_content, align_items, align_self, background_attachment, background_clip, background_color, background_image, background_origin, background_position_x, background_position_y, background_repeat, background_size, border_bottom_color, border_bottom_left_radius, border_bottom_right_radius, border_bottom_style, border_bottom_width, border_left_color, border_left_style, border_left_width, border_right_color, border_right_style, border_right_width, border_top_color, border_top_left_radius, border_top_right_radius, border_top_style, border_top_width, bottom, box_sizing, caret_color, color, column_gap, content, cursor, direction, display, flex_basis, flex_direction, flex_grow, flex_shrink, flex_wrap, font_family, font_size, font_style, font_weight, height, justify_content, justify_items, justify_self, left, letter_spacing, line_height, list_style_position, list_style_type, margin_bottom, margin_left, margin_right, margin_top, max_height, max_width, min_height, min_width, object_fit, opacity, order, outline_color, outline_offset, outline_style, outline_width, overflow_wrap, overflow_x, overflow_y, padding_bottom, padding_left, padding_right, padding_top, pointer_events, position, right, row_gap, scroll_margin_bottom, scroll_margin_left, scroll_margin_right, scroll_margin_top, scroll_padding_bottom, scroll_padding_left, scroll_padding_right, scroll_padding_top, text_align, text_decoration_color, text_decoration_line, text_decoration_style, text_decoration_thickness, text_indent, text_overflow, text_transform, text_underline_offset, top, user_select, vertical_align, visibility, white_space, width, word_break, word_spacing, z_index,};Source: lib/css/src/property/table.zig:123
/// The initial value, inheritance rule, and value grammar of one property.pub const Metadata = struct { name: []const u8, inherited: bool, grammar: value.Grammar, initial: Value,};Source: lib/css/src/property/expand.zig:296
/// Splits a value into top level whitespace separated components. Returns a/// count above `max_components` when the value carries more than fit.pub fn componentSpans( source: []const u8, start: u32, end: u32, out: *[max_components][2]u32,) usize { std.debug.assert(start <= end); std.debug.assert(end <= source.len); var tokenizer = token.Tokenizer{ .source = source[0..end], .index = start }; var count: usize = 0; var open: ?u32 = null; var last: u32 = start; var depth: u32 = 0; var guard: usize = 0; while (guard <= source.len + 1) : (guard += 1) { const next = tokenizer.next(); if (next.kind == .eof) break; switch (next.kind) { .function, .left_paren => depth += 1, .right_paren => depth -|= 1, else => {}, } if (next.kind == .whitespace and depth == 0) { if (open) |begin| { if (count < max_components) out[count] = .{ begin, last }; count += 1; open = null; } continue; } if (open == null) open = next.start; last = next.end; } if (open) |begin| { if (count < max_components) out[count] = .{ begin, last }; count += 1; } return count;}Source: lib/css/src/property/expand.zig:60
/// Expands `source[start..end]` under `kind` into `out`, returning the number/// of longhands written. Zero means the value did not parse and the caller/// records a diagnostic instead.pub fn expand( kind: Shorthand, source: []const u8, start: u32, end: u32, out: *[max_expansions]Expansion,) usize { var spans: [max_components][2]u32 = undefined; const components = componentSpans(source, start, end, &spans); if (components == 0 or components > max_components) return 0; const targets = longhands(kind); if (wideKeyword(source, spans[0], components)) |word| { for (targets, 0..) |id, index| out[index] = .{ .id = id, .value = Value.keyword(word) }; return targets.len; } return switch (kind) { .margin, .padding, .border_width, .border_style, .border_color => box(targets, source, spans[0..components], out), .inset, .scroll_margin, .scroll_padding => box(targets, source, spans[0..components], out), .border_radius => corner(targets, source, spans[0..components], out), .gap, .overflow, .background_position => pair(targets, source, spans[0..components], out), .flex => flex(source, spans[0..components], out), .flex_flow => components_any(targets, source, spans[0..components], out), .border, .border_top, .border_right, .border_bottom, .border_left => components_any(targets, source, spans[0..components], out), .outline, .background, .text_decoration => components_any(targets, source, spans[0..components], out), };}Source: lib/css/src/property/expand.zig:88
/// The longhands a shorthand writes, in the order the expansion fills them.pub fn longhands(kind: Shorthand) []const Id { return switch (kind) { .margin => &.{ .margin_top, .margin_right, .margin_bottom, .margin_left }, .padding => &.{ .padding_top, .padding_right, .padding_bottom, .padding_left }, .border_width => &.{ .border_top_width, .border_right_width, .border_bottom_width, .border_left_width, }, .border_style => &.{ .border_top_style, .border_right_style, .border_bottom_style, .border_left_style, }, .border_color => &.{ .border_top_color, .border_right_color, .border_bottom_color, .border_left_color, }, .inset => &.{ .top, .right, .bottom, .left }, .scroll_margin => &.{ .scroll_margin_top, .scroll_margin_right, .scroll_margin_bottom, .scroll_margin_left, }, .scroll_padding => &.{ .scroll_padding_top, .scroll_padding_right, .scroll_padding_bottom, .scroll_padding_left, }, .border_radius => &.{ .border_top_left_radius, .border_top_right_radius, .border_bottom_right_radius, .border_bottom_left_radius, }, .gap => &.{ .row_gap, .column_gap }, .overflow => &.{ .overflow_x, .overflow_y }, .background_position => &.{ .background_position_x, .background_position_y }, .flex => &.{ .flex_grow, .flex_shrink, .flex_basis }, .flex_flow => &.{ .flex_direction, .flex_wrap }, .border => &.{ .border_top_width, .border_top_style, .border_top_color }, .border_top => &.{ .border_top_width, .border_top_style, .border_top_color }, .border_right => &.{ .border_right_width, .border_right_style, .border_right_color }, .border_bottom => &.{ .border_bottom_width, .border_bottom_style, .border_bottom_color }, .border_left => &.{ .border_left_width, .border_left_style, .border_left_color }, .outline => &.{ .outline_width, .outline_style, .outline_color }, .background => &.{ .background_color, .background_image }, .text_decoration => &.{ .text_decoration_line, .text_decoration_color, .text_decoration_style, }, };}Source: lib/css/src/property/expand.zig:47
/// The most whitespace separated components one shorthand value may carry.pub const max_components: usize = 4;Source: lib/css/src/property/expand.zig:44
/// The most longhands one shorthand produces.pub const max_expansions: usize = 4;Source: lib/css/src/property/expand.zig:50
/// Resolves a shorthand name, ASCII case insensitively.pub fn shorthandOf(name: []const u8) ?Shorthand { inline for (shorthand_names) |entry| { if (std.ascii.eqlIgnoreCase(name, entry.name)) return entry.kind; } return null;}Source: lib/css/src/property/table.zig:131
/// The number of slots a dense per property array needs, `invalid` included.pub const count: usize = entries.len + 1;Source: lib/css/src/property/table.zig:134
/// The property table, sorted by name so that `lookup` is a binary search.pub const entries = [_]Metadata{ .{ .name = "accent-color", .inherited = false, .grammar = .color, .initial = Value.keyword(.currentcolor) }, .{ .name = "align-content", .inherited = false, .grammar = .justify, .initial = Value.keyword(.normal) }, .{ .name = "align-items", .inherited = false, .grammar = .@"align", .initial = Value.keyword(.normal) }, .{ .name = "align-self", .inherited = false, .grammar = .align_self, .initial = Value.keyword(.auto) }, .{ .name = "background-attachment", .inherited = false, .grammar = .background_attachment, .initial = Value.keyword(.scroll) }, .{ .name = "background-clip", .inherited = false, .grammar = .background_box, .initial = Value.keyword(.border_box) }, .{ .name = "background-color", .inherited = false, .grammar = .color, .initial = Value.color(color.transparent) }, .{ .name = "background-image", .inherited = false, .grammar = .url, .initial = Value.keyword(.none) }, .{ .name = "background-origin", .inherited = false, .grammar = .background_box, .initial = Value.keyword(.padding_box) }, .{ .name = "background-position-x", .inherited = false, .grammar = .length_percentage, .initial = Value.percent(0) }, .{ .name = "background-position-y", .inherited = false, .grammar = .length_percentage, .initial = Value.percent(0) }, .{ .name = "background-repeat", .inherited = false, .grammar = .background_repeat, .initial = Value.keyword(.repeat) }, .{ .name = "background-size", .inherited = false, .grammar = .background_size, .initial = Value.keyword(.auto) }, .{ .name = "border-bottom-color", .inherited = false, .grammar = .color, .initial = Value.keyword(.currentcolor) }, .{ .name = "border-bottom-left-radius", .inherited = false, .grammar = .length_percentage, .initial = Value.length(0, .px) }, .{ .name = "border-bottom-right-radius", .inherited = false, .grammar = .length_percentage, .initial = Value.length(0, .px) }, .{ .name = "border-bottom-style", .inherited = false, .grammar = .border_style, .initial = Value.keyword(.none) }, .{ .name = "border-bottom-width", .inherited = false, .grammar = .length, .initial = Value.length(3, .px) }, .{ .name = "border-left-color", .inherited = false, .grammar = .color, .initial = Value.keyword(.currentcolor) }, .{ .name = "border-left-style", .inherited = false, .grammar = .border_style, .initial = Value.keyword(.none) }, .{ .name = "border-left-width", .inherited = false, .grammar = .length, .initial = Value.length(3, .px) }, .{ .name = "border-right-color", .inherited = false, .grammar = .color, .initial = Value.keyword(.currentcolor) }, .{ .name = "border-right-style", .inherited = false, .grammar = .border_style, .initial = Value.keyword(.none) }, .{ .name = "border-right-width", .inherited = false, .grammar = .length, .initial = Value.length(3, .px) }, .{ .name = "border-top-color", .inherited = false, .grammar = .color, .initial = Value.keyword(.currentcolor) }, .{ .name = "border-top-left-radius", .inherited = false, .grammar = .length_percentage, .initial = Value.length(0, .px) }, .{ .name = "border-top-right-radius", .inherited = false, .grammar = .length_percentage, .initial = Value.length(0, .px) }, .{ .name = "border-top-style", .inherited = false, .grammar = .border_style, .initial = Value.keyword(.none) }, .{ .name = "border-top-width", .inherited = false, .grammar = .length, .initial = Value.length(3, .px) }, .{ .name = "bottom", .inherited = false, .grammar = .length_percentage_auto, .initial = Value.keyword(.auto) }, .{ .name = "box-sizing", .inherited = false, .grammar = .box_sizing, .initial = Value.keyword(.content_box) }, .{ .name = "caret-color", .inherited = false, .grammar = .color, .initial = Value.keyword(.currentcolor) }, .{ .name = "color", .inherited = true, .grammar = .color, .initial = Value.color(color.pack(0, 0, 0, 255)) }, .{ .name = "column-gap", .inherited = false, .grammar = .gap, .initial = Value.keyword(.normal) }, .{ .name = "content", .inherited = false, .grammar = .content, .initial = Value.keyword(.normal) }, .{ .name = "cursor", .inherited = true, .grammar = .cursor, .initial = Value.keyword(.auto) }, .{ .name = "direction", .inherited = true, .grammar = .direction, .initial = Value.keyword(.ltr) }, .{ .name = "display", .inherited = false, .grammar = .display, .initial = Value.keyword(.@"inline") }, .{ .name = "flex-basis", .inherited = false, .grammar = .flex_basis, .initial = Value.keyword(.auto) }, .{ .name = "flex-direction", .inherited = false, .grammar = .flex_direction, .initial = Value.keyword(.row) }, .{ .name = "flex-grow", .inherited = false, .grammar = .number, .initial = Value.number(0) }, .{ .name = "flex-shrink", .inherited = false, .grammar = .number, .initial = Value.number(1) }, .{ .name = "flex-wrap", .inherited = false, .grammar = .flex_wrap, .initial = Value.keyword(.nowrap) }, .{ .name = "font-family", .inherited = true, .grammar = .font_family, .initial = Value.string(0, 0) }, .{ .name = "font-size", .inherited = true, .grammar = .length_percentage, .initial = Value.length(1, .rem) }, .{ .name = "font-style", .inherited = true, .grammar = .font_style, .initial = Value.keyword(.normal) }, .{ .name = "font-weight", .inherited = true, .grammar = .font_weight, .initial = Value.number(400) }, .{ .name = "height", .inherited = false, .grammar = .size, .initial = Value.keyword(.auto) }, .{ .name = "justify-content", .inherited = false, .grammar = .justify, .initial = Value.keyword(.flex_start) }, .{ .name = "justify-items", .inherited = false, .grammar = .justify, .initial = Value.keyword(.normal) }, .{ .name = "justify-self", .inherited = false, .grammar = .align_self, .initial = Value.keyword(.auto) }, .{ .name = "left", .inherited = false, .grammar = .length_percentage_auto, .initial = Value.keyword(.auto) }, .{ .name = "letter-spacing", .inherited = true, .grammar = .length_normal, .initial = Value.keyword(.normal) }, .{ .name = "line-height", .inherited = true, .grammar = .line_height, .initial = Value.keyword(.normal) }, .{ .name = "list-style-position", .inherited = true, .grammar = .list_style_position, .initial = Value.keyword(.outside) }, .{ .name = "list-style-type", .inherited = true, .grammar = .list_style_type, .initial = Value.keyword(.disc) }, .{ .name = "margin-bottom", .inherited = false, .grammar = .length_percentage_auto, .initial = Value.length(0, .px) }, .{ .name = "margin-left", .inherited = false, .grammar = .length_percentage_auto, .initial = Value.length(0, .px) }, .{ .name = "margin-right", .inherited = false, .grammar = .length_percentage_auto, .initial = Value.length(0, .px) }, .{ .name = "margin-top", .inherited = false, .grammar = .length_percentage_auto, .initial = Value.length(0, .px) }, .{ .name = "max-height", .inherited = false, .grammar = .size, .initial = Value.keyword(.none) }, .{ .name = "max-width", .inherited = false, .grammar = .size, .initial = Value.keyword(.none) }, .{ .name = "min-height", .inherited = false, .grammar = .length_percentage_auto, .initial = Value.keyword(.auto) }, .{ .name = "min-width", .inherited = false, .grammar = .length_percentage_auto, .initial = Value.keyword(.auto) }, .{ .name = "object-fit", .inherited = false, .grammar = .object_fit, .initial = Value.keyword(.fill) }, .{ .name = "opacity", .inherited = false, .grammar = .opacity, .initial = Value.number(1) }, .{ .name = "order", .inherited = false, .grammar = .integer, .initial = Value.number(0) }, .{ .name = "outline-color", .inherited = false, .grammar = .color, .initial = Value.keyword(.currentcolor) }, .{ .name = "outline-offset", .inherited = false, .grammar = .length, .initial = Value.length(0, .px) }, .{ .name = "outline-style", .inherited = false, .grammar = .border_style, .initial = Value.keyword(.none) }, .{ .name = "outline-width", .inherited = false, .grammar = .length, .initial = Value.length(3, .px) }, .{ .name = "overflow-wrap", .inherited = true, .grammar = .overflow_wrap, .initial = Value.keyword(.normal) }, .{ .name = "overflow-x", .inherited = false, .grammar = .overflow, .initial = Value.keyword(.visible) }, .{ .name = "overflow-y", .inherited = false, .grammar = .overflow, .initial = Value.keyword(.visible) }, .{ .name = "padding-bottom", .inherited = false, .grammar = .length_percentage, .initial = Value.length(0, .px) }, .{ .name = "padding-left", .inherited = false, .grammar = .length_percentage, .initial = Value.length(0, .px) }, .{ .name = "padding-right", .inherited = false, .grammar = .length_percentage, .initial = Value.length(0, .px) }, .{ .name = "padding-top", .inherited = false, .grammar = .length_percentage, .initial = Value.length(0, .px) }, .{ .name = "pointer-events", .inherited = true, .grammar = .pointer_events, .initial = Value.keyword(.auto) }, .{ .name = "position", .inherited = false, .grammar = .position, .initial = Value.keyword(.static) }, .{ .name = "right", .inherited = false, .grammar = .length_percentage_auto, .initial = Value.keyword(.auto) }, .{ .name = "row-gap", .inherited = false, .grammar = .gap, .initial = Value.keyword(.normal) }, .{ .name = "scroll-margin-bottom", .inherited = false, .grammar = .length, .initial = Value.length(0, .px) }, .{ .name = "scroll-margin-left", .inherited = false, .grammar = .length, .initial = Value.length(0, .px) }, .{ .name = "scroll-margin-right", .inherited = false, .grammar = .length, .initial = Value.length(0, .px) }, .{ .name = "scroll-margin-top", .inherited = false, .grammar = .length, .initial = Value.length(0, .px) }, .{ .name = "scroll-padding-bottom", .inherited = false, .grammar = .length_percentage_auto, .initial = Value.keyword(.auto) }, .{ .name = "scroll-padding-left", .inherited = false, .grammar = .length_percentage_auto, .initial = Value.keyword(.auto) }, .{ .name = "scroll-padding-right", .inherited = false, .grammar = .length_percentage_auto, .initial = Value.keyword(.auto) }, .{ .name = "scroll-padding-top", .inherited = false, .grammar = .length_percentage_auto, .initial = Value.keyword(.auto) }, .{ .name = "text-align", .inherited = true, .grammar = .text_align, .initial = Value.keyword(.start) }, .{ .name = "text-decoration-color", .inherited = false, .grammar = .color, .initial = Value.keyword(.currentcolor) }, .{ .name = "text-decoration-line", .inherited = false, .grammar = .text_decoration_line, .initial = Value.keyword(.none) }, .{ .name = "text-decoration-style", .inherited = false, .grammar = .border_style, .initial = Value.keyword(.solid) }, .{ .name = "text-decoration-thickness", .inherited = false, .grammar = .length_percentage_auto, .initial = Value.keyword(.auto) }, .{ .name = "text-indent", .inherited = true, .grammar = .length_percentage, .initial = Value.length(0, .px) }, .{ .name = "text-overflow", .inherited = false, .grammar = .text_overflow, .initial = Value.keyword(.clip) }, .{ .name = "text-transform", .inherited = true, .grammar = .text_transform, .initial = Value.keyword(.none) }, .{ .name = "text-underline-offset", .inherited = true, .grammar = .length_percentage_auto, .initial = Value.keyword(.auto) }, .{ .name = "top", .inherited = false, .grammar = .length_percentage_auto, .initial = Value.keyword(.auto) }, .{ .name = "user-select", .inherited = true, .grammar = .user_select, .initial = Value.keyword(.auto) }, .{ .name = "vertical-align", .inherited = false, .grammar = .vertical_align, .initial = Value.keyword(.baseline) }, .{ .name = "visibility", .inherited = true, .grammar = .visibility, .initial = Value.keyword(.visible) }, .{ .name = "white-space", .inherited = true, .grammar = .white_space, .initial = Value.keyword(.normal) }, .{ .name = "width", .inherited = false, .grammar = .size, .initial = Value.keyword(.auto) }, .{ .name = "word-break", .inherited = true, .grammar = .word_break, .initial = Value.keyword(.normal) }, .{ .name = "word-spacing", .inherited = true, .grammar = .gap, .initial = Value.keyword(.normal) }, .{ .name = "z-index", .inherited = false, .grammar = .z_index, .initial = Value.keyword(.auto) },};Source: lib/css/src/property/table.zig:285
/// Whether `name` starts with the two dashes that mark a custom property.pub fn isCustom(name: []const u8) bool { return name.len > 2 and name[0] == '-' and name[1] == '-';}Source: lib/css/src/property/table.zig:266
/// Resolves a property name, ASCII case insensitively. Custom properties are/// not in this table: they keep their author spelling and cascade as tokens.pub fn lookup(name: []const u8) ?Id { if (name.len == 0 or name.len > max_name_bytes) return null; var buffer: [max_name_bytes]u8 = undefined; for (name, 0..) |byte, index| buffer[index] = std.ascii.toLower(byte); const folded = buffer[0..name.len]; var low: usize = 0; var high: usize = entries.len; while (low < high) { const middle = low + (high - low) / 2; switch (std.mem.order(u8, entries[middle].name, folded)) { .lt => low = middle + 1, .gt => high = middle, .eq => return @fromBackingInt(@intCast(middle + 1)), } } return null;}Source: lib/css/src/property/table.zig:259
/// The metadata of `id`. Asserts that the identifier names a real property.pub fn metadata(id: Id) Metadata { std.debug.assert(id != .invalid); return entries[@backingInt(id) - 1];}Source: lib/css/src/property/root.zig
//! The closed property set: identifiers, initial values, inheritance, and the//! value grammar each property accepts.//!//! A declaration carries `Id` rather than a byte slice, so the cascade compares//! integers and a computed style is a dense array indexed by `@intFromEnum`.//! `count` sizes that array.//!//! Shorthands never reach a computed style. `expand` lowers one shorthand into//! its longhands at parse time, which keeps the cascade free of shorthand//! precedence rules.const expansion = @import("expand.zig");const table = @import("table.zig");pub const Expansion = expansion.Expansion;pub const Id = table.Id;pub const Metadata = table.Metadata;pub const Shorthand = expansion.Shorthand;pub const componentSpans = expansion.componentSpans;pub const count = table.count;pub const entries = table.entries;pub const expand = expansion.expand;pub const isCustom = table.isCustom;pub const longhands = expansion.longhands;pub const lookup = table.lookup;pub const max_components = expansion.max_components;pub const max_expansions = expansion.max_expansions;pub const metadata = table.metadata;pub const shorthandOf = expansion.shorthandOf;Source: lib/css/src/root.zig:40
pub const property = @import("property/root.zig");Complete call list for property.expand
9 direct calls.
lib.css.src.property.expand.box[function] — private source atlib/css/src/property/expand.zig:171in nearest public ownerlib.css.src.property.expandtiny.css.property.componentSpans[function] atlib/css/src/property/expand.zig:296lib.css.src.property.expand.components_any[function] — private source atlib/css/src/property/expand.zig:254in nearest public ownerlib.css.src.property.expandlib.css.src.property.expand.corner[function] — private source atlib/css/src/property/expand.zig:188in nearest public ownerlib.css.src.property.expandlib.css.src.property.expand.flex[function] — private source atlib/css/src/property/expand.zig:227in nearest public ownerlib.css.src.property.expandtiny.css.property.longhands[function] atlib/css/src/property/expand.zig:88lib.css.src.property.expand.pair[function] — private source atlib/css/src/property/expand.zig:210in nearest public ownerlib.css.src.property.expandlib.css.src.property.expand.wideKeyword[function] — private source atlib/css/src/property/expand.zig:162in nearest public ownerlib.css.src.property.expandtiny.css.value.Value.keyword[function] atlib/css/src/value/scalar.zig:274
Complete caller list for property.lookup
9 direct callers.
lib.choir.src.backends.debug.test_LineTableBuilder_lookup_returns_nearest_entry[function] — test source atlib/choir/src/backends/debug.zig:1437in nearest public ownertiny.choir.backends.debug_infolib.choir.src.backends.debug.test_LineTableBuilder_preserves_name_location[function] — test source atlib/choir/src/backends/debug.zig:1464in nearest public ownertiny.choir.backends.debug_infotiny.choir.SymbolTable.Collection.lookupSymbolIn[method] atlib/choir/src/core/symbols.zig:115lib.css.src.atom.test_a_copied_identifier_lives_in_the_arena_and_leaves_the_source[function] — test source atlib/css/src/atom.zig:185in nearest public ownertiny.css.atomlib.css.src.atom.test_a_distinct_identifier_takes_the_next_id_and_lookup_finds_both[function] — test source atlib/css/src/atom.zig:174in nearest public ownertiny.css.atomlib.css.src.atom.test_a_table_reset_clears_every_slot_and_keeps_its_storage[function] — test source atlib/css/src/atom.zig:211in nearest public ownertiny.css.atomlib.css.src.cascade.resolve.Resolver.lookupCustom[method] — private source atlib/css/src/cascade/resolve.zig:323in nearest public ownerlib.css.src.cascade.resolvelib.css.src.property.table.test_a_property_name_folds_and_an_unknown_name_resolves_to_nothing[function] — test source atlib/css/src/property/table.zig:305in nearest public ownerlib.css.src.property.tablelib.css.src.property.table.test_every_property_resolves_by_name_and_reports_its_own_metadata[function] — test source atlib/css/src/property/table.zig:297in nearest public ownerlib.css.src.property.table
Audit
| Definitions | 16 |
|---|---|
| Public names | 16 |
| Members | 137 |
| Version | 26.7.0 |
| Revision | daab053ee433 |