haddock-library 1.4.4 → 1.4.5
raw patch · 5 files changed
+107/−4 lines, 5 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Documentation.Haddock.Markup: idMarkup :: DocMarkupH mod id (DocH mod id)
+ Documentation.Haddock.Markup: markup :: DocMarkupH mod id a -> DocH mod id -> a
+ Documentation.Haddock.Types: Markup :: a -> (String -> a) -> (a -> a) -> (a -> a -> a) -> (id -> a) -> (mod -> a) -> (String -> a) -> (a -> a) -> (a -> a) -> (a -> a) -> (a -> a) -> ([a] -> a) -> ([a] -> a) -> ([(a, a)] -> a) -> (a -> a) -> (Hyperlink -> a) -> (String -> a) -> (Picture -> a) -> (String -> a) -> (String -> a) -> (String -> a) -> ([Example] -> a) -> (Header a -> a) -> DocMarkupH mod id a
+ Documentation.Haddock.Types: [markupAName] :: DocMarkupH mod id a -> String -> a
+ Documentation.Haddock.Types: [markupAppend] :: DocMarkupH mod id a -> a -> a -> a
+ Documentation.Haddock.Types: [markupBold] :: DocMarkupH mod id a -> a -> a
+ Documentation.Haddock.Types: [markupCodeBlock] :: DocMarkupH mod id a -> a -> a
+ Documentation.Haddock.Types: [markupDefList] :: DocMarkupH mod id a -> [(a, a)] -> a
+ Documentation.Haddock.Types: [markupEmphasis] :: DocMarkupH mod id a -> a -> a
+ Documentation.Haddock.Types: [markupEmpty] :: DocMarkupH mod id a -> a
+ Documentation.Haddock.Types: [markupExample] :: DocMarkupH mod id a -> [Example] -> a
+ Documentation.Haddock.Types: [markupHeader] :: DocMarkupH mod id a -> Header a -> a
+ Documentation.Haddock.Types: [markupHyperlink] :: DocMarkupH mod id a -> Hyperlink -> a
+ Documentation.Haddock.Types: [markupIdentifierUnchecked] :: DocMarkupH mod id a -> mod -> a
+ Documentation.Haddock.Types: [markupIdentifier] :: DocMarkupH mod id a -> id -> a
+ Documentation.Haddock.Types: [markupMathDisplay] :: DocMarkupH mod id a -> String -> a
+ Documentation.Haddock.Types: [markupMathInline] :: DocMarkupH mod id a -> String -> a
+ Documentation.Haddock.Types: [markupModule] :: DocMarkupH mod id a -> String -> a
+ Documentation.Haddock.Types: [markupMonospaced] :: DocMarkupH mod id a -> a -> a
+ Documentation.Haddock.Types: [markupOrderedList] :: DocMarkupH mod id a -> [a] -> a
+ Documentation.Haddock.Types: [markupParagraph] :: DocMarkupH mod id a -> a -> a
+ Documentation.Haddock.Types: [markupPic] :: DocMarkupH mod id a -> Picture -> a
+ Documentation.Haddock.Types: [markupProperty] :: DocMarkupH mod id a -> String -> a
+ Documentation.Haddock.Types: [markupString] :: DocMarkupH mod id a -> String -> a
+ Documentation.Haddock.Types: [markupUnorderedList] :: DocMarkupH mod id a -> [a] -> a
+ Documentation.Haddock.Types: [markupWarning] :: DocMarkupH mod id a -> a -> a
+ Documentation.Haddock.Types: data DocMarkupH mod id a
Files
- CHANGES.md +3/−0
- haddock-library.cabal +5/−3
- src/Documentation/Haddock/Markup.hs +63/−0
- src/Documentation/Haddock/Parser.hs +1/−1
- src/Documentation/Haddock/Types.hs +35/−0
+ CHANGES.md view
@@ -0,0 +1,3 @@+## Changes in version 1.4.5++ * Move markup related data types to haddock-library
haddock-library.cabal view
@@ -1,5 +1,5 @@ name: haddock-library-version: 1.4.4+version: 1.4.5 synopsis: Library exposing some functionality of Haddock. description: Haddock is a documentation-generation tool for Haskell libraries. These modules expose some functionality of it@@ -15,7 +15,8 @@ category: Documentation build-type: Simple cabal-version: >= 2.0-+extra-source-files:+ CHANGES.md library default-language: Haskell2010 @@ -31,10 +32,11 @@ ghc-options: -funbox-strict-fields -Wall -fwarn-tabs -O2 exposed-modules:+ Documentation.Haddock.Doc+ Documentation.Haddock.Markup Documentation.Haddock.Parser Documentation.Haddock.Parser.Monad Documentation.Haddock.Types- Documentation.Haddock.Doc Documentation.Haddock.Utf8 other-modules:
+ src/Documentation/Haddock/Markup.hs view
@@ -0,0 +1,63 @@+-- | @since 1.4.5+module Documentation.Haddock.Markup (+ markup+ , idMarkup+ ) where++import Documentation.Haddock.Types++markup :: DocMarkupH mod id a -> DocH mod 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 :: DocMarkupH mod id a -> (DocH mod id, DocH mod id) -> (a, a)+markupPair m (a,b) = (markup m a, markup m b)++-- | The identity markup+idMarkup :: DocMarkupH mod id (DocH mod id)+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+ }
src/Documentation/Haddock/Parser.hs view
@@ -14,7 +14,7 @@ -- library, the most commonly used combination of functions is going -- to be ----- @'toRegular' . 'parseParas'@+-- @'toRegular' . '_doc' . 'parseParas'@ module Documentation.Haddock.Parser ( parseString, parseParas , overIdentifier, toRegular, Identifier ) where
src/Documentation/Haddock/Types.hs view
@@ -80,3 +80,38 @@ | DocExamples [Example] | DocHeader (Header (DocH mod id)) deriving (Eq, Show, Functor, Foldable, Traversable)++-- | 'DocMarkupH' is a set of instructions for marking up documentation.+-- In fact, it's really just a mapping from 'Doc' to some other+-- type [a], where [a] is usually the type of the output (HTML, say).+-- Use 'Documentation.Haddock.Markup.markup' to apply a 'DocMarkupH' to+-- a 'DocH'.+--+-- @since 1.4.5+--+data DocMarkupH mod id a = Markup+ { markupEmpty :: a+ , markupString :: String -> a+ , markupParagraph :: a -> a+ , markupAppend :: a -> a -> a+ , markupIdentifier :: id -> a+ , markupIdentifierUnchecked :: mod -> 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+ }+