Skip to content

Commit 74cf829

Browse files
committed
Update .stylish-haskell
1 parent bcca635 commit 74cf829

File tree

1 file changed

+118
-6
lines changed

1 file changed

+118
-6
lines changed

.stylish-haskell.yaml

Lines changed: 118 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,14 @@ steps:
1515
# # true.
1616
# add_language_pragma: true
1717

18+
# Align the right hand side of some elements. This is quite conservative
19+
# and only applies to statements where each element occupies a single
20+
# line.
21+
- simple_align:
22+
cases: false
23+
top_level_patterns: false
24+
records: false
25+
1826
# Import cleanup
1927
- imports:
2028
# There are different ways we can align names and lists.
@@ -33,6 +41,91 @@ steps:
3341
# Default: global.
3442
align: global
3543

44+
# Folowing options affect only import list alignment.
45+
#
46+
# List align has following options:
47+
#
48+
# - after_alias: Import list is aligned with end of import including
49+
# 'as' and 'hiding' keywords.
50+
#
51+
# > import qualified Data.List as List (concat, foldl, foldr, head,
52+
# > init, last, length)
53+
#
54+
# - with_alias: Import list is aligned with start of alias or hiding.
55+
#
56+
# > import qualified Data.List as List (concat, foldl, foldr, head,
57+
# > init, last, length)
58+
#
59+
# - new_line: Import list starts always on new line.
60+
#
61+
# > import qualified Data.List as List
62+
# > (concat, foldl, foldr, head, init, last, length)
63+
#
64+
# Default: after_alias
65+
list_align: new_line
66+
67+
# Long list align style takes effect when import is too long. This is
68+
# determined by 'columns' setting.
69+
#
70+
# - inline: This option will put as much specs on same line as possible.
71+
#
72+
# - new_line: Import list will start on new line.
73+
#
74+
# - new_line_multiline: Import list will start on new line when it's
75+
# short enough to fit to single line. Otherwise it'll be multiline.
76+
#
77+
# - multiline: One line per import list entry.
78+
# Type with contructor list acts like single import.
79+
#
80+
# > import qualified Data.Map as M
81+
# > ( empty
82+
# > , singleton
83+
# > , ...
84+
# > , delete
85+
# > )
86+
#
87+
# Default: inline
88+
long_list_align: new_line
89+
90+
# Align empty list (importing instances)
91+
#
92+
# Empty list align has following options
93+
#
94+
# - inherit: inherit list_align setting
95+
#
96+
# - right_after: () is right after the module name:
97+
#
98+
# > import Vector.Instances ()
99+
#
100+
# Default: inherit
101+
empty_list_align: right_after
102+
103+
# List padding determines indentation of import list on lines after import.
104+
# This option affects 'long_list_align'.
105+
#
106+
# - <integer>: constant value
107+
#
108+
# - module_name: align under start of module name.
109+
# Useful for 'file' and 'group' align settings.
110+
list_padding: module_name
111+
112+
# Separate lists option affects formating of import list for type
113+
# or class. The only difference is single space between type and list
114+
# of constructors, selectors and class functions.
115+
#
116+
# - true: There is single space between Foldable type and list of it's
117+
# functions.
118+
#
119+
# > import Data.Foldable (Foldable (fold, foldl, foldMap))
120+
#
121+
# - false: There is no space between Foldable type and list of it's
122+
# functions.
123+
#
124+
# > import Data.Foldable (Foldable(fold, foldl, foldMap))
125+
#
126+
# Default: true
127+
separate_lists: true
128+
36129
# Language pragmas
37130
- language_pragmas:
38131
# We can generate different styles of language pragma lists.
@@ -47,13 +140,20 @@ steps:
47140
# Default: vertical.
48141
style: vertical
49142

143+
# Align affects alignment of closing pragma brackets.
144+
#
145+
# - true: Brackets are aligned in same collumn.
146+
#
147+
# - false: Brackets are not aligned together. There is only one space
148+
# between actual import and closing bracket.
149+
#
150+
# Default: true
151+
align: true
152+
50153
# stylish-haskell can detect redundancy of some language pragmas. If this
51154
# is set to true, it will remove those redundant pragmas. Default: true.
52155
remove_redundant: true
53156

54-
# Align the types in record declarations
55-
- records: {}
56-
57157
# Replace tabs by spaces. This is disabled by default.
58158
# - tabs:
59159
# # Number of spaces to use for each tab. Default: 8, as specified by the
@@ -67,11 +167,23 @@ steps:
67167
# to. Different steps take this into account. Default: 80.
68168
columns: 80
69169

170+
# By default, line endings are converted according to the OS. You can override
171+
# preferred format here.
172+
#
173+
# - native: Native newline format. CRLF on Windows, LF on other OSes.
174+
#
175+
# - lf: Convert to LF ("\n").
176+
#
177+
# - crlf: Convert to CRLF ("\r\n").
178+
#
179+
# Default: native.
180+
newline: lf
181+
70182
# Sometimes, language extensions are specified in a cabal file or from the
71183
# command line instead of using language pragmas in the file. stylish-haskell
72184
# needs to be aware of these, so it can parse the file correctly.
73185
#
74186
# No language extensions are enabled by default.
75-
language_extensions:
76-
- TemplateHaskell
77-
- QuasiQuotes
187+
# language_extensions:
188+
# - TemplateHaskell
189+
# - QuasiQuotes

0 commit comments

Comments
 (0)