From 226154218b9bf9f40df02363f88b746bc4e065b3 Mon Sep 17 00:00:00 2001 From: Oleg Grenrus Date: Sun, 15 Sep 2019 17:20:19 +0300 Subject: [PATCH] Stricter HLint --- .hlint.yaml | 51 +++++++++++++++ hlint.yaml | 65 -------------------- servant/src/Servant/API/Experimental/Auth.hs | 1 - 3 files changed, 51 insertions(+), 66 deletions(-) create mode 100644 .hlint.yaml delete mode 100644 hlint.yaml diff --git a/.hlint.yaml b/.hlint.yaml new file mode 100644 index 00000000..7df8e101 --- /dev/null +++ b/.hlint.yaml @@ -0,0 +1,51 @@ +# Control which extensions/flags/modules/functions can be used +# +- extensions: + - default: false # all extension are banned by default + - name: + - CPP + - DataKinds + - DeriveDataTypeable + - DeriveFoldable + - DeriveFunctor + - DeriveGeneric + - DeriveTraversable + - FlexibleContexts + - FlexibleInstances + - FunctionalDependencies + - GADTs + - KindSignatures + - MultiParamTypeClasses + - OverloadedStrings + - PolyKinds + - RankNTypes + - ScopedTypeVariables + - TypeFamilies + - TypeOperators + - UndecidableInstances + +- modules: + - {name: [Data.Set], as: Set} + - {name: Control.Arrow, within: []} # Certain modules are banned entirely + +- functions: + - {name: unsafePerformIO, within: []} # unsafePerformIO can only appear in no modules + +# 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} + +# Ignore some builtin hints +- ignore: {name: Redundant do} +- ignore: {name: Parse error} +- ignore: {name: Use fmap} +- ignore: {name: "Use <$>"} +- ignore: {name: Use list comprehension} +- ignore: {name: Use lambda-case} +- ignore: {name: Eta reduce} + +# Add custom hints for this project +# +# Will suggest replacing "wibbleMany [myvar]" with "wibbleOne myvar" +# - error: {lhs: "wibbleMany [x]", rhs: wibbleOne x} diff --git a/hlint.yaml b/hlint.yaml deleted file mode 100644 index 5328fef4..00000000 --- a/hlint.yaml +++ /dev/null @@ -1,65 +0,0 @@ -# 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 - - -# 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} - - -# 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: Redundant do} -- ignore: {name: Parse error} -- ignore: {name: Use fmap} -- ignore: {name: Use list comprehension} -- ignore: {name: Use lambda-case} -- ignore: {name: Eta reduce} -# - 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 diff --git a/servant/src/Servant/API/Experimental/Auth.hs b/servant/src/Servant/API/Experimental/Auth.hs index 586b4958..ecd1e8aa 100644 --- a/servant/src/Servant/API/Experimental/Auth.hs +++ b/servant/src/Servant/API/Experimental/Auth.hs @@ -1,6 +1,5 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveDataTypeable #-} -{-# LANGUAGE KindSignatures #-} {-# LANGUAGE PolyKinds #-} module Servant.API.Experimental.Auth where