diff --git a/lib/CheckDir.hs b/lib/CheckDir.hs index a19a4127c4f437acc85dc0c66062e5d4cb61150a..300cf004eaa69feaf8c84526dacee279ba614438 100644 --- a/lib/CheckDir.hs +++ b/lib/CheckDir.hs @@ -41,7 +41,7 @@ import System.FilePath (splitPath, (</>)) import qualified System.FilePath as FP import System.FilePath.Posix (takeDirectory) import Text.Dot (showDot) -import Tiled (Tiledmap) +import Data.Tiled (Tiledmap) import Types (Dep (Local, LocalMap), Hint (Hint), Level (..), hintLevel) import Util (PrettyPrint (prettyprint), ellipsis) diff --git a/lib/CheckMap.hs b/lib/CheckMap.hs index 23267a88bd691819e262f4650a6041b27e56465d..9dc3a4c80e825c132d335df0337ff313087d8e2a 100644 --- a/lib/CheckMap.hs +++ b/lib/CheckMap.hs @@ -32,7 +32,7 @@ import LintWriter (LintResult, invertLintResult, runLintWriter) import Properties (checkLayer, checkMap, checkTileset) import System.FilePath (takeFileName) -import Tiled (Layer (layerLayers, layerName), +import Data.Tiled (Layer (layerLayers, layerName), LoadResult (..), Tiledmap (tiledmapLayers, tiledmapTilesets), loadTiledmap) diff --git a/lib/LayerData.hs b/lib/LayerData.hs index 6956c92b17d3514f18b709dd177667a322977bc9..46d6449e7da692118d7825536e250392e3db975d 100644 --- a/lib/LayerData.hs +++ b/lib/LayerData.hs @@ -8,7 +8,7 @@ import Control.Monad.Zip (mzipWith) import Data.Set (insert) import Data.Vector (maximum, uncons) import qualified Text.Show as TS -import Tiled (GlobalId (unGlobalId), Layer (..)) +import Data.Tiled (GlobalId (unGlobalId), Layer (..)) import Util (PrettyPrint (..)) -- | A collision between two layers of the given names. diff --git a/lib/LintWriter.hs b/lib/LintWriter.hs index d0c6c4e1d0c760b27450bb9c721cbac357f17291..b55b16efa84847e2f924a4981667932c9e13d033 100644 --- a/lib/LintWriter.hs +++ b/lib/LintWriter.hs @@ -48,7 +48,7 @@ import Universum import Badges (Badge) import Data.Map (fromListWith) import LintConfig (LintConfig') -import TiledAbstract (HasName (getName)) +import Data.Tiled.Abstract (HasName (getName)) import Types (Dep, Hint, Level (..), Lint (..), hint, lintsToHints) diff --git a/lib/Properties.hs b/lib/Properties.hs index eb3140346d0c687ad30b6141df10bf55f90cc70e..846430b78928c18372e16e38547852080dbf181f 100644 --- a/lib/Properties.hs +++ b/lib/Properties.hs @@ -18,14 +18,13 @@ import Universum hiding (intercalate, isPrefixOf) import Data.Text (intercalate, isInfixOf, isPrefixOf) import qualified Data.Text as T import qualified Data.Vector as V -import Tiled (Layer (..), Object (..), Property (..), +import Data.Tiled (Layer (..), Object (..), Property (..), PropertyValue (..), Tile (..), Tiledmap (..), Tileset (..)) -import TiledAbstract (HasData (..), HasName (..), - HasProperties (..), HasTypeName (..), - IsProperty (..), layerIsEmpty) -import Util (mkProxy, naiveEscapeHTML, prettyprint, - showText) +import Data.Tiled.Abstract (HasName (..), HasProperties (..), + HasTypeName (..), IsProperty (..), HasData (..)) +import Util (layerIsEmpty, mkProxy, naiveEscapeHTML, + prettyprint) import Badges (Badge (Badge), BadgeArea (BadgePoint, BadgeRect), diff --git a/lib/Util.hs b/lib/Util.hs index 1ffbbe5fe201a77f9bc49debd5e1d9e759c77d10..d5e9e9854a3276a753e9f91a3b53de9ea267bcf2 100644 --- a/lib/Util.hs +++ b/lib/Util.hs @@ -17,7 +17,7 @@ import Universum import Data.Aeson as Aeson import qualified Data.Set as S import qualified Data.Text as T -import Tiled (Layer (layerData), PropertyValue (..), +import Data.Tiled (Layer (layerData), PropertyValue (..), Tileset (tilesetName), layerName, mkTiledId) -- | helper function to create proxies diff --git a/package.yaml b/package.yaml index f9498d6d08ec292acc1d3510e6dff28cdea9b44e..53ef4c28c1cc23bf7e636600805f08ce7d9744b6 100644 --- a/package.yaml +++ b/package.yaml @@ -15,10 +15,20 @@ dependencies: - bytestring - text +internal-libraries: + tiled: + source-dirs: 'tiled' + dependencies: + - vector + exposed-modules: + - Data.Tiled + - Data.Tiled.Abstract + library: source-dirs: 'lib' dependencies: - containers + - tiled - text - vector - transformers diff --git a/lib/Tiled.hs b/tiled/Data/Tiled.hs similarity index 99% rename from lib/Tiled.hs rename to tiled/Data/Tiled.hs index 3162dfd32ea6a944b71464570e55a21dc5ecb08b..046a080421147cde64fe1aa1eaf55194968d25d0 100644 --- a/lib/Tiled.hs +++ b/tiled/Data/Tiled.hs @@ -15,7 +15,7 @@ -- cover some of the types and records that are available in the format. For -- those you should read the TMX documentation at -- http://doc.mapeditor.org/en/latest/reference/tmx-map-format/ -module Tiled where +module Data.Tiled where import Universum @@ -383,6 +383,7 @@ instance ToJSON Tiledmap where toJSON = genericToJSON (aesonOptions 8) data LoadResult = Loaded Tiledmap | IOErr String | DecodeErr String + deriving Show -- | Load a Tiled map from the given 'FilePath'. loadTiledmap :: FilePath -> IO LoadResult diff --git a/lib/TiledAbstract.hs b/tiled/Data/Tiled/Abstract.hs similarity index 96% rename from lib/TiledAbstract.hs rename to tiled/Data/Tiled/Abstract.hs index f55e75eb910254ac4f4a372a43b1a89d9a7aaf71..5a5b7c094875bc1e408bd5c7a5ff492d628a4958 100644 --- a/lib/TiledAbstract.hs +++ b/tiled/Data/Tiled/Abstract.hs @@ -1,11 +1,11 @@ {-# LANGUAGE OverloadedStrings #-} -module TiledAbstract where +module Data.Tiled.Abstract where import Universum import qualified Data.Vector as V -import Tiled (GlobalId, Layer (..), Object (..), Property (..), +import Data.Tiled (GlobalId, Layer (..), Object (..), Property (..), PropertyValue (..), Tile (..), Tiledmap (..), Tileset (..), mkTiledId) import Util (showText) diff --git a/walint.cabal b/walint.cabal index 94d79f5e87232bbfc9f5ad5af4c007f7b3224716..cd79a59d356b80b66fcdd953481e5cc2c8901668 100644 --- a/walint.cabal +++ b/walint.cabal @@ -1,4 +1,4 @@ -cabal-version: 1.12 +cabal-version: 2.0 -- This file has been generated from package.yaml by hpack version 0.34.5. -- @@ -28,8 +28,6 @@ library LintWriter Paths Properties - Tiled - TiledAbstract Uris Paths_walint hs-source-dirs: @@ -53,12 +51,33 @@ library , regex-tdfa , text , text-metrics + , tiled , transformers , universum , uri-encode , vector default-language: Haskell2010 +library tiled + exposed-modules: + Data.Tiled + Data.Tiled.Abstract + other-modules: + Paths_walint + hs-source-dirs: + tiled + default-extensions: + NoImplicitPrelude + ghc-options: -Wall -Wno-name-shadowing -Wno-unticked-promoted-constructors + build-depends: + aeson + , base + , bytestring + , text + , universum + , vector + default-language: Haskell2010 + executable walint main-is: Main.hs other-modules: