Skip to content

adampauls/scalafmt

This branch is 4367 commits behind scalameta/scalafmt:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

0b8b3da · Sep 1, 2019
Dec 14, 2017
Jul 15, 2019
Aug 17, 2019
Jun 28, 2019
Apr 3, 2019
Apr 3, 2019
Aug 18, 2019
Sep 1, 2019
Jan 7, 2019
Aug 17, 2019
Apr 3, 2019
Apr 3, 2019
Apr 3, 2019
Sep 1, 2019
Jul 15, 2019
Apr 23, 2017
Apr 23, 2017
Jul 15, 2019
Aug 24, 2018
Mar 9, 2016
Apr 3, 2019
Aug 11, 2019
May 27, 2018
Mar 3, 2016
Apr 20, 2019
Jul 1, 2019
Apr 6, 2019
Mar 16, 2017
Apr 3, 2019
Jul 1, 2017

Repository files navigation

scalafmt

Build Status Build status Join the chat at https://gitter.im/scalameta/scalafmt Latest version

Head over to the user docs for instructions on how to install scalafmt.

Quick help

  • sbt compile on a clean machine will fail to compile the scalafmt-intellij project.
    • if you plan to develop the intellij plugin, run downloadIdea first to fetch the IntelliJ SDK (~600mb).
    • or, run sbt test 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 IntelliJ plugin: see this doc.
  • 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.
  • intellij/compile:compileIncremental failed? Run downloadIdea to download custom IntelliJ plugin. The download may take a while.

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.

Packages

No packages published

Languages

  • Scala 95.3%
  • Shell 2.1%
  • JavaScript 1.1%
  • Java 0.7%
  • CSS 0.6%
  • Standard ML 0.2%