blob: 9a0203544b1479b4f003942833126cc456612855 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
stylish-haskell
===============
[![Build Status](https://secure.travis-ci.org/jaspervdj/stylish-haskell.png?branch=master)](http://travis-ci.org/jaspervdj/stylish-haskell)
Introduction
------------
A simple Haskell code prettifier. The goal is not to format all of the code in
a file, since I find those kind of tools often "get in the way".
Instead, this tool just tries to help where necessary.
Features
--------
- Aligns and sorts `import` statements
- Groups and wraps `{-# LANGUAGE #-}` pragmas
- Removes trailing whitespace
- Replaces tabs by four spaces
Feature requests are welcome! Use the [issue tracker] for that.
[issue tracker]: https://github.com/jaspervdj/stylish-haskell/issues
VIM integration
---------------
Since it works as a filter it is pretty easy to integrate this with VIM.
Just call
:%!stylish-haskell
or add a keybinding for it.
Example
-------
Turns:
-- | Some badly formatted Haskell code
{-# LANGUAGE ViewPatterns, TemplateHaskell #-}
{-# LANGUAGE GeneralizedNewtypeDeriving,
ViewPatterns,
ScopedTypeVariables #-}
module Bad where
import Control.Applicative ((<$>))
import System.Directory (doesFileExist)
import qualified Data.Map as M
import Data.Map ((!), keys, Map)
into:
-- | Some badly formatted Haskell code
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE ViewPatterns #-}
module Bad where
import Control.Applicative ((<$>))
import System.Directory (doesFileExist)
import Data.Map (Map, keys, (!))
import qualified Data.Map as M
|