TextFormatter

case class TextFormatter(renderChild: (TextFormatter, Element) => String, currentElement: Element, parents: List[Element], indentation: Indentation) extends BaseFormatter[TextFormatter]

API for renderers that produce text output.

Value parameters:
currentElement

the active element currently being rendered

indentation

the indentation mechanism for this formatter

parents

the stack of parent elements of this formatter in recursive rendering, with the root element being the last in the list

renderChild

the function to use for rendering child elements

Companion:
object
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Value members

Inherited methods

def child(element: Element): String

Renders the specified element on the current line.

Renders the specified element on the current line.

Inherited from:
BaseFormatter
def childPerLine(elements: Seq[Element]): String

Renders the specified elements, each of them on a new line using the current level of indentation.

Renders the specified elements, each of them on a new line using the current level of indentation.

Inherited from:
BaseFormatter
def children(elements: Seq[Element]): String

Renders the specified elements, all on the same line, without any separators.

Renders the specified elements, all on the same line, without any separators.

Inherited from:
BaseFormatter
def forMessage(message: RuntimeMessage)(whenEnabled: String): String

Renders the specified string only when the given message has at least the minimum message level defined for this formatter instance.

Renders the specified string only when the given message has at least the minimum message level defined for this formatter instance.

Inherited from:
BaseFormatter
def indented(f: TextFormatter => String): String

Invokes the specified render function with a new formatter that is indented one level to the right of this formatter.

Invokes the specified render function with a new formatter that is indented one level to the right of this formatter.

Inherited from:
BaseFormatter
def indentedChildren(elements: Seq[Element]): String

Renders the specified elements, each of them on a new line with the indentation increased one level to the right.

Renders the specified elements, each of them on a new line with the indentation increased one level to the right.

Inherited from:
BaseFormatter
def productElementNames: Iterator[String]
Inherited from:
Product
def productIterator: Iterator[Any]
Inherited from:
Product
def withMinIndentation(minIndent: Int)(f: TextFormatter => String): String

Invokes the specified render function with a formatter that has at least the specified minimum level of indentation. If this instance already has an indentation equal or greater to this value, the current level of indentation will be kept.

Invokes the specified render function with a formatter that has at least the specified minimum level of indentation. If this instance already has an indentation equal or greater to this value, the current level of indentation will be kept.

Inherited from:
BaseFormatter
def withoutIndentation(f: TextFormatter => String): String

Invokes the specified render function with a new formatter that has all indentation disabled.

Invokes the specified render function with a new formatter that has all indentation disabled.

This is usually only required when rendering literal elements or source code where rendered whitespace would be significant.

Inherited from:
BaseFormatter

Inherited fields

val newLine: String

A newline character followed by whitespace matching the indentation level of this instance.

A newline character followed by whitespace matching the indentation level of this instance.

Inherited from:
BaseFormatter