org.typelevel.paiges

Doc

object Doc extends Serializable

Linear Supertypes
Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Doc
  2. Serializable
  3. Serializable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def cat(ds: Iterable[Doc]): Doc

    Concatenate the given documents together.

    Concatenate the given documents together.

    cat(ds) is equivalent to ds.foldLeft(empty)(_ + _)

  8. def char(c: Char): Doc

    Build a document from a single character.

  9. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. val comma: Doc

    a literal comma, equivalent to char(',')

  11. val empty: Doc

  12. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  14. def equivAtWidths(widths: List[Int]): Equiv[Doc]

    Require documents to be equivalent at all the given widths, as well as at their "wide" renderings.

  15. def fill(sep: Doc, ds: Iterable[Doc]): Doc

    Collapse a collection of documents into one document, delimited by a separator.

    Collapse a collection of documents into one document, delimited by a separator.

    For example:

    import Doc.{ comma, line, text, fill } val ds = text("1") :: text("2") :: text("3") :: Nil val doc = fill(comma + line, ds)

    doc.render(0) // produces "1,\n2,\n3" doc.render(6) // produces "1, 2,\n3" doc.render(10) // produces "1, 2, 3"

  16. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  17. def foldDocs(ds: Iterable[Doc])(fn: (Doc, Doc) ⇒ Doc): Doc

    Combine documents, using the given associative function.

    Combine documents, using the given associative function.

    The function fn must be associative. That is, the expression fn(x, fn(y, z)) must be equivalent to fn(fn(x, y), z).

    In practice this method builds documents from the right, so that the resulting concatenations are all right-associated.

  18. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  19. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  20. def intercalate(sep: Doc, ds: Iterable[Doc]): Doc

    Concatenate the given documents together, delimited by the given separator.

    Concatenate the given documents together, delimited by the given separator.

    For example, intercalate(comma, List(a, b, c)) is equivalent to a + comma + b + comma + b.

  21. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  22. val line: Doc

    when flattened a line becomes a space You might also @see lineBreak if you want a line that is flattened into empty

  23. val lineBreak: Doc

    A lineBreak is a line that is flattened into an empty Doc.

    A lineBreak is a line that is flattened into an empty Doc. This is generally useful in code following tokens that parse without the need for whitespace termination (consider ";" "," "=>" etc..)

    when we call .grouped on lineBreak we get lineOrEmpty

  24. val lineOrEmpty: Doc

    lineOrEmpty renders as empty if we can fit the rest or inserts a newline.

    lineOrEmpty renders as empty if we can fit the rest or inserts a newline. Identical to lineBreak.grouped

  25. val lineOrSpace: Doc

    lineOrSpace renders a space if we can fit the rest or inserts a newline.

    lineOrSpace renders a space if we can fit the rest or inserts a newline. Identical to line.grouped

  26. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  27. final def notify(): Unit

    Definition Classes
    AnyRef
  28. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  29. def orderingAtWidth(w: Int): Ordering[Doc]

    Order documents by how they render at the given width.

  30. def paragraph(s: String): Doc

    Split the given text into words (separated by whitespace), and then join those words with a space or newline.

    Split the given text into words (separated by whitespace), and then join those words with a space or newline.

    This produces text which will wrap naturally at line boundaries, producing a block of text.

    paragraph is an alias for Doc.split(s), which uses its default arguments to split on whitespace and to rejoin the documents with Doc.lineOrSpace.

  31. val space: Doc

  32. def spaces(n: Int): Doc

    Produce a document of exactly n spaces.

    Produce a document of exactly n spaces.

    If n < 1, and empty document is returned.

  33. def split(str: String, pat: Regex = Doc.splitWhitespace, sep: Doc = Doc.lineOrSpace): Doc

    Convert a string to text, replacing instances of the given pattern with the corresponding separator.

    Convert a string to text, replacing instances of the given pattern with the corresponding separator.

    Like Doc.text, this method will also lift newlines into the Doc abstraction.

    The default pattern to use is """\s+""".r and the default separator to use is Doc.lineOrSpace.

  34. def spread(ds: Iterable[Doc]): Doc

    Concatenate the given documents together, delimited by spaces.

  35. def stack(ds: Iterable[Doc]): Doc

    Concatenate the given documents together, delimited by newlines.

  36. def str[T](t: T): Doc

    Convert an arbitrary value to a Doc, using toString.

    Convert an arbitrary value to a Doc, using toString.

    This method is equivalent to Doc.text(t.toString).

  37. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  38. def tabulate(fill: Char, rightSep: String, rows: Iterable[(String, Doc)]): Doc

    build a table with the strings left aligned and the Docs starting in the column after the longest string.

    build a table with the strings left aligned and the Docs starting in the column after the longest string. The Docs on the right are rendered aligned after the rightSep

    fill

    the character used to fill the columns to make the values aligned (i.e. ' ' or '.')

    rightSep

    a string append left to the left of the value. Intended for use with bullets on values

    rows

    a List of key, value pairs to put in a table.

  39. def tabulate(kv: List[(String, Doc)]): Doc

    A simple table which is the same as: tabulate("", ' ', "", kv)

    A simple table which is the same as: tabulate("", ' ', "", kv)

    or, no right separator and a space as the fill

  40. def text(str: String): Doc

    Convert a string to text.

    Convert a string to text.

    This method translates newlines into an appropriate document representation. The result may be much more complex than a single Text(_) node.

  41. def toString(): String

    Definition Classes
    AnyRef → Any
  42. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  43. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  44. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped