This repo is now a fork of --->
Clone or download
Pull request Compare This branch is 1 commit ahead, 447 commits behind scalameta:master.
olafurpg Fix version number in website.
After replacing + with - in scalameta#1082 then the website started showing the
full version.
Latest commit 12ed28a Dec 1, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
bin
project
readme
scalafmt-benchmarks/src
scalafmt-cli/src/main/scala/org/scalafmt/cli Use the encoding option when writing files, too. Sep 22, 2017
scalafmt-core
scalafmt-intellij-plugin
scalafmt-intellij
scalafmt-sbt-tests/src/sbt-test/scalafmt-sbt/helloworld
scalafmt-sbt/src/main/scala/org/scalafmt/sbt
scalafmt-tests/src Setting renaming Nov 24, 2017
.drone.yml
.drone.yml.sig
.gitignore
.jvmopts Re-enable appveyor (scalameta#986) Jun 18, 2017
.sbtopts Add Java 6 compatibility, fixes scalameta#112. Mar 9, 2016
.scalafmt.conf
.travis.yml
CONTRIBUTING.md
LICENCE.md
appveyor.yml
build.sbt
readme.md
sbt
scalafmt
scalafmt.ps1

readme.md

scalafmt

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

User documentation

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: sbt readme/run will create the docs, which you can open with open readme/target/scalatex/index.html. Docs are built with Scalatex.
  • 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.