aboutsummaryrefslogtreecommitdiffstats
path: root/common/src/Collection.hs
diff options
context:
space:
mode:
Diffstat (limited to 'common/src/Collection.hs')
-rw-r--r--common/src/Collection.hs14
1 files changed, 8 insertions, 6 deletions
diff --git a/common/src/Collection.hs b/common/src/Collection.hs
index a23fd31..25cdec7 100644
--- a/common/src/Collection.hs
+++ b/common/src/Collection.hs
@@ -1,24 +1,26 @@
-{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE ViewPatterns #-}
+
module Collection where
-import Data.Text qualified as T
+import Miso.String (MisoString, toMisoString)
import Text.ParserCombinators.ReadP qualified as R
import Text.ParserCombinators.ReadPrec qualified as R
import Text.Read (Read (..))
-newtype Collection = Collection {name :: T.Text}
+newtype Collection = Collection {name :: MisoString}
deriving (Read, Eq, Show)
data CollectionItem = CollectionItem
{ collection :: Collection,
itemFileName :: FilePath
- } deriving (Eq)
+ }
+ deriving (Eq)
instance Read CollectionItem where
readPrec = R.lift $ do
- (Collection . T.pack -> collection) <- R.munch (/= '/')
+ (Collection . toMisoString -> collection) <- R.munch (/= '/')
_ <- R.string "/"
itemFileName <- do
itemFileName <- R.munch (liftA2 (&&) (/= '.') (/= '/'))
@@ -28,4 +30,4 @@ instance Read CollectionItem where
instance Show CollectionItem where
show (CollectionItem {collection = Collection cn, itemFileName}) =
- show (cn <> "/" <> T.pack itemFileName)
+ show (cn <> "/" <> toMisoString itemFileName)