One of the first language pretty-printers was the 1965 “ALGOL 60 Reference Language Editor”, designed to clean up badly-transcribed programs by tweaking indentation. But despite formatting tools having been around for a while, programmers have spent most of the last few decades tweaking code by hand. It’s relatively recently that Go, released in 2009, bundled gofmt with the compiler and made uniformity the default. Finally we could stop arguing about tabs vs spaces.
Raven now has its own formatting tool. You can use it from the CLI with raven fmt [files...], or raven fmt --diff. And it’s on by default in the VS Code plugin: write some code, hit save, and bask in the glory of your perfectly-fluffed code.
Of course, we have our own spin on the idea. Most formatters are borderline despotic, going out of their way to restrict your options. Raven takes the opposite approach: by default, we can parse and print files losslessly, preserving any amount of messiness. We then layer on transformations which fix obvious errors, without removing flexibility.