aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Haddock/Parser.hs1
-rw-r--r--test/Haddock/ParserSpec.hs8
2 files changed, 9 insertions, 0 deletions
diff --git a/src/Haddock/Parser.hs b/src/Haddock/Parser.hs
index 6370eecb..e9bed2a5 100644
--- a/src/Haddock/Parser.hs
+++ b/src/Haddock/Parser.hs
@@ -365,6 +365,7 @@ codeblock d =
where
p isNewline c
| isNewline && c == '@' = Nothing
+ | isNewline && isSpace c = Just isNewline
| otherwise = Just $ c == '\n'
hyperlink :: Parser (Doc a)
diff --git a/test/Haddock/ParserSpec.hs b/test/Haddock/ParserSpec.hs
index 9bca745f..455a67f1 100644
--- a/test/Haddock/ParserSpec.hs
+++ b/test/Haddock/ParserSpec.hs
@@ -410,6 +410,14 @@ spec = before initStaticOpts $ do
, "@"
] `shouldParseTo` DocCodeBlock "foo\n@\nbar\n"
+ it "accepts horizontal space before the @" $ do
+ unlines [ " @"
+ , " foo"
+ , ""
+ , " bar"
+ , " @"
+ ] `shouldParseTo` DocCodeBlock " foo\n\n bar\n "
+
it "accepts unicode" $ do
"@foo 灼眼のシャナ bar@" `shouldParseTo` DocCodeBlock "foo 灼眼のシャナ bar"