Trying to get nested bold and italic to work
This commit is contained in:
@@ -157,8 +157,12 @@ parseBold = parseBoldWith asteriskBold <|> parseBoldWith underscoreBold
|
||||
where
|
||||
parseBoldWith delim = do
|
||||
string delim
|
||||
inside <- someTill parseLineToken $ string delim
|
||||
inside <- parseNestedThenLineToken delim
|
||||
return (Bold (Line inside))
|
||||
parseNestedThenLineToken delim = do
|
||||
first <- fallthroughParser [parseItalic, parseLineToken]
|
||||
rest <- fallthroughParser [singleton <$> parseItalic, singleton <$> string delim >> return mempty, liftA2 (:) parseLineToken $ parseNestedThenLineToken delim]
|
||||
return (first : rest)
|
||||
|
||||
-- Parse italic text
|
||||
parseItalic :: Parser MdToken
|
||||
@@ -166,8 +170,12 @@ parseItalic = parseItalicWith '*' <|> parseItalicWith '_'
|
||||
where
|
||||
parseItalicWith delim = do
|
||||
char delim
|
||||
inside <- someTill parseLineToken (char delim)
|
||||
inside <- parseNestedThenLineToken delim
|
||||
return (Italic (Line inside))
|
||||
parseNestedThenLineToken delim = do
|
||||
first <- fallthroughParser [parseBold, parseLineToken]
|
||||
rest <- fallthroughParser [singleton <$> parseBold, singleton <$> char delim >> return mempty, liftA2 (:) parseLineToken $ parseNestedThenLineToken delim]
|
||||
return (first : rest)
|
||||
|
||||
-- Parse strikethrough text
|
||||
parseStrikethrough :: Parser MdToken
|
||||
|
Reference in New Issue
Block a user