- PPrint: an all-encompassing typeclass that contains
all you need to pretty-print a value T => Iter[String]
- PPrinter: a typeclass that takes a configuration
object and pretty-prints a value (T, Config) => Iter[String]
- Config: controls various metadata about the pprint, e.g. how
wide to go before we start wrapping, or what colors to use
- Chunker: (T, Config) => Iter[ Iter[String] ]. Implements the
very common comma-separated-values pattern, where each sub-iter
is one of the comma separated blocks, but it's up to the caller
to decide what to do with them
There are a few main classes involved here:
- PPrint: an all-encompassing typeclass that contains all you need to pretty-print a value T => Iter[String]
- PPrinter: a typeclass that takes a configuration object and pretty-prints a value (T, Config) => Iter[String]
- Config: controls various metadata about the pprint, e.g. how wide to go before we start wrapping, or what colors to use
- Chunker: (T, Config) => Iter[ Iter[String] ]. Implements the very common comma-separated-values pattern, where each sub-iter is one of the comma separated blocks, but it's up to the caller to decide what to do with them