1
1
mirror of https://github.com/aelve/guide.git synced 2024-11-22 20:01:36 +03:00
guide/.hlint.yaml
Artyom Kazak 0c50de646b Enable all unobjectionable extensions (#384)
* Enable OverloadedStrings by default

* Remove pragmas for default extensions

* Enable some other extensions

* Enable TemplateHaskell
2019-08-20 04:40:28 +00:00

60 lines
2.0 KiB
YAML

# Help Hlint parse our code
- arguments:
- -XTypeApplications
- -XQuasiQuotes
# 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
- 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'}
# Hints we won't be fixing yet
- ignore: {name: 'Reduce duplication'}