2021-09-26 19:59:51 +03:00
|
|
|
# Based on HLint configuration file from https://github.com/ndmitchell/hlint
|
|
|
|
|
|
|
|
- arguments: [--color]
|
|
|
|
|
|
|
|
# --------------------------------------------------------------------------------
|
|
|
|
# RESTRICTIONS
|
|
|
|
# --------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
- extensions:
|
|
|
|
- default: false
|
2021-11-14 00:46:54 +03:00
|
|
|
- name: [DeriveFunctor, GeneralizedNewtypeDeriving, OverloadedStrings]
|
2021-09-26 19:59:51 +03:00
|
|
|
- name: [MultiWayIf, PatternGuards, RecordWildCards]
|
|
|
|
- name: [ScopedTypeVariables]
|
|
|
|
- name: [ConstraintKinds, RankNTypes, TypeFamilies]
|
|
|
|
# - {name: nameEXT, within: [moduleName]}
|
|
|
|
|
|
|
|
- flags:
|
|
|
|
- default: false
|
2021-11-14 00:46:54 +03:00
|
|
|
- {name: [-Wno-incomplete-patterns, -Wno-overlapping-patterns , Wno-partial-fields]}
|
2021-09-26 19:59:51 +03:00
|
|
|
|
|
|
|
- modules:
|
|
|
|
# if you import Data.Set qualified, it must be as 'Set'
|
|
|
|
- {name: [Data.Set, Data.HashSet], as: Set}
|
|
|
|
- {name: [Data.Map, Data.HashMap.Strict, Data.HashMap.Lazy], as: Map}
|
|
|
|
# - {name: Control.Arrow, within: []} # Certain modules are banned entirely
|
|
|
|
|
|
|
|
- functions:
|
|
|
|
- {name: Data.List.NonEmpty.nub, within: []}
|
|
|
|
- {name: Data.List.NonEmpty.nubBy, within: []}
|
|
|
|
|
|
|
|
# --------------------------------------------------------------------------------
|
|
|
|
# OTHER HINTS
|
|
|
|
# --------------------------------------------------------------------------------
|
|
|
|
|
2021-11-14 16:22:29 +03:00
|
|
|
# - warn: {name: Use explicit module export list}
|
2021-09-26 19:59:51 +03:00
|
|
|
|
|
|
|
# --------------------------------------------------------------------------------
|
|
|
|
# HINTS
|
|
|
|
# --------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
- error: {lhs: idea Warning, rhs: warn}
|
|
|
|
- error: {lhs: idea Suggestion, rhs: suggest}
|
|
|
|
- error: {lhs: ideaN Warning, rhs: warnN}
|
|
|
|
- error: {lhs: ideaN Suggestion, rhs: suggestN}
|
|
|
|
|
|
|
|
- error: {lhs: occNameString (occName (unLoc x)), rhs: rdrNameStr x}
|
|
|
|
- error: {lhs: occNameString (occName x), rhs: occNameStr x}
|
|
|
|
- error: {lhs: noLoc (HsVar noExtField (noLoc (mkRdrUnqual (mkVarOcc x)))), rhs: strToVar x}
|
|
|
|
|
|
|
|
# --------------------------------------------------------------------------------
|
|
|
|
# IGNORES
|
|
|
|
# --------------------------------------------------------------------------------
|
|
|
|
|
2021-10-30 12:51:42 +03:00
|
|
|
- ignore: {within: [MiniJuvix.Syntax.Core, MiniJuvix.Syntax.Eval]}
|
2021-11-14 16:22:29 +03:00
|
|
|
- ignore: {within: [MiniJuvix.Monad]}
|
2021-11-14 00:46:54 +03:00
|
|
|
- ignore: {within: [MiniJuvix.Pretty]}
|
2021-09-26 19:59:51 +03:00
|
|
|
- ignore: {name: Use let, within: [Test.All]}
|
2021-11-14 16:22:29 +03:00
|
|
|
- ignore: {name: Use String}
|
|
|
|
- ignore: {name: Avoid restricted flags}
|