From 7208be7b3bc2ab9943369a8c67b0088ec1d55b10 Mon Sep 17 00:00:00 2001 From: Diego Beraldin Date: Mon, 17 Jun 2024 13:28:21 +0200 Subject: [PATCH] fix: workaround for dollar sign in markdown (#996) --- .../raccoonforlemmy/core/markdown/Utils.kt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/core/markdown/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/markdown/Utils.kt b/core/markdown/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/markdown/Utils.kt index 73c3297a2..e14aa30a4 100644 --- a/core/markdown/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/markdown/Utils.kt +++ b/core/markdown/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/markdown/Utils.kt @@ -18,11 +18,13 @@ internal fun ASTNode.findChildOfTypeRecursive(type: IElementType): ASTNode? { } internal fun String.sanitize(): String = - this.removeEntities() + this + .removeEntities() .spoilerFixUp() .quoteFixUp() .expandLemmyHandles() .cleanupEscapes() + .dollarSignFixUp() .emptyLinkFixup() private fun String.removeEntities(): String = @@ -80,9 +82,12 @@ private fun String.quoteFixUp(): String = finalLines.joinToString("\n") } -private fun String.expandLemmyHandles(): String = - LemmyLinkRegex.lemmyHandle.replace(this, "[$1@$2](!$1@$2)") +private fun String.expandLemmyHandles(): String = LemmyLinkRegex.lemmyHandle.replace(this, "[$1@$2](!$1@$2)") private fun String.cleanupEscapes(): String = replace("\\#", "#") +private fun String.dollarSignFixUp(): String = + // due to a bug in how the renderer builds annotated strings, replace with full width dollar sign + replace("$", "\uff04") + private fun String.emptyLinkFixup(): String = replace("[]()", "")