pprint

package pprint

Contains a convenient default pre-configured PPrinter.

Hard-coded and inflexible, but feel free to instantiate your own PPrint if you want to customize it.

Type members

Classlikes

case class PPrinter(defaultWidth: Int, defaultHeight: Int, defaultIndent: Int, defaultEscapeUnicode: Boolean, defaultShowFieldNames: Boolean, colorLiteral: Attrs, colorApplyPrefix: Attrs, additionalHandlers: PartialFunction[Any, Tree]) extends Walker
Value parameters:
additionalHandlers

Provide this to override how certain types are pretty-printed at runtime

colorApplyPrefix

What color to assign to Foo in Foo(bar, baz)

colorLiteral

What color to assign to literals like "lol" or 31337

defaultHeight

How tall to allow the pretty-printed output to become before truncated it with a ...

defaultIndent

How many spaces to indent each nested Tree.Apply by

defaultWidth

How wide to allow a pretty-printed value to become before wrapping

Companion:
object
object PPrinter
Companion:
class
object Renderer
Companion:
class
class Renderer(maxWidth: Int, colorApplyPrefix: Attrs, colorLiteral: Attrs, indentStep: Int)
Companion:
object
class Result(val iter: Iterator[Str], completedLineCount0: => Int, lastLineLength0: => Int)

The intermediate return type of the pretty-print system: provides an iterator which produces the actual string output, as well as metadata around that output that is only available after the iterator is exhausted

The intermediate return type of the pretty-print system: provides an iterator which produces the actual string output, as well as metadata around that output that is only available after the iterator is exhausted

Companion:
object
object Result
Companion:
class
trait TPrint[T]

Summoning an implicit TPrint[T] provides a pretty-printed string representation of the type T, much better than is provided by the default Type#toString. In particular

Summoning an implicit TPrint[T] provides a pretty-printed string representation of the type T, much better than is provided by the default Type#toString. In particular

  • More forms are properly supported and printed
  • Prefixed Types are printed un-qualified, according to what's currently in scope
Companion:
object
object TPrint extends TPrintLowPri
Companion:
class
case class TPrintColors(typeColor: Attrs)
Companion:
object
Companion:
class
Companion:
object
Companion:
class
sealed trait Tree

A lazy AST representing pretty-printable text. Models foo(a, b) foo op bar, and terminals foo in both lazy and eager forms

A lazy AST representing pretty-printable text. Models foo(a, b) foo op bar, and terminals foo in both lazy and eager forms

Companion:
object
object Tree
Companion:
class
class Truncated(chunks0: Iterator[Str], width: Int, height: Int, truncationMarker: String) extends Iterator[Str]

Wraps an input iterator of colored fansi.Strs, and produces the same fansi.Strs but truncated once the wrapped-at-width text reaches beyond a certain height

Wraps an input iterator of colored fansi.Strs, and produces the same fansi.Strs but truncated once the wrapped-at-width text reaches beyond a certain height

object Util
abstract class Walker

Inherited classlikes

object err
Inherited from:
PPrinter

Value members

Concrete methods

def tprint[T : TPrint](implicit evidence$1: TPrint[T], config: TPrintColors): Str

Inherited methods

def apply(x: Any, width: Int, height: Int, indent: Int, initialOffset: Int, escapeUnicode: Boolean, showFieldNames: Boolean): Str

Converts an Any into a large colored fansi.Str

Converts an Any into a large colored fansi.Str

Inherited from:
PPrinter
def log[T](x: Text[T], tag: String, width: Int, height: Int, indent: Int, escapeUnicode: Boolean, showFieldNames: Boolean)(implicit line: Line, fileName: FileName): T

Logs a given value to stdout with some metadata to identify where the log message came from. Hard-coded and not very flexible, but you can easily implement your own log method if you want to customize it further.

Logs a given value to stdout with some metadata to identify where the log message came from. Hard-coded and not very flexible, but you can easily implement your own log method if you want to customize it further.

Inherited from:
PPrinter
def pprintln[T](x: T, width: Int, height: Int, indent: Int, initialOffset: Int, escapeUnicode: Boolean, showFieldNames: Boolean): Unit

Converts an Any into a large colored fansi.Str

Converts an Any into a large colored fansi.Str

Inherited from:
PPrinter
def productElementNames: Iterator[String]
Inherited from:
Product
def productIterator: Iterator[Any]
Inherited from:
Product
def tokenize(x: Any, width: Int, height: Int, indent: Int, initialOffset: Int, escapeUnicode: Boolean, showFieldNames: Boolean): Iterator[Str]

Converts an Any into an iterator of colored chunks, wrapped at a certain width and truncated at a certain height

Converts an Any into an iterator of colored chunks, wrapped at a certain width and truncated at a certain height

Inherited from:
PPrinter
def treeify(x: Any, escapeUnicode: Boolean, showFieldNames: Boolean): Tree
Inherited from:
Walker

Inherited fields

val tuplePrefix: String
Inherited from:
Walker