diff --git a/meshchatx/src/backend/markdown_renderer.py b/meshchatx/src/backend/markdown_renderer.py index a31ee0c..7d50e75 100644 --- a/meshchatx/src/backend/markdown_renderer.py +++ b/meshchatx/src/backend/markdown_renderer.py @@ -72,10 +72,10 @@ class MarkdownRenderer: # Bold and Italic text = re.sub(r"\*\*\*(.*?)\*\*\*", r"\1", text) text = re.sub(r"\*\*(.*?)\*\*", r"\1", text) - text = re.sub(r"\*(.*?)\*", r"\1", text) + text = re.sub(r"\*(?!\s)(.*?)(?\1", text) text = re.sub(r"___(.*?)___", r"\1", text) text = re.sub(r"__(.*?)__", r"\1", text) - text = re.sub(r"_(.*?)_", r"\1", text) + text = re.sub(r"_(?!\s)(.*?)(?\1", text) # Strikethrough text = re.sub(r"~~(.*?)~~", r"\1", text) diff --git a/tests/backend/test_property_based.py b/tests/backend/test_property_based.py index 0511c75..d80cc3b 100644 --- a/tests/backend/test_property_based.py +++ b/tests/backend/test_property_based.py @@ -1,12 +1,15 @@ import html import json import math +import os +import shutil import pytest from hypothesis import HealthCheck, given, settings from hypothesis import strategies as st from meshchatx.src.backend.colour_utils import ColourUtils +from meshchatx.src.backend.identity_manager import IdentityManager from meshchatx.src.backend.interface_config_parser import InterfaceConfigParser from meshchatx.src.backend.lxmf_utils import convert_db_lxmf_message_to_dict from meshchatx.src.backend.markdown_renderer import MarkdownRenderer @@ -337,3 +340,60 @@ def test_markdown_renderer_headers(content): result = MarkdownRenderer.render(input_text) assert "