hlint 2.1.1 → 2.1.2
raw patch · 6 files changed
+25/−30 lines, 6 filesdep ~extraPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: extra
API changes (from Hackage documentation)
Files
- CHANGES.txt +5/−0
- data/hlint.yaml +2/−0
- hlint.cabal +2/−2
- src/CmdLine.hs +15/−11
- src/Idea.hs +1/−9
- src/Report.hs +0/−8
CHANGES.txt view
@@ -1,5 +1,10 @@ Changelog for HLint (* = breaking change) +2.1.2, released 2018-04-16+ #407, don't error on unknown extensions on the command line+ Require extra-1.6.6+ #464, add more hints for concatMap+ #462, ignore home directory when it isn't present 2.1.1, released 2018-03-24 #457, suggest turning on LambdaCase if necessary #457, add RequiresExtension note
data/hlint.yaml view
@@ -122,6 +122,8 @@ - warn: {lhs: isPrefixOf (reverse x) (reverse y), rhs: isSuffixOf x y} - warn: {lhs: "foldr (++) []", rhs: concat} - warn: {lhs: foldr (++) "", rhs: concat}+ - warn: {lhs: "foldr ((++) . f) []", rhs: concatMap f}+ - warn: {lhs: foldr ((++) . f) "", rhs: concatMap f} - warn: {lhs: "foldl (++) []", rhs: concat, note: IncreasesLaziness} - warn: {lhs: foldl (++) "", rhs: concat, note: IncreasesLaziness} - warn: {lhs: foldl f (head x) (tail x), rhs: foldl1 f x}
hlint.cabal view
@@ -1,7 +1,7 @@ cabal-version: >= 1.18 build-type: Simple name: hlint-version: 2.1.1+version: 2.1.2 license: BSD3 license-file: LICENSE category: Development@@ -57,7 +57,7 @@ haskell-src-exts-util >= 0.2.1.2, uniplate >= 1.5, ansi-terminal >= 0.6.2,- extra >= 1.4.9,+ extra >= 1.6.6, refact >= 0.3, aeson >= 1.1.2.0
src/CmdLine.hs view
@@ -10,25 +10,28 @@ import Control.Monad.Extra import Data.Char import Data.List+import Data.Maybe+import Data.Functor+import HSE.All(CppFlags(..))+import Language.Haskell.Exts(defaultParseMode, baseLanguage)+import Language.Haskell.Exts.Extension+import Language.Preprocessor.Cpphs import System.Console.ANSI(hSupportsANSI)-import System.Console.CmdArgs.Implicit import System.Console.CmdArgs.Explicit(helpText, HelpFormat(..))+import System.Console.CmdArgs.Implicit import System.Directory.Extra+import System.Environment.Extra import System.Exit import System.FilePath import System.IO-import System.Process(readProcess)-import Language.Preprocessor.Cpphs-import HSE.All(CppFlags(..))-import Language.Haskell.Exts(defaultParseMode, baseLanguage)-import Language.Haskell.Exts.Extension-import Data.Maybe-import System.Environment.Extra+import System.IO.Error import System.Info.Extra+import System.Process import Util import Paths_hlint import Data.Version+import Prelude getCmd :: [String] -> IO Cmd@@ -217,11 +220,12 @@ -- we follow the stylish-haskell config file search policy -- 1) current directory or its ancestors; 2) home directory curdir <- getCurrentDirectory- home <- getHomeDirectory+ -- Ignores home directory when it isn't present.+ home <- catchIOError ((:[]) <$> getHomeDirectory) (const $ return []) b <- doesFileExist ".hlint.yaml" implicit <- findM doesFileExist $ "HLint.hs" : -- the default in HLint 1.*- map (</> ".hlint.yaml") (ancestors curdir ++ [home]) -- to match Stylish Haskell+ map (</> ".hlint.yaml") (ancestors curdir ++ home) -- to match Stylish Haskell return $ explicit1 ++ maybeToList implicit ++ explicit2 where ancestors = init . map joinPath . reverse . inits . splitPath@@ -310,7 +314,7 @@ f a "Haskell98" = [] f a ('N':'o':x) | Just x <- readExtension x = delete x a f a x | Just x <- readExtension x = x : delete x a- f a x = exitMessageImpure $ "Unknown extension: " ++ x+ f a x = UnknownExtension x : delete (UnknownExtension x) a readExtension :: String -> Maybe Extension
src/Idea.hs view
@@ -11,8 +11,6 @@ import Data.Functor import Data.List.Extra-import Data.Char-import Numeric import HSE.All import Config.Type import HsColour@@ -55,13 +53,7 @@ ,("refactorings", str $ show ideaRefactoring) ] where- str x = "\"" ++ concatMap f x ++ "\""- where f '\"' = "\\\""- f '\\' = "\\\\"- f '\n' = "\\n"- f '\r' = "\\r"- f x | isControl x || not (isAscii x) = "\\u" ++ takeEnd 4 ("0000" ++ showHex (ord x) "")- f x = [x]+ str x = "\"" ++ escapeJSON x ++ "\"" dict xs = "{" ++ intercalate "," [show k ++ ":" ++ v | (k,v) <- xs] ++ "}" list xs = "[" ++ intercalate "," xs ++ "]"
src/Report.hs view
@@ -66,11 +66,3 @@ writeNote = f . splitOn "`" where f (a:b:c) = escapeHTML a ++ "<tt>" ++ escapeHTML b ++ "</tt>" ++ f c f xs = concatMap escapeHTML xs--escapeHTML :: String -> String-escapeHTML = concatMap f- where- f '>' = ">"- f '<' = "<"- f '&' = "&"- f x = [x]