hfmt: Haskell source code formatter

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

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

[Skip to Readme]
Versions [faq],,,,, 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, conduit-combinators, Diff, directory, exceptions, filepath, haskell-src-exts (>1.20), hfmt, hindent (==5.*), hlint (==2.*), HUnit, optparse-applicative, path, path-io, pretty, stylish-haskell (==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 Tue May 22 15:05:17 UTC 2018
Distributions NixOS:
Executables hfmt
Downloads 4751 total (384 in the last 30 days)
Rating 2.25 (votes: 2) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2018-05-22 [all 1 reports]




Maintainer's Corner

For package maintainers and hackage trustees

Readme for hfmt-0.2.2

[back to package description]

hfmt ==== 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: hfmt Overwrite files with formatting suggestions: hfmt -w

Help text

λ hfmt --help hfmt - format Haskell programs Usage: hfmt [-d|--print-diffs] [FILE] Reformats Haskell source files by applying HLint, hindent, and stylish-haskell. 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 source. -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. FILE 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. Exit Codes: 0 = No error 1 = Encountered I/O or other operational error 2 = Failed to parse a source code file 3 = Source code was parsed but cannot be formatted properly 4 = Formatted code differs from existing source (--print-diffs only)