fix bad markdown performance
This commit is contained in:
parent
f636b7576f
commit
a5a6f2beb1
1 changed files with 4 additions and 4 deletions
|
@ -302,14 +302,14 @@ anyUntilPos pos = go
|
||||||
False -> (:) <$> anyChar <*> go
|
False -> (:) <$> anyChar <*> go
|
||||||
|
|
||||||
markdown :: (String -> [a] -> IParser (String, [a])) -> IParser (String, [a])
|
markdown :: (String -> [a] -> IParser (String, [a])) -> IParser (String, [a])
|
||||||
markdown interpolation = try (string "[markdown|") >> closeMarkdown "" []
|
markdown interpolation = try (string "[markdown|") >> closeMarkdown (++ "") []
|
||||||
where
|
where
|
||||||
closeMarkdown md stuff =
|
closeMarkdown md stuff =
|
||||||
choice [ do try (string "|]")
|
choice [ do try (string "|]")
|
||||||
return (md, stuff)
|
return (md "", stuff)
|
||||||
, uncurry closeMarkdown =<< interpolation md stuff
|
, (\(m,s) -> closeMarkdown (m ++) s) =<< interpolation (md "") stuff
|
||||||
, do c <- anyChar
|
, do c <- anyChar
|
||||||
closeMarkdown (md ++ [c]) stuff
|
closeMarkdown (md . ([c]++)) stuff
|
||||||
]
|
]
|
||||||
|
|
||||||
--str :: IParser String
|
--str :: IParser String
|
||||||
|
|
Loading…
Reference in a new issue