erlfmt
erlfmt copied to clipboard
An automated code formatter for Erlang
https://github.com/WhatsApp/erlfmt/pull/235 reads the file twice, but fixes an important issue to not write a file that has not been modified. Possibly lets always read in the whole file as a...
After analyses we have decided that support for trailing comments would be a good idea https://github.com/WhatsApp/erlfmt/blob/master/doc/FormattingDecisionComments.md ```erlang a, % trailing comment ``` This does not include aligning comments, only trailing...
Failure is something like `_build/default/plugins/erlfmt/src/erlfmt_parse.yrl:98:71: Warning: expression updates a literal` I'm guessing you're aware of the issue, by now, but this can serve as a way to follow-up on when...
`erlfmt_scan` returns `erl_anno:location()` in errors however `erlfmt_parse` mostly returns full `erlfmt_scan:anno()` maps. The errors from the parser also surface in the return value of `erlfmt:read_nodes[_string]` I noticed this via dialyzer...
Close #238 ### Time `time for i in {1..5}; _build/release/bin/erlfmt -w 'otp/lib/*/{src,include}/*.{erl,hrl}'; done` **Main** real 0m43.746s user 1m51.063s sys 0m39.859s **This** real 0m36.764s user 1m35.922s sys 0m34.750s ### Potential incompatibility...
Sometimes I need to nest macro directives, and when I do so, it's nice to indent them as one would do with code generally - just to keep it readable...
When calling `erlfmt` with absolute paths for the files to format, the excludes don't apply, even if the resolved paths of the excludes would match the files to format. Resolve...
Sigils: https://www.erlang.org/blog/highlights-otp-27/#sigils Triple Quoted Strings: https://www.erlang.org/blog/highlights-otp-27/#triple-quoted-strings Also adds tests for documentation attributes. See: https://www.erlang.org/blog/highlights-otp-27/#overhauled-documentation-system Resolves #355
When formatting a module containing a macro with an argument that is put inside a binary, a compilation error is generated: ```erl -module(my_module). -export([func/2]). -define(BIN(Arg), ). func(uuid, ?BIN(A:8)) -> A....