summaryrefslogtreecommitdiff
path: root/lib/CheckMap.hs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--lib/CheckMap.hs17
1 files changed, 9 insertions, 8 deletions
diff --git a/lib/CheckMap.hs b/lib/CheckMap.hs
index b32bad6..3966988 100644
--- a/lib/CheckMap.hs
+++ b/lib/CheckMap.hs
@@ -16,7 +16,7 @@ import qualified Data.Text as T
import qualified Data.Vector as V
import GHC.Generics (Generic)
-import LintWriter (LayerContext (..), LintResult (..), LintWriter,
+import LintWriter (LintResult (..), LintWriter, askContext,
lintToDep, resultToDeps, resultToLints,
runLintWriter)
import Properties (checkLayerProperty, checkMap)
@@ -29,7 +29,7 @@ import Util (PrettyPrint (prettyprint), prettyprint)
-- | What this linter produces: lints for a single map
data MapResult a = MapResult
- { mapresultLayer :: Maybe (Map Text (LintResult LayerContext))
+ { mapresultLayer :: Maybe (Map Text (LintResult Layer))
, mapresultGeneral :: [Lint]
, mapresultDepends :: [Dep]
} deriving (Generic, ToJSON)
@@ -59,20 +59,21 @@ runLinter tiledmap = MapResult
<> mapMaybe lintToDep generalLints
}
where
- layerMap :: Map Text (LintResult LayerContext)
+ layerMap :: Map Text (LintResult Layer)
layerMap = fromList layer
layer = V.toList . V.map runCheck $ tiledmapLayers tiledmap
- where runCheck l = (layerName l, runLintWriter (LayerContext ()) (checkLayer l))
+ where runCheck l = (layerName l, runLintWriter l 0 checkLayer)
-- lints collected from properties
generalLints =
- resultToLints $ runLintWriter () (checkMap tiledmap)
+ resultToLints $ runLintWriter tiledmap 0 checkMap
-- | collect lints on a single map layer
-checkLayer :: Layer -> LintWriter LayerContext
-checkLayer layer =
- mapM_ (checkLayerProperty layer) (layerProperties layer)
+checkLayer :: LintWriter Layer
+checkLayer = do
+ layer <- askContext
+ mapM_ checkLayerProperty (layerProperties layer)
-- human-readable lint output, e.g. for consoles
instance PrettyPrint a => PrettyPrint (MapResult a) where