From: Lanius Trolling Date: Tue, 23 Jul 2024 17:15:42 +0000 (-0400) Subject: Refactor header-level code in ToC builder X-Git-Url: https://gitweb.starshipfights.net/?a=commitdiff_plain;h=eb6b9a3695624b16e07e68bc87f0280864229433;p=factbooks Refactor header-level code in ToC builder --- diff --git a/src/jvmMain/kotlin/info/mechyrdia/lore/ParserBuilder.kt b/src/jvmMain/kotlin/info/mechyrdia/lore/ParserBuilder.kt index 7cbe750..17ecfb4 100644 --- a/src/jvmMain/kotlin/info/mechyrdia/lore/ParserBuilder.kt +++ b/src/jvmMain/kotlin/info/mechyrdia/lore/ParserBuilder.kt @@ -42,9 +42,11 @@ class TableOfContentsBuilder { if (level > levels.size) levels.add(1) else { - val newLevels = levels.take(level).mapIndexed { i, n -> if (i == level - 1) n + 1 else n } + val baseLevels = levels.take(level - 1) + val addedLevel = levels[level - 1] + 1 levels.clear() - levels.addAll(newLevels) + levels.addAll(baseLevels) + levels.add(addedLevel) } val number = levels.joinToString(separator = ".") { it.toString() }