From 234145bcb3f28f09d52f7e9b467fe342ca560ef8 Mon Sep 17 00:00:00 2001 From: Aadhavan Srinivasan Date: Tue, 20 May 2025 22:21:59 -0400 Subject: [PATCH] Started working on parsing changes to allow incomplete elements to be parsed (eg. opening bold, followed by text, without closing bold) --- src/MdToHTML.hs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/MdToHTML.hs b/src/MdToHTML.hs index 2755539..02658d3 100644 --- a/src/MdToHTML.hs +++ b/src/MdToHTML.hs @@ -143,7 +143,7 @@ parseBold = parseBoldWith "**" <|> parseBoldWith "__" where parseBoldWith delim = do string delim - inside <- greedyParse1 parseLineToken + inside <- many1 parseLineToken string delim return (Bold (Line inside)) @@ -153,7 +153,7 @@ parseItalic = parseItalicWith "*" <|> parseItalicWith "_" where parseItalicWith delim = do string delim - inside <- greedyParse1 parseLineToken + inside <- many1 parseLineToken string delim return (Italic (Line inside)) @@ -204,7 +204,8 @@ parseEscapedChar = do -- Parse a character as a Unit. parseUnit :: ReadP MdToken parseUnit = do - text <- satisfy (`notElem` specialChars) + -- text <- satisfy (`notElem` specialChars) + text <- get return (Unit [text]) lineParsers :: [ReadP MdToken]