2019-08-11 15:57:49 +03:00
|
|
|
# Help Hlint parse our code
|
|
|
|
- arguments:
|
|
|
|
- -XTypeApplications
|
2019-08-20 07:40:28 +03:00
|
|
|
- -XQuasiQuotes
|
2019-08-11 15:57:49 +03:00
|
|
|
|
|
|
|
# Force qualified imports to be imported consistently.
|
|
|
|
- modules:
|
|
|
|
# Common modules from the Haskell ecosystem. The chosen abbreviations
|
|
|
|
# are the most common or almost the most common, as per Hackage stats.
|
|
|
|
# For consistency, Data.ByteString and Data.ByteString.Lazy are
|
|
|
|
# abbreviated as BS and BSL respectively, even though B and BL are
|
|
|
|
# somewhat more common.
|
|
|
|
- { name: Data.ByteString, as: BS }
|
|
|
|
- { name: Data.ByteString.Lazy, as: BSL }
|
|
|
|
- { name: Data.ByteString.Char8, as: BSC }
|
|
|
|
- { name: Data.ByteString.Lazy.Char8, as: BSLC }
|
|
|
|
- { name: Data.Text, as: T }
|
|
|
|
- { name: Data.Text.Lazy, as: TL }
|
|
|
|
- { name: Data.HashMap.Strict, as: HM }
|
|
|
|
- { name: Data.HashMap.Lazy, as: HML }
|
|
|
|
# Less common modules deserve longer names.
|
|
|
|
- { name: Data.Aeson, as: Aeson }
|
|
|
|
- { name: Data.Yaml, as: Yaml }
|
|
|
|
- { name: Data.List.NonEmpty, as: NonEmpty }
|
|
|
|
|
|
|
|
# Forbid '-XCPP', which is poorly supported by code formatting tools. If a
|
|
|
|
# need to use '-XCPP' arises in the future, it should be contained within a
|
|
|
|
# single module named 'Compat'.
|
|
|
|
- extensions:
|
|
|
|
- { name: CPP, within: [] }
|
|
|
|
|
|
|
|
# Hints we don't like
|
2019-01-23 11:29:39 +03:00
|
|
|
- ignore: {name: 'Redundant do'}
|
|
|
|
- ignore: {name: 'Redundant bracket'}
|
|
|
|
- ignore: {name: 'Redundant $'}
|
|
|
|
- ignore: {name: 'Move brackets to avoid $'}
|
|
|
|
- ignore: {name: 'Eta reduce'}
|
|
|
|
- ignore: {name: 'Avoid lambda'}
|
|
|
|
- ignore: {name: 'Use const'}
|
|
|
|
- ignore: {name: 'Use if'}
|
|
|
|
- ignore: {name: 'Use fromMaybe'}
|
|
|
|
- ignore: {name: 'Use maybe'}
|
|
|
|
- ignore: {name: 'Use fmap'}
|
|
|
|
- ignore: {name: 'Use foldl'}
|
|
|
|
- ignore: {name: 'Use ++'}
|
|
|
|
- ignore: {name: 'Use ||'}
|
|
|
|
- ignore: {name: 'Use &&'}
|
|
|
|
- ignore: {name: 'Use ?~'}
|
|
|
|
- ignore: {name: 'Use <$>'}
|
|
|
|
- ignore: {name: 'Use .'}
|
|
|
|
- ignore: {name: 'Use head'}
|
|
|
|
- ignore: {name: 'Use String'}
|
|
|
|
- ignore: {name: 'Use Foldable.forM_'}
|
|
|
|
- ignore: {name: 'Use newtype instead of data'}
|
|
|
|
- ignore: {name: 'Redundant lambda'}
|
|
|
|
- ignore: {name: 'Use section'}
|
2019-08-11 15:57:49 +03:00
|
|
|
|
|
|
|
# Hints we won't be fixing yet
|
|
|
|
- ignore: {name: 'Reduce duplication'}
|