Sclang auto-indent tool

Here’s a very early attempt at a new sclang auto-formatter, based on @lnihlen’s Sparkler parser.

It’s very rough, but as it stands it does significantly better than the current sc-ide indenter. Please feel free to try it out, and propose pull requests, etc.

I’ll have only occasional time to work on this - there are two big ways to move this project forward:

  1. Put together a simple unit testing setup, where we can provide a folder of “before” and “after” test cases to validate that the formatting is done as expected.
    These would also give the community a place to discuss questions of “canonical” formatting, best-practices etc. If anyone want to work on this, it would be incredibly valuable and I’d be happy to provide guidance.

  2. Add an option to the current sc-ide to specify a command-line formatter rather than the built-in formatting.
    This would make it easier for users to test formatting in their own projects, and provide an escape hatch for people (like me…) who are frustrated with the current auto-formatting.

6 Likes

yooooooooooooooooo :clap: :clap: :clap: