diff options
Diffstat (limited to 'haddock-library/src')
| -rw-r--r-- | haddock-library/src/Documentation/Haddock/Parser.hs | 24 | ||||
| -rw-r--r-- | haddock-library/src/Documentation/Haddock/Types.hs | 1 | 
2 files changed, 16 insertions, 9 deletions
| diff --git a/haddock-library/src/Documentation/Haddock/Parser.hs b/haddock-library/src/Documentation/Haddock/Parser.hs index 919ea37f..123f5612 100644 --- a/haddock-library/src/Documentation/Haddock/Parser.hs +++ b/haddock-library/src/Documentation/Haddock/Parser.hs @@ -74,6 +74,7 @@ overIdentifier f d = g d      g (DocHyperlink x) = DocHyperlink x      g (DocPic x) = DocPic x      g (DocMathInline x) = DocMathInline x +    g (DocMathDisplay x) = DocMathDisplay x      g (DocAName x) = DocAName x      g (DocProperty x) = DocProperty x      g (DocExamples x) = DocExamples x @@ -114,7 +115,8 @@ parseStringBS = snd . parse p    where      p :: Parser (DocH mod Identifier)      p = docConcat <$> many (monospace <|> anchor <|> identifier <|> moduleName -                            <|> picture <|> mathDisplay <|> markdownImage +                            <|> picture <|> mathDisplay <|> mathInline +                            <|> markdownImage                              <|> hyperlink <|> bold                              <|> emphasis <|> encodedChar <|> string'                              <|> skipSpecialChar) @@ -226,17 +228,21 @@ picture :: Parser (DocH mod a)  picture = DocPic . makeLabeled Picture . decodeUtf8            <$> disallowNewline ("<<" *> takeUntil ">>") --- FIXME: I have just copied the code for `picture` but it is not --- clear why we should disallow a newline (if that is what --- `disallowNewline` does) +-- | Inline math parser, surrounded by \\( and \\). +-- +-- >>> parseString "\\(\\int_{-\\infty}^{\\infty} e^{-x^2/2} = \\sqrt{2\\pi}\\)" +-- DocMathInline "\\int_{-\\infty}^{\\infty} e^{-x^2/2} = \\sqrt{2\\pi}" +mathInline :: Parser (DocH mod a) +mathInline = DocMathInline . decodeUtf8 +             <$> disallowNewline  ("\\(" *> takeUntil "\\)") --- | Inline math parser, surrounded by \$\$ and \$\$. +-- | Display math parser, surrounded by \\[ and \\].  -- --- >>> parseString "$$\int_{-infty}^{infty} e^{-x^2/2} = \sqrt{2\pi}$$" --- DocMathInline (DocString "\int_{-infty}^{infty} e^{-x^2/2} = \sqrt{2\pi}") +-- >>> parseString "\\[\\int_{-\\infty}^{\\infty} e^{-x^2/2} = \\sqrt{2\\pi}\\]" +-- DocMathDisplay "\\int_{-\\infty}^{\\infty} e^{-x^2/2} = \\sqrt{2\\pi}"  mathDisplay :: Parser (DocH mod a) -mathDisplay = DocMathInline . decodeUtf8 -              <$> disallowNewline  ("$$" *> takeUntil "$$") +mathDisplay = DocMathDisplay . decodeUtf8 +              <$> ("\\[" *> takeUntil "\\]")  markdownImage :: Parser (DocH mod a)  markdownImage = fromHyperlink <$> ("!" *> linkParser) diff --git a/haddock-library/src/Documentation/Haddock/Types.hs b/haddock-library/src/Documentation/Haddock/Types.hs index 2b1e7f26..4d5bb68a 100644 --- a/haddock-library/src/Documentation/Haddock/Types.hs +++ b/haddock-library/src/Documentation/Haddock/Types.hs @@ -72,6 +72,7 @@ data DocH mod id    | DocHyperlink Hyperlink    | DocPic Picture    | DocMathInline String +  | DocMathDisplay String    | DocAName String    | DocProperty String    | DocExamples [Example] | 
