std.pretty.engine

annotate-begin

added in 3.0

(annotate-begin width)(annotate-begin width {:keys [position buffers]})

annotate-right

added in 3.0

(annotate-right)(annotate-right {:keys [position], :as state})

format-nodes

added in 3.0

(format-nodes width)(format-nodes width {:keys [fits length tab-stops column]})

formats nodes given line width

(eduction (annotate-right) (annotate-begin 4) (format-nodes 4) (serialize -doc-)) => "" “A” “\n” " " “B” “\n” " " “C” “\n” "" “D”

pprint-document

added in 3.0

(pprint-document doc)(pprint-document doc {:keys [width], :or {width 70}})

pretty prints a document

(with-out-str (pprint-document [:group “A” :line :nest 2 “B” :line “C” :line “D”])) => “A B C D”

(with-out-str (pprint-document [:group “A” :line :nest 2 “B” :line “C” :line “D”] {:width 4})) => “A\n B\n C\nD”

serialize

added in 3.0

(serialize input)

main serialize method, converts input into a set of operations

(serialize [:span “apple” :group “ball” :line “cat”]) => [{:op :text, :text “apple”} {:op :begin} {:op :text, :text “ball”} {:op :line, :inline " ", :terminate ""} {:op :text, :text “cat”} {:op :end}]

serialize-node-align

added in 3.0

(serialize-node-align [_ & args])

serialize-node-break

added in 3.0

(serialize-node-break & _)

creates a :break operation

(serialize-node-break :break) => {:op :break}

serialize-node-escaped

added in 3.0

(serialize-node-escaped [_ text])

creates an :escaped operation

(serialize-node-escaped :escaped “apple”) => {:op :escaped, :text “apple”}

serialize-node-group

added in 3.0

(serialize-node-group [_ & children])

serialize-node-line

added in 3.0

(serialize-node-line [_ inline terminate])

creates a :line operation

(serialize-node-line :line) => {:op :line, :inline " ", :terminate ""}

serialize-node-nest

added in 3.0

(serialize-node-nest [_ & args])

serialize-node-pass

added in 3.0

(serialize-node-pass [_ & text])

creates a :pass operation

(serialize-node-pass :pass “apple” “ball”) => {:op :pass, :text “appleball”}

serialize-node-span

added in 3.0

(serialize-node-span [_ & children])

serialize-node-text

added in 3.0

(serialize-node-text [_ & text])

creates a :text operation

(serialize-node-text :text “apple” “ball”) => {:op :text, :text “appleball”}