on master help sign in
also improve the interpolation parser
commit8d41059658ede4b1748bf89e1d31ee85f7c62f3d authorDanDanDan <danielheres@gmail.com> dateWed 29 Jan 2014, 09:04 (13 years ago) parenta5a6f2b
2 files changed+5−5
compiler/Parse/Expression.hs+2−2 compiler/Parse/Helpers.hs+3−3
compiler/Parse/Expression.hs+2−2
@@ -60,11 +60,11 @@ listTerm = markdown' <|> braces (try range <|> ExplicitList <$> commaSep expr)
6060 span uid index =
6161 "<span id=\"md-" ++ uid ++ "-" ++ show index ++ "\">{{ markdown interpolation is in the pipeline, but still needs more testing }}</span>"
6262
63− interpolation uid md exprs = do
63+ interpolation uid exprs = do
6464 try (string "{{")
6565 e <- padded expr
6666 string "}}"
67− return (md ++ span uid (length exprs), exprs ++ [e])
67+ return (span uid (length exprs), exprs ++ [e])
6868
6969parensTerm :: IParser LParseExpr
7070parensTerm = try (parens opFn) <|> parens (tupleFn <|> parened)
compiler/Parse/Helpers.hs+3−3
@@ -268,7 +268,7 @@ ignoreUntil end = go
268268 ignore p = const () <$> p
269269 filler = choice [ try (ignore chr) <|> ignore str
270270 , ignore multiComment
271− , ignore (markdown (\_ _ -> mzero))
271+ , ignore (markdown (\_ -> mzero))
272272 , ignore anyChar
273273 ]
274274 go = choice [ Just <$> end
@@ -301,13 +301,13 @@ anyUntilPos pos = go
301301 True -> return []
302302 False -> (:) <$> anyChar <*> go
303303
304−markdown :: (String -> [a] -> IParser (String, [a])) -> IParser (String, [a])
304+markdown :: ([a] -> IParser (String, [a])) -> IParser (String, [a])
305305markdown interpolation = try (string "[markdown|") >> closeMarkdown (++ "") []
306306 where
307307 closeMarkdown md stuff =
308308 choice [ do try (string "|]")
309309 return (md "", stuff)
310− , (\(m,s) -> closeMarkdown (m ++) s) =<< interpolation (md "") stuff
310+ , (\(m,s) -> closeMarkdown (md . (m ++)) s) =<< interpolation stuff
311311 , do c <- anyChar
312312 closeMarkdown (md . ([c]++)) stuff
313313 ]