hfmt: Haskell source code formatter

[ language, library, mit, program ] [ Propose Tags ]

Inspired by gofmt. Built using hlint, hindent, and stylish-haskell.

[Skip to Readme]


[Last Documentation]

  • Language
    • Haskell
      • Language.Haskell.Format
        • Language.Haskell.Format.Utilities
      • Source
        • Language.Haskell.Source.Enumerator


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS],,,,, 0.1.0, 0.1.1, 0.2.0, 0.2.1, 0.2.2,,,
Dependencies ansi-wl-pprint, base (>=4.8 && <5), bytestring, Cabal, conduit-combinators, Diff, directory, exceptions, filepath, haskell-src-exts (<1.20), hfmt, hindent (>=5 && <6), hlint (>=2 && <3), HUnit, optparse-applicative, path, path-io, pretty, stylish-haskell (>=0.8 && <0.9), text, transformers, yaml [details]
License MIT
Author Daniel Stiner
Maintainer Daniel Stiner <daniel.stiner@gmail.com>
Category Language
Home page http://github.com/danstiner/hfmt
Bug tracker http://github.com/danstiner/hfmt/issues
Source repo head: git clone git://github.com:danstiner/hfmt.git
Uploaded by danielstiner at 2018-01-11T07:25:29Z
Executables hfmt
Downloads 7655 total (25 in the last 30 days)
Rating 2.25 (votes: 2) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2021-06-02 [all 2 reports]

Readme for hfmt-0.2.0

[back to package description]


Hackage license Build Status

hfmt is a tool for formatting Haskell programs. Currently it is simply a gofmt style wrapper of the excellent tools hlint, hindent, and stylish-haskell.


with stack

$ stack install hfmt

with cabal

$ cabal install hfmt


Check all Haskell source under the current directory:


Overwrite files with formatting suggestions:

hfmt -w

Help text

λ hfmt --help
hfmt - format Haskell programs

Usage: hfmt.exe [-d|--print-diffs] [-s|--print-sources] [-l|--print-paths]
                [-w|--write-sources] [PATH]
  Operates on Haskell source files, reformatting them by applying suggestions
  from HLint, hindent, and stylish-haskell. Inspired by the gofmt utility.

Available options:
  -h,--help                Show this help text
  -d,--print-diffs         If a file's formatting is different, print a diff.
  -s,--print-sources       If a file's formatting is different, print its
  -l,--print-paths         If a file's formatting is different, print its path.
  -w,--write-sources       If a file's formatting is different, overwrite it.
  PATH                     Explicit paths to process.
                            - A single '-' will process standard input.
                            - Files will be processed directly.
                            - Directories will be recursively searched for
                              source files to process.
                            - .cabal files will be parsed and all specified
                              source directories and files processed.
                            - If no paths are given, the current directory will
                              be searched for .cabal files to process, if none
                              are found the current directory will be
                              recursively searched for source files to process.