splint 2.0.0.0 → 2.0.0.1
raw patch · 3 files changed
+12/−7 lines, 3 files
Files
- source/library/Splint.hs +9/−6
- source/library/Splint/Settings.hs +2/−0
- splint.cabal +1/−1
source/library/Splint.hs view
@@ -13,6 +13,7 @@ import qualified Language.Haskell.HLint as HLint import qualified Splint.Replacement as Replacement import qualified Splint.Settings as Settings+import qualified System.IO as IO plugin :: GHC.Plugins.Plugin plugin =@@ -33,15 +34,17 @@ diagOpts = GHC.Driver.Config.Diagnostic.initDiagOpts dynFlags GHC.Plugins.liftIO $ do settings <- Settings.load commandLineOptions+ let ideas =+ uncurry HLint.applyHints settings+ . pure+ . HLint.createModuleEx+ . GHC.Hs.hpm_module+ $ GHC.Plugins.parsedResultModule parsedResult+ mapM_ (IO.hPutStrLn IO.stderr . mappend "[splint] " . show) ideas GHC.Driver.Errors.printOrThrowDiagnostics logger ghcMessageOpts diagOpts . GHC.Types.Error.mkMessages . GHC.Data.Bag.listToBag- . fmap (ideaToWarnMsg diagOpts)- . uncurry HLint.applyHints settings- . pure- . HLint.createModuleEx- . GHC.Hs.hpm_module- $ GHC.Plugins.parsedResultModule parsedResult+ $ fmap (ideaToWarnMsg diagOpts) ideas pure parsedResult ideaToWarnMsg :: GHC.Utils.Error.DiagOpts -> HLint.Idea -> GHC.Driver.Errors.Types.WarnMsg
source/library/Splint/Settings.hs view
@@ -5,6 +5,7 @@ import qualified Data.Map as Map import qualified Language.Haskell.HLint as HLint import qualified Splint.RemoteData as RemoteData+import qualified System.IO as IO import qualified System.IO.Unsafe as Unsafe type Settings = ([HLint.Classify], HLint.Hint)@@ -48,6 +49,7 @@ pure remoteData case remoteData of RemoteData.NotAsked -> do+ IO.hPutStrLn IO.stderr $ "[splint] Loading settings for " <> show commandLineOptions <> " ..." result <- withTMVar semaphore . const
splint.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.2 name: splint-version: 2.0.0.0+version: 2.0.0.1 synopsis: HLint as a GHC source plugin. description: Splint makes HLint available as a GHC source plugin. To use it, pass