scalafmt
Head over to the user docs for instructions on how to install scalafmt.
Quick help
sbt compile
or sbt core/compile
(specific project).- Run all unit tests:
sbt test
- Run only formatting tests:
tests/testOnly *FormatTests
. - Write new formatting test: read this doc.
- Build docs: See instructions on the site or locally at
./docs/contributing-website.md
. - Hack on sbt plugin: run
sbt scripted
. - Run jmh benchmarks:
./bin/run-benchmarks.sh
. - Run formatter on millions of lines of code:
tests/test:runMain org.scalafmt.ScalafmtProps
(slow, and requires a lot of memory/cpu) - Debug performance: after each test run in
FormatTests
, a flamegraph report
like this one
is generated in target/index.html
.
I usually keep a browser tab open at localhost:3000/target/index.html
along with this background process:
browser-sync start --server --files "target/*.html"
.
See Browsersync.
Team
The current maintainers (people who can merge pull requests) are:
An up-to-date list of contributors is available here: https://github.com/scalameta/scalafmt/graphs/contributors
We strive to offer a welcoming environment to learn, teach and contribute.
Acknowledgements
JProfiler generously supports scalafmt with its full-featured Java Profiler.