aboutsummaryrefslogtreecommitdiff
path: root/haddock-api
diff options
context:
space:
mode:
authorAlexander Biehl <alexbiehl@gmail.com>2017-07-31 20:15:32 +0200
committerGitHub <noreply@github.com>2017-07-31 20:15:32 +0200
commit3d3166d75c0012112a49fee4c2f6cbf82de383fa (patch)
tree3365f7b67c8a01a6a672ef91448b000ea2b7450e /haddock-api
parentc635a56f2a4ca6274f6a3a5acda0d7284aede2c3 (diff)
Move `DocMarkup` from haddock-api to haddock-library (#659)
* Move `DocMarkup` from haddock-api to haddock-library * Move more markup related functions * Markup module * CHANGELOG
Diffstat (limited to 'haddock-api')
-rw-r--r--haddock-api/haddock-api.cabal2
-rw-r--r--haddock-api/src/Documentation/Haddock.hs6
-rw-r--r--haddock-api/src/Haddock/Backends/Hoogle.hs1
-rw-r--r--haddock-api/src/Haddock/Backends/LaTeX.hs1
-rw-r--r--haddock-api/src/Haddock/Backends/Xhtml/DocMarkup.hs1
-rw-r--r--haddock-api/src/Haddock/Types.hs32
-rw-r--r--haddock-api/src/Haddock/Utils.hs67
7 files changed, 10 insertions, 100 deletions
diff --git a/haddock-api/haddock-api.cabal b/haddock-api/haddock-api.cabal
index de959955..6cde7266 100644
--- a/haddock-api/haddock-api.cabal
+++ b/haddock-api/haddock-api.cabal
@@ -42,7 +42,7 @@ library
, Cabal ^>= 2.0.0
, ghc ^>= 8.2
, ghc-paths ^>= 0.1.0.9
- , haddock-library ^>= 1.4.4
+ , haddock-library ^>= 1.4.5
, xhtml ^>= 3000.2.2
-- Versions for the dependencies below are transitively pinned by
diff --git a/haddock-api/src/Documentation/Haddock.hs b/haddock-api/src/Documentation/Haddock.hs
index 14605e92..10d6849a 100644
--- a/haddock-api/src/Documentation/Haddock.hs
+++ b/haddock-api/src/Documentation/Haddock.hs
@@ -39,7 +39,8 @@ module Documentation.Haddock (
DocH(..),
Example(..),
Hyperlink(..),
- DocMarkup(..),
+ DocMarkup,
+ DocMarkupH(..),
Documentation(..),
ArgMap,
AliasMap,
@@ -69,12 +70,11 @@ module Documentation.Haddock (
withGhc
) where
-
+import Documentation.Haddock.Markup (markup)
import Haddock.InterfaceFile
import Haddock.Interface
import Haddock.Types
import Haddock.Options
-import Haddock.Utils
import Haddock
diff --git a/haddock-api/src/Haddock/Backends/Hoogle.hs b/haddock-api/src/Haddock/Backends/Hoogle.hs
index 183b669e..3a9f6e43 100644
--- a/haddock-api/src/Haddock/Backends/Hoogle.hs
+++ b/haddock-api/src/Haddock/Backends/Hoogle.hs
@@ -18,6 +18,7 @@ module Haddock.Backends.Hoogle (
import BasicTypes (OverlapFlag(..), OverlapMode(..), SourceText(..))
import InstEnv (ClsInst(..))
+import Documentation.Haddock.Markup
import Haddock.GhcUtils
import Haddock.Types hiding (Version)
import Haddock.Utils hiding (out)
diff --git a/haddock-api/src/Haddock/Backends/LaTeX.hs b/haddock-api/src/Haddock/Backends/LaTeX.hs
index 18660b3f..1b248d2e 100644
--- a/haddock-api/src/Haddock/Backends/LaTeX.hs
+++ b/haddock-api/src/Haddock/Backends/LaTeX.hs
@@ -16,6 +16,7 @@ module Haddock.Backends.LaTeX (
) where
+import Documentation.Haddock.Markup
import Haddock.Types
import Haddock.Utils
import Haddock.GhcUtils
diff --git a/haddock-api/src/Haddock/Backends/Xhtml/DocMarkup.hs b/haddock-api/src/Haddock/Backends/Xhtml/DocMarkup.hs
index e36f9528..18c8a0ff 100644
--- a/haddock-api/src/Haddock/Backends/Xhtml/DocMarkup.hs
+++ b/haddock-api/src/Haddock/Backends/Xhtml/DocMarkup.hs
@@ -20,6 +20,7 @@ module Haddock.Backends.Xhtml.DocMarkup (
) where
import Data.List
+import Documentation.Haddock.Markup
import Haddock.Backends.Xhtml.Names
import Haddock.Backends.Xhtml.Utils
import Haddock.Types
diff --git a/haddock-api/src/Haddock/Types.hs b/haddock-api/src/Haddock/Types.hs
index bfc8e32b..de599bd8 100644
--- a/haddock-api/src/Haddock/Types.hs
+++ b/haddock-api/src/Haddock/Types.hs
@@ -189,7 +189,7 @@ data InstalledInterface = InstalledInterface
, instSubMap :: Map Name [Name]
, instBundledPatSynMap :: Map Name [Name]
-
+
, instFixMap :: Map Name Fixity
}
@@ -443,6 +443,8 @@ type LDoc id = Located (Doc id)
type Doc id = DocH (ModuleName, OccName) id
type MDoc id = MetaDoc (ModuleName, OccName) id
+type DocMarkup id a = DocMarkupH (ModuleName, OccName) id a
+
instance (NFData a, NFData mod)
=> NFData (DocH mod a) where
rnf doc = case doc of
@@ -494,34 +496,6 @@ exampleToString :: Example -> String
exampleToString (Example expression result) =
">>> " ++ expression ++ "\n" ++ unlines result
-
-data DocMarkup id a = Markup
- { markupEmpty :: a
- , markupString :: String -> a
- , markupParagraph :: a -> a
- , markupAppend :: a -> a -> a
- , markupIdentifier :: id -> a
- , markupIdentifierUnchecked :: (ModuleName, OccName) -> a
- , markupModule :: String -> a
- , markupWarning :: a -> a
- , markupEmphasis :: a -> a
- , markupBold :: a -> a
- , markupMonospaced :: a -> a
- , markupUnorderedList :: [a] -> a
- , markupOrderedList :: [a] -> a
- , markupDefList :: [(a,a)] -> a
- , markupCodeBlock :: a -> a
- , markupHyperlink :: Hyperlink -> a
- , markupAName :: String -> a
- , markupPic :: Picture -> a
- , markupMathInline :: String -> a
- , markupMathDisplay :: String -> a
- , markupProperty :: String -> a
- , markupExample :: [Example] -> a
- , markupHeader :: Header a -> a
- }
-
-
data HaddockModInfo name = HaddockModInfo
{ hmi_description :: Maybe (Doc name)
, hmi_copyright :: Maybe String
diff --git a/haddock-api/src/Haddock/Utils.hs b/haddock-api/src/Haddock/Utils.hs
index 404cfcf6..7a9d65a4 100644
--- a/haddock-api/src/Haddock/Utils.hs
+++ b/haddock-api/src/Haddock/Utils.hs
@@ -37,8 +37,6 @@ module Haddock.Utils (
html_xrefs_ref, html_xrefs_ref',
-- * Doc markup
- markup,
- idMarkup,
mkMeta,
-- * List utilities
@@ -448,71 +446,6 @@ spanWith p xs@(a:as)
| Just b <- p a = let (bs,cs) = spanWith p as in (b:bs,cs)
| otherwise = ([],xs)
-
------------------------------------------------------------------------------
--- * Put here temporarily
------------------------------------------------------------------------------
-
-
-markup :: DocMarkup id a -> Doc id -> a
-markup m DocEmpty = markupEmpty m
-markup m (DocAppend d1 d2) = markupAppend m (markup m d1) (markup m d2)
-markup m (DocString s) = markupString m s
-markup m (DocParagraph d) = markupParagraph m (markup m d)
-markup m (DocIdentifier x) = markupIdentifier m x
-markup m (DocIdentifierUnchecked x) = markupIdentifierUnchecked m x
-markup m (DocModule mod0) = markupModule m mod0
-markup m (DocWarning d) = markupWarning m (markup m d)
-markup m (DocEmphasis d) = markupEmphasis m (markup m d)
-markup m (DocBold d) = markupBold m (markup m d)
-markup m (DocMonospaced d) = markupMonospaced m (markup m d)
-markup m (DocUnorderedList ds) = markupUnorderedList m (map (markup m) ds)
-markup m (DocOrderedList ds) = markupOrderedList m (map (markup m) ds)
-markup m (DocDefList ds) = markupDefList m (map (markupPair m) ds)
-markup m (DocCodeBlock d) = markupCodeBlock m (markup m d)
-markup m (DocHyperlink l) = markupHyperlink m l
-markup m (DocAName ref) = markupAName m ref
-markup m (DocPic img) = markupPic m img
-markup m (DocMathInline mathjax) = markupMathInline m mathjax
-markup m (DocMathDisplay mathjax) = markupMathDisplay m mathjax
-markup m (DocProperty p) = markupProperty m p
-markup m (DocExamples e) = markupExample m e
-markup m (DocHeader (Header l t)) = markupHeader m (Header l (markup m t))
-
-
-markupPair :: DocMarkup id a -> (Doc id, Doc id) -> (a, a)
-markupPair m (a,b) = (markup m a, markup m b)
-
-
--- | The identity markup
-idMarkup :: DocMarkup a (Doc a)
-idMarkup = Markup {
- markupEmpty = DocEmpty,
- markupString = DocString,
- markupParagraph = DocParagraph,
- markupAppend = DocAppend,
- markupIdentifier = DocIdentifier,
- markupIdentifierUnchecked = DocIdentifierUnchecked,
- markupModule = DocModule,
- markupWarning = DocWarning,
- markupEmphasis = DocEmphasis,
- markupBold = DocBold,
- markupMonospaced = DocMonospaced,
- markupUnorderedList = DocUnorderedList,
- markupOrderedList = DocOrderedList,
- markupDefList = DocDefList,
- markupCodeBlock = DocCodeBlock,
- markupHyperlink = DocHyperlink,
- markupAName = DocAName,
- markupPic = DocPic,
- markupMathInline = DocMathInline,
- markupMathDisplay = DocMathDisplay,
- markupProperty = DocProperty,
- markupExample = DocExamples,
- markupHeader = DocHeader
- }
-
-
-----------------------------------------------------------------------------
-- * System tools
-----------------------------------------------------------------------------