Pretty printer based on
Pretty Printing
Derek C. Oppen, 1979
[https://www.cs.tufts.edu/~nr/cs257/archive/derek-oppen/prettyprinting.pdf]
with some enhancements.
Currently, implementation are available in
- Python3 (the reference implenentation) - see [tests.py] for usage
- C++ (17) - see [tests.cc] for usage
For more recent developments in the field of Pretty Printing this paper has a good historical overview:
The Final Pretty Printer
David Christiansen, David Darais, Weixi Ma
https://davidchristiansen.dk/drafts/final-pretty-printer-draft.pdf
Like most recent papers it is using a very functional style and may be less accessible.