diff options
author | stuebinm | 2021-12-25 02:56:38 +0100 |
---|---|---|
committer | stuebinm | 2021-12-25 02:56:38 +0100 |
commit | 887540e3bb4c2cfc63a142a573cc8161c5bc00d8 (patch) | |
tree | 90a0e452f93c1c3c12cc6a4c927523ffdf433651 /lib/LintWriter.hs | |
parent | 73feaafc47ef54e87dbf4f29b8828697ce1ffb6e (diff) |
don't print doubled lints twice
Diffstat (limited to 'lib/LintWriter.hs')
-rw-r--r-- | lib/LintWriter.hs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/LintWriter.hs b/lib/LintWriter.hs index eb7d138..2b891c3 100644 --- a/lib/LintWriter.hs +++ b/lib/LintWriter.hs @@ -52,8 +52,9 @@ import Control.Monad.Writer.Lazy (lift) import Data.Bifunctor (Bifunctor (second)) import Data.Map (Map, fromListWith) import Data.Maybe (mapMaybe) +import qualified Data.Set as S import LintConfig (LintConfig') -import TiledAbstract (HasName) +import TiledAbstract (HasName (getName)) import Types (Dep, Hint, Level (..), Lint (..), hint, lintsToHints) @@ -106,9 +107,9 @@ zoom embed extract operation = do -- | "invert" a linter's result, grouping lints by their messages -invertLintResult :: HasName ctxt => LintResult ctxt -> Map Hint [ctxt] +invertLintResult :: HasName ctxt => LintResult ctxt -> Map Hint [Text] invertLintResult (LinterState (lints, ctxt)) = - fromListWith (<>) $ (, [ctxt]) <$> lintsToHints lints + fmap (S.toList . S.fromList . fmap getName) . fromListWith (<>) $ (, [ctxt]) <$> lintsToHints lints resultToDeps :: LintResult a -> [Dep] resultToDeps (LinterState (lints,_)) = mapMaybe lintToDep lints |