var depth: Int
var indentWidth: Int
The number of spaces used for indentation.
var inlineMatchingOptions: [([AST.MatchingOption], Bool)]
var maxTopDownLevels: Int?
The maximum number number of levels, from the root of the tree, at which to perform pattern conversion.
var minBottomUpLevels: Int?
The maximum number number of levels, from the leaf nodes of the tree, at which to perform pattern conversion.
var quantificationBehavior: AST.Quantification.Kind
func finish() -> String
func indent()
Indents a new line, if at the start of a line, otherwise does nothing.
func output(String)
Outputs a string directly, without termination or indentation, and without updating any internal state.
func popMatchingOptions() -> ([AST.MatchingOption], Bool)
Pops the most recent list of matching options from the printer and decreases the indentation level by 1.
func print(String)
Print out a new entry.
func printAsCanonical(AST, delimiters: Bool, terminateLine: Bool)
Outputs a regular expression abstract syntax tree in canonical form, indenting and terminating the line, and updating its internal state.
func printIndented((inout PrettyPrinter) -> ())
Executes f
at one increased level of indentation.
func printLine(() -> String?)
Prints out a new entry by invoking f
until it returns nil
.
func pushMatchingOptions([AST.MatchingOption], isAdded: Bool)
Pushes the list of matching options to the current stack of other matching options and increases the indentation level by 1.
func terminateLine()
Terminates a line, updating any relevant state.