diff --git a/plugins/base/src/main/kotlin/parsers/Parser.kt b/plugins/base/src/main/kotlin/parsers/Parser.kt index 898a898b2e..00c1343799 100644 --- a/plugins/base/src/main/kotlin/parsers/Parser.kt +++ b/plugins/base/src/main/kotlin/parsers/Parser.kt @@ -64,7 +64,8 @@ abstract class Parser { var isInCode = false val result = mutableListOf() - val buf = StringBuilder() + var startRange = 0 + var endRange = 0 var currentOffset = 0 while (currentOffset < length) { @@ -83,16 +84,17 @@ abstract class Parser { countOfBackticks = 0 } if (!isInCode && startsWith(delimiter, currentOffset)) { - result.add(buf.toString()) - buf.clear() + result.add(substring(startRange, endRange)) currentOffset += delimiter.length + startRange = currentOffset + endRange = currentOffset continue } - buf.append(get(currentOffset)) + ++endRange ++currentOffset } - result.add(buf.toString()) + result.add(substring(startRange, endRange)) return result }