c266734448
Previously we used our own homespun formatting. But this produces over-long lines that aren't ideal for diffs in tests. Easier to use something off-the-shelf and standard. Closes #7580. Performance is slower by about a factor of 10, but this isn't really a problem because native isn't suitable as a serialization format. (For serialization you should use json, because the reader is so much faster than native.)
432 lines
7.1 KiB
Text
432 lines
7.1 KiB
Text
Pandoc
|
|
( Meta { unMeta = fromList [] } )
|
|
[ Para
|
|
[ Str "This"
|
|
, Space
|
|
, Str "file"
|
|
, Space
|
|
, Str "tests"
|
|
, Space
|
|
, Str "the"
|
|
, Space
|
|
, Str "Pandoc"
|
|
, Space
|
|
, Str "reader"
|
|
, Space
|
|
, Str "for"
|
|
, Space
|
|
, Str "Haddock."
|
|
, SoftBreak
|
|
, Str "We've"
|
|
, Space
|
|
, Str "borrowed"
|
|
, Space
|
|
, Str "examples"
|
|
, Space
|
|
, Str "from"
|
|
, Space
|
|
, Str "Haddock's"
|
|
, Space
|
|
, Str "documentation:"
|
|
, Space
|
|
, Link
|
|
( "", [], [] )
|
|
[ Str "http://www.haskell.org/haddock/doc/html/ch03s08.html" ]
|
|
( "http://www.haskell.org/haddock/doc/html/ch03s08.html"
|
|
, "http://www.haskell.org/haddock/doc/html/ch03s08.html"
|
|
)
|
|
, Str "."
|
|
]
|
|
, Para
|
|
[ Str "The"
|
|
, Space
|
|
, Str "following"
|
|
, Space
|
|
, Str "characters"
|
|
, Space
|
|
, Str "have"
|
|
, Space
|
|
, Str "special"
|
|
, Space
|
|
, Str "meanings"
|
|
, Space
|
|
, Str "in"
|
|
, Space
|
|
, Str "Haddock,"
|
|
, Space
|
|
, Str "/,"
|
|
, Space
|
|
, Str "',"
|
|
, Space
|
|
, Str "`,"
|
|
, Space
|
|
, Str "\","
|
|
, Space
|
|
, Str "@,"
|
|
, Space
|
|
, Str "<,"
|
|
, Space
|
|
, Str "so"
|
|
, Space
|
|
, Str "they"
|
|
, Space
|
|
, Str "must"
|
|
, Space
|
|
, Str "be"
|
|
, Space
|
|
, Str "escaped."
|
|
]
|
|
, Para
|
|
[ Str "*"
|
|
, Space
|
|
, Str "This"
|
|
, Space
|
|
, Str "is"
|
|
, Space
|
|
, Str "a"
|
|
, Space
|
|
, Str "paragraph,"
|
|
, Space
|
|
, Str "not"
|
|
, Space
|
|
, Str "a"
|
|
, Space
|
|
, Str "list"
|
|
, Space
|
|
, Str "item."
|
|
, SoftBreak
|
|
, Str ">"
|
|
, Space
|
|
, Str "This"
|
|
, Space
|
|
, Str "sentence"
|
|
, Space
|
|
, Str "is"
|
|
, Space
|
|
, Str "not"
|
|
, Space
|
|
, Str "code."
|
|
, SoftBreak
|
|
, Str ">>>"
|
|
, Space
|
|
, Str "This"
|
|
, Space
|
|
, Str "is"
|
|
, Space
|
|
, Str "not"
|
|
, Space
|
|
, Str "an"
|
|
, Space
|
|
, Str "example."
|
|
]
|
|
, Para
|
|
[ Str "The"
|
|
, Space
|
|
, Str "references"
|
|
, Space
|
|
, Str "\955,"
|
|
, Space
|
|
, Str "\955"
|
|
, Space
|
|
, Str "and"
|
|
, Space
|
|
, Str "\955"
|
|
, Space
|
|
, Str "all"
|
|
, Space
|
|
, Str "represent"
|
|
, Space
|
|
, Str "the"
|
|
, Space
|
|
, Str "lower-case"
|
|
, Space
|
|
, Str "letter"
|
|
, Space
|
|
, Str "lambda."
|
|
]
|
|
, Para
|
|
[ Str "This"
|
|
, Space
|
|
, Str "is"
|
|
, Space
|
|
, Str "a"
|
|
, Space
|
|
, Str "code"
|
|
, Space
|
|
, Str "block:"
|
|
]
|
|
, CodeBlock
|
|
( ""
|
|
, []
|
|
, []
|
|
) "map :: (a -> b) -> [a] -> [b]\nmap _ [] = []\nmap f (x:xs) = f x : map f xs"
|
|
, Para
|
|
[ Str "This"
|
|
, Space
|
|
, Str "is"
|
|
, Space
|
|
, Str "another"
|
|
, Space
|
|
, Str "code"
|
|
, Space
|
|
, Str "block:"
|
|
]
|
|
, Para
|
|
[ Code
|
|
( "", [], [] ) "f x = x + x."
|
|
, LineBreak
|
|
, Code
|
|
( "", [], [] ) "The @...@ code block "
|
|
, Emph
|
|
[ Code ( "", [], [] ) "interprets markup normally" ]
|
|
, Code
|
|
( "", [], [] ) "."
|
|
, Code
|
|
( "", [ "haskell", "module" ], [] ) "Module.Foo"
|
|
, Code
|
|
( "", [], [] ) ""
|
|
, LineBreak
|
|
, Code
|
|
( "", [], [] ) "\"Hello World\""
|
|
]
|
|
, Para
|
|
[ Str "Haddock"
|
|
, Space
|
|
, Str "supports"
|
|
, Space
|
|
, Str "REPL"
|
|
, Space
|
|
, Str "examples:"
|
|
]
|
|
, Para
|
|
[ Code
|
|
( "", [ "prompt" ], [] ) ">>>"
|
|
, Space
|
|
, Code
|
|
( "", [ "haskell", "expr" ], [] ) "fib 10"
|
|
, LineBreak
|
|
, Code
|
|
( "", [ "result" ], [] ) "55"
|
|
]
|
|
, Para
|
|
[ Code
|
|
( "", [ "prompt" ], [] ) ">>>"
|
|
, Space
|
|
, Code
|
|
( "", [ "haskell", "expr" ], [] ) "putStrLn \"foo\\nbar\""
|
|
, LineBreak
|
|
, Code
|
|
( "", [ "result" ], [] ) "foo"
|
|
, LineBreak
|
|
, Code
|
|
( "", [ "result" ], [] ) "bar"
|
|
]
|
|
, Para
|
|
[ Str "That"
|
|
, Space
|
|
, Str "was"
|
|
, Space
|
|
, Emph
|
|
[ Str "really", Space, Str "cool" ]
|
|
, Str "!"
|
|
, SoftBreak
|
|
, Str "I"
|
|
, Space
|
|
, Str "had"
|
|
, Space
|
|
, Str "no"
|
|
, Space
|
|
, Str "idea"
|
|
, Space
|
|
, Code
|
|
( "", [], [] ) "fib 10 = 55"
|
|
, Str "."
|
|
]
|
|
, Para
|
|
[ Str "This"
|
|
, Space
|
|
, Str "module"
|
|
, Space
|
|
, Str "defines"
|
|
, Space
|
|
, Str "the"
|
|
, Space
|
|
, Str "type"
|
|
, Space
|
|
, Code
|
|
( "", [ "haskell", "identifier" ], [] ) "T"
|
|
, Str "."
|
|
, SoftBreak
|
|
, Str "The"
|
|
, Space
|
|
, Str "identifier"
|
|
, Space
|
|
, Code
|
|
( "", [ "haskell", "identifier" ], [] ) "M.T"
|
|
, Space
|
|
, Str "is"
|
|
, Space
|
|
, Str "not"
|
|
, Space
|
|
, Str "in"
|
|
, Space
|
|
, Str "scope"
|
|
, SoftBreak
|
|
, Str "I"
|
|
, Space
|
|
, Str "don't"
|
|
, Space
|
|
, Str "have"
|
|
, Space
|
|
, Str "to"
|
|
, Space
|
|
, Str "escape"
|
|
, Space
|
|
, Str "my"
|
|
, Space
|
|
, Str "apostrophes;"
|
|
, Space
|
|
, Str "great,"
|
|
, Space
|
|
, Str "isn't"
|
|
, Space
|
|
, Str "it?"
|
|
, SoftBreak
|
|
, Str "This"
|
|
, Space
|
|
, Str "is"
|
|
, Space
|
|
, Str "a"
|
|
, Space
|
|
, Str "reference"
|
|
, Space
|
|
, Str "to"
|
|
, Space
|
|
, Str "the"
|
|
, Space
|
|
, Code
|
|
( "", [ "haskell", "module" ], [] ) "Foo"
|
|
, Space
|
|
, Str "module."
|
|
]
|
|
, Para
|
|
[ Str "This"
|
|
, Space
|
|
, Str "is"
|
|
, Space
|
|
, Str "a"
|
|
, Space
|
|
, Str "bulleted"
|
|
, Space
|
|
, Str "list:"
|
|
]
|
|
, BulletList
|
|
[
|
|
[ Para [ Str "first", Space, Str "item" ] ]
|
|
,
|
|
[ Para [ Str "second", Space, Str "item" ] ]
|
|
]
|
|
, Para
|
|
[ Str "This"
|
|
, Space
|
|
, Str "is"
|
|
, Space
|
|
, Str "an"
|
|
, Space
|
|
, Str "enumerated"
|
|
, Space
|
|
, Str "list:"
|
|
]
|
|
, OrderedList
|
|
( 1, DefaultStyle, DefaultDelim )
|
|
[
|
|
[ Para [ Str "first", Space, Str "item" ] ]
|
|
,
|
|
[ Para [ Str "second", Space, Str "item" ] ]
|
|
]
|
|
, Para
|
|
[ Str "This"
|
|
, Space
|
|
, Str "is"
|
|
, Space
|
|
, Str "a"
|
|
, Space
|
|
, Str "definition"
|
|
, Space
|
|
, Str "list:"
|
|
]
|
|
, DefinitionList
|
|
[
|
|
(
|
|
[ Code ( "", [], [] ) "foo" ]
|
|
,
|
|
[
|
|
[ Para
|
|
[ Str "The"
|
|
, Space
|
|
, Str "description"
|
|
, Space
|
|
, Str "of"
|
|
, Space
|
|
, Code
|
|
( "", [], [] ) "foo"
|
|
, Str "."
|
|
]
|
|
]
|
|
]
|
|
)
|
|
,
|
|
(
|
|
[ Code ( "", [], [] ) "bar" ]
|
|
,
|
|
[
|
|
[ Para
|
|
[ 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", Space, Str "Here!" ]
|
|
( "http://example.com", "http://example.com" )
|
|
]
|
|
]
|