Skip to content

Commit 6eb3ae0

Browse files
Make 'indent' global
1 parent 33bd59a commit 6eb3ae0

File tree

3 files changed

+15
-10
lines changed

3 files changed

+15
-10
lines changed

data/stylish-haskell.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@ steps:
1616
# add_language_pragma: true
1717

1818
# Format record definitions
19-
- records:
20-
indent: 4
19+
- records: {}
2120

2221
# Align the right hand side of some elements. This is quite conservative
2322
# and only applies to statements where each element occupies a single
@@ -226,6 +225,9 @@ steps:
226225
# simple_align but is a bit less conservative.
227226
# - squash: {}
228227

228+
# A common indentation setting. Different steps take this into account.
229+
indent: 4
230+
229231
# A common setting is the number of columns (parts of) code will be wrapped
230232
# to. Different steps take this into account.
231233
#

lib/Language/Haskell/Stylish/Config.hs

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,13 @@ type Extensions = [String]
5252

5353
--------------------------------------------------------------------------------
5454
data Config = Config
55-
{ configSteps :: [Step]
56-
, configColumns :: Maybe Int
57-
, configLanguageExtensions :: [String]
58-
, configNewline :: IO.Newline
59-
, configCabal :: Bool
60-
}
55+
{ configSteps :: [Step]
56+
, configIndent :: Int
57+
, configColumns :: Maybe Int
58+
, configLanguageExtensions :: [String]
59+
, configNewline :: IO.Newline
60+
, configCabal :: Bool
61+
}
6162

6263

6364
--------------------------------------------------------------------------------
@@ -120,6 +121,7 @@ parseConfig (A.Object o) = do
120121
-- First load the config without the actual steps
121122
config <- Config
122123
<$> pure []
124+
<*> (o A..:? "indent" A..!= 4)
123125
<*> (o A..:! "columns" A..!= Just 80)
124126
<*> (o A..:? "language_extensions" A..!= [])
125127
<*> (o A..:? "newline" >>= parseEnum newlines IO.nativeNewline)
@@ -184,8 +186,8 @@ parseSimpleAlign c o = SimpleAlign.step
184186

185187
--------------------------------------------------------------------------------
186188
parseRecords :: Config -> A.Object -> A.Parser Step
187-
parseRecords _ o = Data.step
188-
<$> (o A..:? "indent" A..!= 4)
189+
parseRecords c _ = Data.step
190+
<$> pure (configIndent c)
189191

190192

191193
--------------------------------------------------------------------------------

tests/Language/Haskell/Stylish/Config/Tests.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,7 @@ dotStylish = unlines $
166166
, " remove_redundant: true"
167167
, " - trailing_whitespace: {}"
168168
, " - records: {}"
169+
, "indent: 2"
169170
, "columns: 110"
170171
, "language_extensions:"
171172
, " - TemplateHaskell"

0 commit comments

Comments
 (0)