splint 2.0.0.2 → 2.0.0.3
raw patch · 3 files changed
+11/−21 lines, 3 files
Files
- source/library/Splint.hs +10/−18
- source/library/Splint/Settings.hs +0/−2
- splint.cabal +1/−1
source/library/Splint.hs view
@@ -13,7 +13,6 @@ 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 =@@ -24,29 +23,26 @@ parsedResultAction :: [GHC.Plugins.CommandLineOption] ->- GHC.Plugins.ModSummary ->+ modSummary -> GHC.Plugins.ParsedResult -> GHC.Plugins.Hsc GHC.Plugins.ParsedResult-parsedResultAction commandLineOptions modSummary parsedResult = do- let fp = GHC.Plugins.ms_hspp_file modSummary- GHC.Plugins.liftIO . IO.hPutStrLn IO.stderr $ "[splint] Processing " <> fp <> " ..."+parsedResultAction commandLineOptions _ parsedResult = do logger <- GHC.Utils.Logger.getLogger dynFlags <- GHC.Plugins.getDynFlags let ghcMessageOpts = GHC.Driver.Config.Diagnostic.initPrintConfig dynFlags 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- IO.hPutStrLn IO.stderr $ "[splint] Processed " <> fp <> ": " <> show (length ideas) GHC.Driver.Errors.printOrThrowDiagnostics logger ghcMessageOpts diagOpts . GHC.Types.Error.mkMessages . GHC.Data.Bag.listToBag- $ fmap (ideaToWarnMsg diagOpts) ideas+ . fmap (ideaToWarnMsg diagOpts)+ . filter ((/=) HLint.Ignore . HLint.ideaSeverity)+ . uncurry HLint.applyHints settings+ . pure+ . HLint.createModuleEx+ . GHC.Hs.hpm_module+ $ GHC.Plugins.parsedResultModule parsedResult pure parsedResult ideaToWarnMsg :: GHC.Utils.Error.DiagOpts -> HLint.Idea -> GHC.Driver.Errors.Types.WarnMsg@@ -63,11 +59,7 @@ : fmap (GHC.Plugins.text . mappend "Note: " . show) (HLint.ideaNote idea)- diagnosticReason = case HLint.ideaSeverity idea of- HLint.Ignore -> GHC.Types.Error.WarningWithoutFlag- HLint.Suggestion -> GHC.Types.Error.WarningWithoutFlag- HLint.Warning -> GHC.Types.Error.WarningWithoutFlag- HLint.Error -> GHC.Types.Error.ErrorWithoutFlag+ diagnosticReason = GHC.Types.Error.WarningWithoutFlag diagnosticMessage = GHC.Types.Error.DiagnosticMessage { GHC.Types.Error.diagHints = ghcHints,
source/library/Splint/Settings.hs view
@@ -5,7 +5,6 @@ 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)@@ -49,7 +48,6 @@ 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.2+version: 2.0.0.3 synopsis: HLint as a GHC source plugin. description: Splint makes HLint available as a GHC source plugin. To use it, pass