aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--haddock-library/src/Documentation/Haddock/Parser.hs15
1 files changed, 1 insertions, 14 deletions
diff --git a/haddock-library/src/Documentation/Haddock/Parser.hs b/haddock-library/src/Documentation/Haddock/Parser.hs
index dd1044cb..fcd26f83 100644
--- a/haddock-library/src/Documentation/Haddock/Parser.hs
+++ b/haddock-library/src/Documentation/Haddock/Parser.hs
@@ -338,7 +338,7 @@ definitionList :: BS.ByteString -> Parser (DocH mod Identifier)
definitionList indent = DocDefList <$> p
where
p = do
- label <- "[" *> (parseStringBS <$> scan False accept) <* ("]" <* optional ":")
+ label <- "[" *> (parseStringBS <$> takeWhile1_ (/= ']')) <* ("]" <* optional ":")
c <- takeLine
(cs, items) <- more indent p
let contents = parseString . dropNLs . unlines $ c : cs
@@ -346,19 +346,6 @@ definitionList indent = DocDefList <$> p
Left x -> [(label, contents `docAppend` x)]
Right i -> (label, contents) : i
- -- handle '\]' escapes
- accept True ']' = Just False
-
- -- stop on ']' or '\n'
- accept _ ']' = Nothing
- accept _ '\n' = Nothing
-
- -- starting an escape sequence
- accept _ '\\' = Just True
-
- -- anything else
- accept _ _ = Just False
-
-- | Drops all trailing newlines.
dropNLs :: String -> String
dropNLs = reverse . dropWhile (== '\n') . reverse