]> gitweb @ CieloNegro.org - Rakka.git/blobdiff - Rakka/Wiki/Formatter.hs
Exodus to GHC 6.8.1
[Rakka.git] / Rakka / Wiki / Formatter.hs
index 4b483db37dba260310b2263ea644db9085684b3c..0dfe02e4e66c606592abefa1d9ae93097a2fb669 100644 (file)
@@ -8,7 +8,7 @@ import           Control.Arrow.ArrowList
 import           Data.Char
 import           Data.List
 import           Data.Maybe
-import           Network.URI
+import           Network.URI hiding (fragment)
 import           Rakka.Page
 import           Rakka.Wiki
 import           Text.XML.HXT.Arrow.XmlArrow
@@ -25,8 +25,8 @@ formatWikiBlocks
 
 formatElement :: (ArrowXml a, ArrowChoice a) => a (URI, Element) XmlTree
 formatElement 
-    = proc (baseURI, elem)
-    -> case elem of
+    = proc (baseURI, e)
+    -> case e of
          Block  b -> formatBlock  -< (baseURI, b)
          Inline i -> formatInline -< (baseURI, i)
 
@@ -58,6 +58,8 @@ formatBlock
 
          EmptyBlock
              -> none -< ()
+
+         _   -> arr (error . ("formatBlock: unsupported BlockElement: " ++) . show) -< block
     where
       formatElem :: (ArrowXml a, ArrowChoice a) =>
                     String
@@ -192,6 +194,8 @@ formatInline
 
          EmptyInline
              -> none -< ()
+
+         _   -> arr (error . ("formatInline: unsupported InlineElement: " ++) . show) -< i
     where
       formatElem :: (ArrowXml a, ArrowChoice a) =>
                     String
@@ -232,6 +236,7 @@ formatPageLink
                       (Just  x, Just  y) -> mkPageFragmentURI baseURI x y
                       (Just  x, Nothing) -> mkPageURI baseURI x
                       (Nothing, Just  y) -> mkFragmentURI y
+                      _                  -> undefined
            href   = uriToString id uri ""
            dLabel = fromMaybe "" page ++ fromMaybe "" (fmap ('#':) fragment)
            label  = fromMaybe dLabel text
@@ -242,7 +247,7 @@ formatPageLink
 formatImage :: (ArrowXml a) => a (URI, InlineElement) XmlTree
 formatImage = proc (baseURI, Image src alt)
             -> let uri  = case src of
-                            Left  uri  -> uri
+                            Left  u    -> u
                             Right name -> mkObjectURI baseURI name
                    href = uriToString id uri ""
                in