Base class for text formatters-types that output text_fragments.
class plain formatter
extends text formatter
private var nonnegative chars written
private string writer carets
private static string DEFAULT INDENT : " "
overload plain formatter(output[character] the output, string spaces)
override void process element(text element element)
if text utilities • is block(element)
if children is_not null
if text utilities • is block(element)
if style is_not null
if !first || element • get id == text library • BR
if text utilities • is indent(element)
if style is_not null
indent += 1
process(children)
override void do write newline()
override void do write string(readonly list[character] the string)
super • do write string(the string)
if underline stack • is not empty
while carets • size() < chars written
assert last underline index is nonnegative
for var nonnegative i : 0; i < the string • size; i += 1