All Projects → scalameta → Scalafmt

scalameta / Scalafmt

Licence: apache-2.0
Code formatter for Scala

Programming Languages

scala
5932 projects

Labels

Projects that are alternatives of or similar to Scalafmt

Sql Formatter
A whitespace formatter for different query languages
Stars: ✭ 779 (-26.16%)
Mutual labels:  formatter
Vim Codefmt
Stars: ✭ 870 (-17.54%)
Mutual labels:  formatter
Google Libphonenumber
The up-to-date and reliable Google's libphonenumber package for node.js.
Stars: ✭ 984 (-6.73%)
Mutual labels:  formatter
Online Markdown
A online markdown converter specially for Wechat Public formatting.
Stars: ✭ 812 (-23.03%)
Mutual labels:  formatter
Vim Clang Format
Vim plugin for clang-format, a formatter for C, C++, Obj-C, Java, JavaScript, TypeScript and ProtoBuf.
Stars: ✭ 837 (-20.66%)
Mutual labels:  formatter
Eryngii
[WIP] Erlang lint and formatter
Stars: ✭ 28 (-97.35%)
Mutual labels:  formatter
Rufo
The Ruby Formatter
Stars: ✭ 691 (-34.5%)
Mutual labels:  formatter
Brazilian Utils
Utils library for specific Brazilian businesses
Stars: ✭ 1,023 (-3.03%)
Mutual labels:  formatter
Vim Gofmt
Formats Go source code asynchronously with multiple Go formatters.
Stars: ✭ 11 (-98.96%)
Mutual labels:  formatter
Neoformat
✨ A (Neo)vim plugin for formatting code.
Stars: ✭ 977 (-7.39%)
Mutual labels:  formatter
Go Money
Go implementation of Fowler's Money pattern
Stars: ✭ 887 (-15.92%)
Mutual labels:  formatter
Moment.php
Parse, validate, manipulate, and display dates in PHP w/ i18n support. Inspired by moment.js
Stars: ✭ 900 (-14.69%)
Mutual labels:  formatter
Scalaunfmt
Generates the .scalafmt.conf that have minimum change to existing your scala codebase on running scalafmt.
Stars: ✭ 35 (-96.68%)
Mutual labels:  formatter
Headwind
An opinionated Tailwind CSS class sorter built for Visual Studio Code
Stars: ✭ 789 (-25.21%)
Mutual labels:  formatter
Caoutchouc
Make TeX great again
Stars: ✭ 38 (-96.4%)
Mutual labels:  formatter
Prettier Atom
An atom package for the prettier formatter.
Stars: ✭ 750 (-28.91%)
Mutual labels:  formatter
Gofmtrlx
(a bit) relaxed gofmt
Stars: ✭ 21 (-98.01%)
Mutual labels:  formatter
Sqlformat
.NET SQL Parser and Formatter Tool and SSMS Plugin
Stars: ✭ 49 (-95.36%)
Mutual labels:  formatter
React Currency Formatter
💵 react component for currency formatting
Stars: ✭ 38 (-96.4%)
Mutual labels:  formatter
Jupyterlab black
A JupyterLab extension to apply Black formatter to code within codecell.
Stars: ✭ 35 (-96.68%)
Mutual labels:  formatter

scalafmt

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

User documentation

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].