packages feed

zifter-hlint (empty) → 0.0.0.0

raw patch · 4 files changed

+80/−0 lines, 4 filesdep +basedep +filepathdep +hlintsetup-changed

Dependencies added: base, filepath, hlint, path, path-io, safe, zifter

Files

+ LICENSE view
@@ -0,0 +1,21 @@+MIT License++Copyright (c) 2017 Tom Sydney Kerckhove++Permission is hereby granted, free of charge, to any person obtaining a copy+of this software and associated documentation files (the "Software"), to deal+in the Software without restriction, including without limitation the rights+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell+copies of the Software, and to permit persons to whom the Software is+furnished to do so, subject to the following conditions:++The above copyright notice and this permission notice shall be included in all+copies or substantial portions of the Software.++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE+SOFTWARE.
+ Setup.hs view
@@ -0,0 +1,3 @@+import Distribution.Simple++main = defaultMain
+ src/Zifter/Hlint.hs view
@@ -0,0 +1,27 @@+{-# LANGUAGE ScopedTypeVariables #-}++module Zifter.Hlint where++import Language.Haskell.HLint3 (hlint)+import Path+import Path.IO+import Safe+import qualified System.FilePath as FP++import Zifter.Zift++hlintZift :: Zift ()+hlintZift = do+    rd <- getRootDir+    fs <- liftIO $ snd <$> listDirRecur rd+    let sources = filter (not . hidden) $ filter ((== ".hs") . fileExtension) fs+    hints <- liftIO $ hlint ("--quiet" : map toFilePath sources)+    case hints of+        [] -> printPreprocessingDone "Hlint checks done."+        _ -> do+            printPreprocessingError $+                unlines $ "Hlint has suggestions." : map show hints+            fail $ unwords ["Hlint had", show $ length hints, "suggestions."]++hidden :: Path Abs t -> Bool+hidden = any ((Just '.' ==) . headMay) . FP.splitPath . toFilePath
+ zifter-hlint.cabal view
@@ -0,0 +1,29 @@+name: zifter-hlint+synopsis: zifter-hlint+description: zifter-hlint+version: 0.0.0.0+cabal-version: >=1.10+build-type: Simple+license: MIT+license-file: LICENSE+copyright: Copyright: (c) 2017 Tom Sydney Kerckhove+maintainer: syd.kerckhove@gmail.com+homepage: http://cs-syd.eu+category: Zift+author: Tom Sydney Kerckhove++library+    exposed-modules:+        Zifter.Hlint+    build-depends:+        base >=4.9 && <=5,+        filepath >=1.4 && <1.5,+        hlint >=1.9.39 && <1.10,+        path >=0.5 && <0.6,+        path-io >=1.2 && <1.3,+        safe >=0.3 && <0.4,+        zifter >=0.0 && <0.1+    default-language: Haskell2010+    hs-source-dirs: src/+    ghc-options: -Wall+