From 457bbe43b68ad2fe12c4a840dc82c9792e438c2d Mon Sep 17 00:00:00 2001 From: OneWay Date: Mon, 17 Aug 2026 22:48:16 +0300 Subject: [PATCH] Unescape any escaped character in article text Apply the general DSL rule \X -> X instead of unescaping only brackets and parentheses, so sequences like \! no longer show the backslash. --- .../research/ui/article/DslAnnotatedParser.kt | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/example/research/ui/article/DslAnnotatedParser.kt b/app/src/main/java/com/example/research/ui/article/DslAnnotatedParser.kt index 02a0c64..3c5228b 100644 --- a/app/src/main/java/com/example/research/ui/article/DslAnnotatedParser.kt +++ b/app/src/main/java/com/example/research/ui/article/DslAnnotatedParser.kt @@ -23,7 +23,6 @@ object DslAnnotatedParser { "br", "p", "b", "i", "c", "t", "m", "m0", "m1", "m2", "m3", "m4", "m5", "ref", "ex", "e", "trn", "com", "lang", "sup", "'" ) - private val ESCAPED_CHARS = setOf('[', ']', '(', ')') data class ColorScheme( val secondaryText: Color, @@ -101,15 +100,13 @@ object DslAnnotatedParser { '\\' -> { if (i + 1 < length) { val next = dsl[i + 1] - if (next in ESCAPED_CHARS) { - builder.append(next) - if (refStack.isNotEmpty()) { - refStack.last().second.append(next) - } - lastChar = next - i += 2 - continue + builder.append(next) + if (refStack.isNotEmpty()) { + refStack.last().second.append(next) } + lastChar = next + i += 2 + continue } builder.append(char) if (refStack.isNotEmpty()) {