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 219e726..13f6159 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 @@ -85,7 +85,6 @@ object DslAnnotatedParser { val lazyRefs = mutableListOf() var accentNext = false var currentIndent = 0 - var mClosedPendingBreak = false var lastAppended: Char? = null val exampleStyle = SpanStyle(color = colorScheme.secondaryText) val labelStyle = SpanStyle(color = colorScheme.labelText) @@ -116,7 +115,6 @@ object DslAnnotatedParser { stack.forEach { builder.pushStyle(it) } lazyRefs.clear() lastAppended = null - mClosedPendingBreak = false } fun appendChar(char: Char, hard: Boolean = false) { @@ -124,12 +122,6 @@ object DslAnnotatedParser { if (lastAppended == null || lastAppended == ' ') return } lastAppended = char - if (mClosedPendingBreak) { - mClosedPendingBreak = false - if (refStack.isEmpty() && !char.isWhitespace()) { - flushBlock() - } - } builder.append(char) if (refStack.isNotEmpty()) { refStack.last().second.append(char) @@ -158,7 +150,7 @@ object DslAnnotatedParser { when (val char = dsl[i]) { '\\' -> { if (i + 1 < length) { - appendChar(dsl[i + 1]) + appendChar(dsl[i + 1], hard = true) i += 2 continue } @@ -198,10 +190,11 @@ object DslAnnotatedParser { } else if (tagName == "'") { accentNext = false } - if (tagName.startsWith("m")) { - mClosedPendingBreak = true - } pop() + if (tagName.startsWith("m")) { + flushBlock() + currentIndent = 0 + } } else { when (tagName) { "'" -> {