on try-fix-uverb help sign in
servant/hlint.yaml
65 lines 1.9 kB history raw
1# HLint configuration file
2# https://github.com/ndmitchell/hlint
3##########################
5# This file contains a template configuration file, which is typically
6# placed as .hlint.yaml in the root of your project
9# Specify additional command line arguments
11# - arguments: [--color, --cpp-simple, -XQuasiQuotes]
14# Control which extensions/flags/modules/functions can be used
16# - extensions:
17# - default: false # all extension are banned by default
18# - name: [PatternGuards, ViewPatterns] # only these listed extensions can be used
19# - {name: CPP, within: CrossPlatform} # CPP can only be used in a given module
21# - flags:
22# - {name: -w, within: []} # -w is allowed nowhere
24# - modules:
25# - {name: [Data.Set, Data.HashSet], as: Set} # if you import Data.Set qualified, it must be as 'Set'
26# - {name: Control.Arrow, within: []} # Certain modules are banned entirely
28# - functions:
29# - {name: unsafePerformIO, within: []} # unsafePerformIO can only appear in no modules
32# Add custom hints for this project
34# Will suggest replacing "wibbleMany [myvar]" with "wibbleOne myvar"
35# - error: {lhs: "wibbleMany [x]", rhs: wibbleOne x}
38# Turn on hints that are off by default
40# Ban "module X(module X) where", to require a real export list
41# - warn: {name: Use explicit module export list}
43# Replace a $ b $ c with a . b $ c
44# - group: {name: dollar, enabled: true}
46# Generalise map to fmap, ++ to <>
47# - group: {name: generalise, enabled: true}
50# Ignore some builtin hints
51- ignore: {name: Redundant do}
52- ignore: {name: Parse error}
53- ignore: {name: Use fmap}
54- ignore: {name: Use list comprehension}
55- ignore: {name: Use lambda-case}
56- ignore: {name: Eta reduce}
57# - ignore: {name: Use const, within: SpecialModule} # Only within certain modules
60# Define some custom infix operators
61# - fixity: infixr 3 ~^#^~
64# To generate a suitable file for HLint do:
65# $ hlint --default > .hlint.yaml