michalmuskala

michalmuskala

Try erlfmt today!

We’re very happy to announce the general availability of erlfmt - an automated code formatter for Erlang.

erlfmt is an opinionated Erlang code formatter. By automating the process of formatting the code, it frees your team up to focus on what the code does, instead of what it looks like. erlfmt works with any Erlang file: .erl , .hrl , rebar.config , escripts, and more. It can be used both in rebar3 projects and standalone as a precompiled escript.

erlfmt is feature complete and now is a final opportunity, before the release of version 1.0.0, to influence formatting decisions. We would appreciate your feedback, try out erlfmt on your project and share your remarks by opening a github issue with examples.

Comparison with other erlang formatters

In it’s design approach erlfmt is very similar to the Elixir formatter - it should feel very familiar for most Elixir users. The formatter never changes the semantics or structure of the code. It provides as little configuration as possible. It also avoids special cases as much as possible. Elixir users will also find the familiar behaviour of preserving newlines and respecting some other elements of the original format.

Links

Most Liked

dom

dom

Looks fantastic! I might have to try plain old Erlang again if you guys keep improving things :stuck_out_tongue:

Qqwy

Qqwy

TypeCheck Core Team

Congradulations on this release! Very exciting :confetti_ball:! :smiley:

akoutmos

akoutmos

Author of Build a Weather Station with Elixir and Nerves

This is awesome!!! Huge thanks to you and everyone else involved :slight_smile:

bottlenecked

bottlenecked

Not sure what the reason is for Whatsapp’s surge of open source contributions on the BEAM ecosystem (facebook culture seeping in? hiring people with open source sensibilities?) but I sure do welcome it!

Where Next?

Popular in Erlang News Top

Devtalk
A new Erlang news item has been posted! Posted via Devtalk.
New
jhogberg
maint was accidentally hard-reset to master yesterday and pushed upstream, and a few of our own commits were then based on incorrect vers...
New
erlangforums
A new Erlang announcement has been posted: Original announcement:
New
kennethL
Read the new Blog post by John Högberg at the OTP team. It is a brief primer on BEAM, the virtual machine that executes user code in th...
New
garazdawi
Patch Package: OTP 28.0.1 Git Tag: OTP-28.0.1 Date: 2025-06-16 Trouble Report Id: OTP-...
New
Devtalk
A new Erlang news item has been posted! Link: Release OTP 24.0.4 · erlang/otp · GitHub Posted via Devtalk.
New
jhogberg
maint was accidentally hard-reset to master about an hour ago and pushed upstream, and a few of our own commits were then based on incorr...
New
erlangforums
A new Erlang announcement has been posted: Original announcement:
New
erlangforums
Erlang/OTP 27 Released All artifacts for the release can be downloaded from the Erlang/OTP Github release and you can view the new docume...
New
voltone
Erlang/OTP 23.2.2 is out, fixing a critical TLS certificate verification issue in 23.2 an 23.2.1 allowing MitM attacks and forged client ...
New

Other popular topics Top

stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
freewebwithme
Using vs code and installed ElixirLS: support and debugger. And I got an error popped up on start up says Failed to run ‘elixir’ comma...
New
vrod
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors: [WARN] - (starship::utils): Executing command ...
New
chrismccord
Phoenix 1.4.0 released Phoenix 1.4 is out! This release ships with exciting new features, most notably with HTTP2 support, improved deve...
688 30048 115
New
Tee
can someone please explain to me how Enum.reduce works with maps
New
_russellb
I want to try my hand at web scraping. What tools/libraries do I need to use. I’m hoping to turn this into something professional so don’...
New
vertexbuffer
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
vac
Hi, I'm quite new in Elixir and I'm trying to format a string to a PEM format. I have the certificate value like MIIDBTCCAe2...... and ...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
lucidguppy
I have a super simple question about elixir - how would I take a file like this foo bar baz and output a new file that enumerates th...
New

We're in Beta

About us Mission Statement