# Elm-format alternative

**URL:** <https://discourse.elm-lang.org/t/elm-format-alternative/1973>\
**Category:** Learn\
**Created:** [September 15, 2018, 7:40pm UTC](https://discourse.elm-lang.org/t/elm-format-alternative/1973 "2018-09-15T19:40:06Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![Paul\_Biggar](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/paul_biggar/32/1054_2.png) [@Paul\_Biggar](https://discourse.elm-lang.org/u/Paul_Biggar)\
**Post date:** [September 15, 2018, 8:34pm UTC](https://discourse.elm-lang.org/t/elm-format-alternative/1973/3 "2018-09-15T20:34:44Z")

</div>

Yes, I thought about this. Not a bad idea for some of the changes (eg lining up `|>` with the first letter on it’s lhs).

So what I’m looking for is avoiding extra spacing and lines. The compact branch of timjs/elm-format does a lot of this, especially removing extra lines between case conditions and between functions. Some extra that I’m looking for:

- dont go to newlines quite so quickly in `if`s and `case`s (use line-length to decide)
- dont add a newline before the first let-def in a `let`
- lets with one def that fit on a line should stay on that line, including the `in` at the end
- dont indent before `|>`

Ideally I’d also get to split imports into groups (core, libs, and our stuff) but I won’t die on that hill.

---

_[View the full topic](https://discourse.elm-lang.org/t/elm-format-alternative/1973)._
