aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Text/Pandoc/Readers/Haddock/Parse.y16
-rw-r--r--tests/haddock-reader.native2
2 files changed, 7 insertions, 11 deletions
diff --git a/src/Text/Pandoc/Readers/Haddock/Parse.y b/src/Text/Pandoc/Readers/Haddock/Parse.y
index e801a15c0..9c2bbc8a9 100644
--- a/src/Text/Pandoc/Readers/Haddock/Parse.y
+++ b/src/Text/Pandoc/Readers/Haddock/Parse.y
@@ -12,6 +12,7 @@ module Text.Pandoc.Readers.Haddock.Parse (parseString, parseParas) where
import Text.Pandoc.Readers.Haddock.Lex
import Text.Pandoc.Builder
+import Text.Pandoc.Shared (trim, trimr)
import Data.Generics (everywhere, mkT)
import Data.Char (isSpace)
import Data.Maybe (fromMaybe)
@@ -141,13 +142,12 @@ monospace = everywhere (mkT go)
-- A hyperlink consists of a URL and an optional label. The label is separated
-- from the url by one or more whitespace characters.
makeHyperlink :: String -> Inlines
-makeHyperlink input = case break isSpace $ strip input of
+makeHyperlink input = case break isSpace $ trim input of
(url, "") -> link url url (str url)
- (url, lb) -> link url url (str label)
- where label = dropWhile isSpace lb
+ (url, lb) -> link url url (trimInlines $ text lb)
makeProperty :: String -> Blocks
-makeProperty s = case strip s of
+makeProperty s = case trim s of
'p':'r':'o':'p':'>':xs ->
codeBlockWith ([], ["property"], []) (dropWhile isSpace xs)
xs ->
@@ -156,12 +156,12 @@ makeProperty s = case strip s of
-- | Create an 'Example', stripping superfluous characters as appropriate
makeExample :: String -> String -> [String] -> Blocks
makeExample prompt expression result =
- para $ codeWith ([], ["haskell","expr"], []) (strip expression)
+ para $ codeWith ([], ["haskell","expr"], []) (trim expression)
<> linebreak
<> (mconcat $ intersperse linebreak $ map coder result')
where
-- 1. drop trailing whitespace from the prompt, remember the prefix
- (prefix, _) = span isSpace prompt
+ prefix = takeWhile isSpace prompt
-- 2. drop, if possible, the exact same sequence of whitespace
-- characters from each result line
@@ -175,8 +175,4 @@ makeExample prompt expression result =
substituteBlankLine "<BLANKLINE>" = ""
substituteBlankLine line = line
coder = codeWith ([], ["result"], [])
-
--- | Remove all leading and trailing whitespace
-strip :: String -> String
-strip = dropWhile isSpace . reverse . dropWhile isSpace . reverse
}
diff --git a/tests/haddock-reader.native b/tests/haddock-reader.native
index fdf0c1656..65d4a0b20 100644
--- a/tests/haddock-reader.native
+++ b/tests/haddock-reader.native
@@ -28,4 +28,4 @@ Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []})
[[Plain [Str "The",Space,Str "description",Space,Str "of",Space,Code ("",[],[]) "bar",Str "."]]])]
,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "link:",Space,Link [Str "http://haskell.org"] ("http://haskell.org","http://haskell.org")]
,Para [Link [Str "Haskell"] ("http://haskell.org","http://haskell.org"),Space,Str "is",Space,Str "a",Space,Str "fun",Space,Str "language!"]
-,Para [Link [Str "Click Here!"] ("http://example.com","http://example.com")]]
+,Para [Link [Str "Click",Space,Str "Here!"] ("http://example.com","http://example.com")]]