Lines Matching full:element
62 "At most one multi-line element can be finished at a time.");
64 // Parse the multi-line element as if it were contiguous.
69 // The whole line is part of the multi-line element.
75 // Find the first valid markup element, if any.
76 if (std::optional<MarkupNode> Element = parseElement(Line)) {
77 parseTextOutsideMarkup(takeTo(Line, Element->Text.begin()));
78 Buffer.push_back(std::move(*Element));
79 advanceTo(Line, Element->Text.end());
84 // multi-line element.
86 // Emit any text before the element.
89 // Begin recording the multi-line element.
111 // Finds and returns the next valid markup element in the given line. Returns
115 // Find next element using begin and end markers.
123 MarkupNode Element;
124 Element.Text = Line.slice(BeginPos, EndPos);
128 StringRef Content = Element.Text.drop_front(3).drop_back(3);
130 std::tie(Element.Tag, FieldsContent) = Content.split(':');
131 if (Element.Tag.empty())
136 FieldsContent.split(Element.Fields, ":");
138 Element.Fields.push_back(FieldsContent);
140 return Element;
158 // Emit any text before the SGR element.
170 // start of a multi-line element. If so, returns the beginning.
179 // a multi-line element.
194 // See if the line begins with the ending of an in-progress multi-line element.