brittany
haskell source code formatter (by lspitzner)
hindent
Haskell pretty printer (by mihaimaruseac)
Our great sponsors
brittany | hindent | |
---|---|---|
7 | 2 | |
689 | 554 | |
- | - | |
0.0 | 9.0 | |
over 1 year ago | 8 days ago | |
Haskell | Haskell | |
GNU Affero General Public License v3.0 only | BSD 3-clause "New" or "Revised" License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
brittany
Posts with mentions or reviews of brittany.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-04-23.
-
Format multiline imports in hls (emacs)
You will also need a formatter that uses that style. Brittany for example. The default formattingProvider for HLS is ormolu, which I believe doesn't use this style, so you will have to change this setting.
-
Why is there no "standard" formatting tool for haskell?
For Haskell I use Brittany with this config:
Yeah I couldn't find anything at all which is really unfortunate. You could check out the config source code
-
Advent of Code 2021 day 1
Turns out I prefer Brittany to Ormolu, I edited it so it hopefully looks less verbose all on one line
-
Let's talk about Brittany
I use Brittany and prefer it to Ormolu, because it aligns more things and it break lines that are too long automatically. I have recently tried to figure out how I could implement a solution to https://github.com/lspitzner/brittany/issues/157, but it is quite hard to figure out which parts of the code would be involved in such a change. And I don't really have enough time to make steady contributions, but I will probably try to make a few contributions sometime.
I would say that development has stalled: https://github.com/lspitzner/brittany/issues/322
hindent
Posts with mentions or reviews of hindent.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-02-03.
-
I'm dissatisfied with both wrap and nowrap
Because every language is so different, every language requires individual care. So there are language specific formatters (https://github.com/mihaimaruseac/hindent for Haskell), which are usually configurable by some configuration file the in the project.
-
Let's talk about Brittany
In the long run, though, I expect Fourmolu (not Ormolu) will end up becoming the norm, because, really, two-space indents are not going to work for everyone. One of the things I like about hindent (that I did myself) is that it discovers default language extensions from the .cabal file, so you don't need to specify those yourself. I might see if I can get that code into Fourmolu.
What are some alternatives?
When comparing brittany and hindent you can also consider the following projects:
stylish-haskell - Haskell code prettifier [Moved to: https://github.com/haskell/stylish-haskell]
ormolu - A formatter for Haskell source code
axel - Haskell + Lisp
hfd - Flash debugger with haskeline interface
hfmt - Format Haskell programs. Inspired by the gofmt utility.
formura - Describe stencil formurae without even translating them
config-value - Simple, layout-based, unambiguous configuration language implemented in Haskell
CoreErlang - AST, parser, pretty-printer for Core Erlang source code.
lens-toml-parser - Lenses for toml-parser
hlint - Haskell source code suggestions
purescript - A strongly-typed language that compiles to JavaScript
hadolint - Dockerfile linter, validate inline bash, written in Haskell