Scalafmt enforces one code style that is not widely used in the Scala community. I know several project maintainers in big Scala codebases, both using and not using scalafmt, that do not follow the scalafmt defaults.
In my view, this issue is not about the code formatter itself, but rather about the community picking a standard formatting style that beginners and advanced users alike can use without thinking too much about it. This decision process needs to be lead by community members and volunteers, and it would finalize when the style team reaches consensus.
Yeah, I agree I really like the way the Rust community handles these scenarios. I’m trying to get some inspiration from them.
It seems you’re not interested in moving this forward at the “political” level (to write a SIP document to chair a style team and decide on the code style). So we’ll need to wait for someone to do so.
I am constrained on time lately so I can only help in the process, not lead it. The process would be as follows:
- Volunteer writes small SIP document proposing:
1.1. To create a style team.
1.2. Which different parts of the community should be represented in the community.
1.3. Which mechanisms are used to confirm the style team has reached consensus.
1.4. How much this process would last.
1.5. Other details inspired by Rust’s RFC Process.
- SIP Committee accepts/rejects document.
- Volunteer chairs style team and organises public meetings. Public meetings are broadcast in Youtube.
- There are discussions with the community as meetings happen. Process finishes (let’s say in 3 months). The style team reaches consensus.
- The style guide is written. A PR is made against scala/scala-lang. Maintainers of the official docs merge it.
- Everyone thanks the volunteer and the style team for his hard work. Scala has a standard formatting style. Less confusion for beginners to learn the language, and less bikeshedding for advanced users.
Any suggestion to that ideal process is welcome.