From ad3c28c1687d4a0a43a34d496c312baf05b85ca8 Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Fri, 15 Jan 2016 03:48:40 +0000 Subject: case insensitive tags & attributes --- bbcode/src/Text/BBCode.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bbcode/src') diff --git a/bbcode/src/Text/BBCode.hs b/bbcode/src/Text/BBCode.hs index 2fdf3dc..fbd8a33 100644 --- a/bbcode/src/Text/BBCode.hs +++ b/bbcode/src/Text/BBCode.hs @@ -39,7 +39,7 @@ import qualified Data.CaseInsensitive as CI import Data.Bifunctor (Bifunctor(first)) -- | Our target structure -- a rose tree with an explicit terminal constructor -data DomTree = Element Text (Map Text Text) [DomTree] +data DomTree = Element (CI Text) (Map (CI Text) Text) [DomTree] | Paragraph [DomTree] | Content Text deriving (Show, Eq) @@ -51,7 +51,7 @@ dom :: Forest BBLabel -> [DomTree] dom = map dom' where dom' (Node (BBPlain t) _) = Content t - dom' (Node (BBTag t attrs) ts) = Element t attrs $ map dom' ts + dom' (Node (BBTag t attrs) ts) = Element (CI.mk t) (Map.mapKeys CI.mk attrs) $ map dom' ts dom' (Node BBPar ts) = Paragraph $ map dom' ts -- | Errors encountered during parsing -- cgit v1.2.3