[PSS 2017] Autoformat Project

Post feature requests, product enhancement ideas, and other product-specific suggestions here. Do not post bug reports.
Forum rules
Do not post any licensing information in this forum.
Posts: 289
Joined: Sun Mar 03, 2013 11:45 am

[PSS 2017] Autoformat Project

Post by Bosparan »


we've just faced an interesting issue today.Formatting lots and lots of legacy code to our customers current standard.
Not really much of an issue with PSS - it already supports almost all of the formatting requirements (variable casing being the notable exemption, but you already have a feature request for that from me somewhere down the list ;) ). However I currently am only able to do it file-by-file.
Hundreds and hundreds of files ...
One by one.

So here's the idea:

Reformat entire projects
Yepp, a bulk reformat for all files in a project would be awesome.
An interesting extension of that could be a way to pass the thing some information: For example a list of aliases and what they should be expanded to (for cases where those can't be resolved in their current state due to missing resources). Not too critical, but helpful.

Which kinda leads me to another functionality I'd like to have ...

Make script formatter scriptable
PSS comes with a bit of overhead, especially when providing the function cache needed for primal sense (large projects can take quite a bit to load, even with recent improvements to project load times).
Imagine you'd open your script formatting to usage by scripts.
Either as a comandline application, a library or a function (Heck, if you provide a library or comandline tool, I'll be happy to throw in the function!).

As for formatting options:
- Default to PSS settings
- Make it possible to provide a configuration XML file (and the current configuration exportable to/importable from XML)
- Allow options by parameter

This would be another way to allow us to share formatting configurations and we could make a bulk-format part of our automated build actions.

This scriptable formatting thing could then either be only be usable with a licensed installation (for greater benefit of buying PSS) or be capable of standalone functionality (for greater usefulness and prestige).