hfmt: Haskell source code formatter

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

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

[Skip to Readme]


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, Diff, directory, exceptions, filepath, haskell-src-exts, hfmt, hindent (>=5.2.3), hlint (>=1.9), HUnit, optparse-applicative, path, path-io, pipes, pretty, stylish-haskell (>=0.7), 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 2017-06-28T01:48:45Z
Executables hfmt
Downloads 7625 total (42 in the last 30 days)
Rating 2.25 (votes: 2) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-06-28 [all 1 reports]

Readme for hfmt-0.1.1

[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.