IndentedChildren#
- class penzai.treescope.foldable_representation.basic_parts.IndentedChildren[source]#
Bases:
RenderableTreePartA sequence of children, one per line, and indented.
IndentedChildren is the primary way to lay out the content of ordinary containers across multiple lines.
- Variables:
children (Sequence[RenderableTreePart]) – Children to render on separate lines when expanded.
Inherited Attributes
collapsed_widthThe length of this rendering if collapsed in one line, in characters.
newlines_in_expanded_parentThe number of newlines in this rendering if in an expanded parent.
tags_in_this_partReturns a set of "tag" objects contained in this part.
Methods
__init__(children)build(children[, comma_separated, ...])Builds a IndentedChildren instance, supporting annotations and delimiters.
foldables_in_this_part()html_setup_parts(context)render_to_html(stream, *[, at_beginning_of_line])render_to_text(stream, *, expanded_parent, ...)Attributes
collapsed_widthThe length of this rendering if collapsed in one line, in characters.
newlines_in_expanded_parentThe number of newlines in this rendering if in an expanded parent.
tags_in_this_partReturns a set of "tag" objects contained in this part.
children- classmethod build(children: Sequence[RenderableAndLineAnnotations | RenderableTreePart], comma_separated: bool = False, force_trailing_comma: bool = False) IndentedChildren[source]#
Builds a IndentedChildren instance, supporting annotations and delimiters.
This method stacks the children together, optionally inserting delimiters, and moving any comments to the end of their lines.
- Parameters:
children – Children to render.
comma_separated – Whether to automatically insert commas between children. If False, delimiters can be manually inserted into
childrenfirst instead.force_trailing_comma – Whether to render a trailing comma in collapsed mode.
- Returns:
New IndentedChildren instance.