core: support **text** as bold markdown (#7444)

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
This commit is contained in:
Evgeny
2026-09-01 12:27:53 +01:00
committed by GitHub
co-authored by Evgeny @ SimpleX Chat
parent d131173e83
commit f71b132536
2 changed files with 30 additions and 3 deletions
+7 -1
View File
@@ -211,7 +211,7 @@ markdownP = mconcat <$> A.many' fragmentP
Just c -> case c of
' ' -> unmarked <$> A.takeWhile (== ' ')
'+' -> phoneP <|> wordP
'*' -> formattedP '*' Bold
'*' -> boldP <|> formattedP '*' Bold
'_' -> formattedP '_' Italic
'~' -> formattedP '~' StrikeThrough
'`' -> formattedP '`' Snippet
@@ -233,6 +233,12 @@ markdownP = mconcat <$> A.many' fragmentP
| T.null s || T.head s == ' ' || T.last s == ' ' =
unmarked $ c `T.cons` s `T.snoc` c
| otherwise = markdown f s
boldP :: Parser Markdown
boldP = do
s <- A.string "**" *> A.takeTill (== '*') <* A.string "**"
if T.null s || T.head s == ' ' || T.last s == ' '
then fail "not bold"
else pure $ markdown Bold s
secretP :: Parser Markdown
secretP = secret <$?> ((,,) <$> A.takeWhile (== '#') <*> A.takeTill (== '#') <*> A.takeWhile1 (== '#'))
secret :: (Text, Text, Text) -> Either String Markdown