81 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| # HLint configuration file
 | |
| # https://github.com/ndmitchell/hlint
 | |
| ##########################
 | |
| 
 | |
| # This file contains a template configuration file, which is typically
 | |
| # placed as .hlint.yaml in the root of your project
 | |
| 
 | |
| 
 | |
| # Warnings currently triggered by your code
 | |
| - ignore: {name: "Move brackets to avoid $"}
 | |
| - ignore: {name: "Redundant $"}
 | |
| - ignore: {name: "Redundant bracket"}
 | |
| - ignore: {name: "Avoid reverse"}
 | |
| - ignore: {name: "Eta reduce"}
 | |
| - ignore: {name: "Use sortOn"}
 | |
| - ignore: {name: "Use camelCase"}
 | |
| - ignore: {name: "Use list comprehension"}
 | |
| - ignore: {name: "Use fewer imports"}
 | |
| - ignore: {name: "Use tuple-section"}
 | |
| - ignore: {name: "Use section"}
 | |
| 
 | |
| 
 | |
| # Specify additional command line arguments
 | |
| #
 | |
| # - arguments: [--color, --cpp-simple, -XQuasiQuotes]
 | |
| 
 | |
| 
 | |
| # Control which extensions/flags/modules/functions can be used
 | |
| #
 | |
| # - extensions:
 | |
| #   - default: false # all extension are banned by default
 | |
| #   - name: [PatternGuards, ViewPatterns] # only these listed extensions can be used
 | |
| #   - {name: CPP, within: CrossPlatform} # CPP can only be used in a given module
 | |
| #
 | |
| # - flags:
 | |
| #   - {name: -w, within: []} # -w is allowed nowhere
 | |
| #
 | |
| # - modules:
 | |
| #   - {name: [Data.Set, Data.HashSet], as: Set} # if you import Data.Set qualified, it must be as 'Set'
 | |
| #   - {name: Control.Arrow, within: []} # Certain modules are banned entirely
 | |
| #
 | |
| # - functions:
 | |
| #   - {name: unsafePerformIO, within: []} # unsafePerformIO can only appear in no modules
 | |
| 
 | |
| 
 | |
| # Add custom hints for this project
 | |
| #
 | |
| # Will suggest replacing "wibbleMany [myvar]" with "wibbleOne myvar"
 | |
| # - error: {lhs: "wibbleMany [x]", rhs: wibbleOne x}
 | |
| 
 | |
| # The hints are named by the string they display in warning messages.
 | |
| # For example, if you see a warning starting like
 | |
| #
 | |
| # Main.hs:116:51: Warning: Redundant ==
 | |
| #
 | |
| # You can refer to that hint with `{name: Redundant ==}` (see below).
 | |
| 
 | |
| # Turn on hints that are off by default
 | |
| #
 | |
| # Ban "module X(module X) where", to require a real export list
 | |
| # - warn: {name: Use explicit module export list}
 | |
| #
 | |
| # Replace a $ b $ c with a . b $ c
 | |
| # - group: {name: dollar, enabled: true}
 | |
| #
 | |
| # Generalise map to fmap, ++ to <>
 | |
| # - group: {name: generalise, enabled: true}
 | |
| 
 | |
| 
 | |
| # Ignore some builtin hints
 | |
| # - ignore: {name: Use let}
 | |
| # - ignore: {name: Use const, within: SpecialModule} # Only within certain modules
 | |
| 
 | |
| 
 | |
| # Define some custom infix operators
 | |
| # - fixity: infixr 3 ~^#^~
 | |
| 
 | |
| 
 | |
| # To generate a suitable file for HLint do:
 | |
| # $ hlint --default > .hlint.yaml
 |