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.0.1.0, 0.0.2.0, 0.0.2.1, 0.0.2.2, 0.0.2.3, 0.1.0, 0.1.1, 0.2.0, 0.2.1, 0.2.2, 0.2.3.0, 0.2.3.1
Dependencies ansi-wl-pprint, base (>=4.8 && <5), bytestring, Cabal, 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.8.*), 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 Thu Jan 11 07:25:29 UTC 2018
Distributions NixOS:0.2.3.1
Executables hfmt
Downloads 3649 total (188 in the last 30 days)
Rating 2.25 (votes: 2) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs pending
Build status unknown [no reports yet]

Modules

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

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for hfmt-0.2.0

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

Installation

with stack

$ stack install hfmt

with cabal

$ cabal install hfmt

Usage

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