Sourcemeta Core 0.0.0
Loading...
Searching...
No Matches
sourcemeta::core::YAMLRoundTrip::NodeStyle Struct Reference

Holds the formatting details recorded for a single node. More...

Public Attributes

std::optional< ScalarStyle > scalar
 The scalar presentation style.
std::optional< CollectionStyle > collection
 The collection presentation style.
std::optional< Chomping > chomping
 The chomping behavior for a block scalar.
std::size_t explicit_indent {0}
 The explicit block scalar indentation width.
bool indent_before_chomping {false}
 Whether the indentation indicator precedes the chomping indicator.
std::optional< std::string > block_content
 The original block scalar content.
std::optional< std::string > plain_content
 The original plain scalar content.
std::optional< std::string > quoted_content
 The original quoted scalar content.
std::optional< JSON > content_value
std::optional< std::string > anchor
 The anchor name attached to the node.
std::optional< std::string > tag
 The tag attached to the node, as it was written.
std::optional< JSON::Type > tag_type
bool tag_before_anchor {false}
 Whether the tag precedes the anchor.
std::vector< std::string > comments_before
 The comments preceding the node.
std::optional< std::string > comment_inline
 The comment on the same line as the node.
std::optional< std::string > comment_on_indicator
 The comment attached to a block scalar indicator.
bool compact_flow {false}
 Whether the flow collection uses compact formatting.
bool padded_flow {false}
 Whether the flow collection is padded with a space inside its delimiters.
bool unindented_sequence {false}
std::optional< std::size_t > sequence_size

Detailed Description

Holds the formatting details recorded for a single node.

Member Data Documentation

◆ content_value

std::optional<JSON> sourcemeta::core::YAMLRoundTrip::NodeStyle::content_value

The value the recorded original content was captured from, so that such content is only reproduced while the document still holds that value

◆ sequence_size

std::optional<std::size_t> sourcemeta::core::YAMLRoundTrip::NodeStyle::sequence_size

How many items the sequence held when it was read, so that comments and node properties recorded against a position are only reproduced while that position still holds the item they were read from

◆ tag_type

std::optional<JSON::Type> sourcemeta::core::YAMLRoundTrip::NodeStyle::tag_type

The type the tagged node held when the tag was recorded, so that a tag is only reproduced while the document still holds that kind of value

◆ unindented_sequence

bool sourcemeta::core::YAMLRoundTrip::NodeStyle::unindented_sequence {false}

Whether a block sequence that is the value of a mapping key sits at the same indentation as that key rather than one level in. See https://yaml.org/spec/1.2.2/#821-block-sequences


The documentation for this struct was generated from the following file: