@@ -18,6 +18,7 @@ import Data.Char (isSpace)
18import Data.Maybe (fromMaybe)
18import Data.Maybe (fromMaybe)
19import Data.List (stripPrefix)
19import Data.List (stripPrefix)
20import Data.Monoid (mempty)
20import Data.Monoid (mempty)
21+import Data.Sequence (viewr, ViewR(..))
@@ -74,7 +75,7 @@ defpara :: { (Inlines, [Blocks]) }
74 : '[' seq ']' seq { ($2, [plain $4]) }
75 : '[' seq ']' seq { ($2, [plain $4]) }
76para :: { Blocks }
77para :: { Blocks }
77− : seq { para $1 }
78+ : seq { para' $1 }
78 | codepara { codeBlock $1 }
79 | codepara { codeBlock $1 }
79 | property { $1 }
80 | property { $1 }
80 | examples { $1 }
81 | examples { $1 }
@@ -112,7 +113,7 @@ seq1 :: { Inlines }
112 | elem1 { $1 }
113 | elem1 { $1 }
114elem1 :: { Inlines }
115elem1 :: { Inlines }
115− : STRING { str $1 }
116+ : STRING { text $1 }
116 | '/../' { emph (str $1) }
117 | '/../' { emph (str $1) }
117 | URL { makeHyperlink $1 }
118 | URL { makeHyperlink $1 }
118 | PIC { image $1 $1 mempty }
119 | PIC { image $1 $1 mempty }
@@ -128,7 +129,13 @@ strings :: { String }
128happyError :: [LToken] -> Maybe a
129happyError :: [LToken] -> Maybe a
129happyError toks = Nothing
130happyError toks = Nothing
132+para' :: Inlines -> Blocks
135+ ils' :> Space -> para $ Many ils'
136+ _ -> para $ Many ils
131−monospace :: Inlines -> Inlines
138+monospace :: Inlines -> Inlines
132monospace = everywhere (mkT go)
139monospace = everywhere (mkT go)
134 go (Str s) = Code nullAttr s
141 go (Str s) = Code nullAttr s