[Doctools] Fix //expand listing, ensure no missed commands

This commit is contained in:
Kenzie Togami 2019-08-29 19:58:00 -07:00
parent 44bffc5a86
commit 299d703f24
No known key found for this signature in database
GPG Key ID: 5D200B325E157A81

View File

@ -57,6 +57,7 @@ class DocumentationPrinter private constructor() {
.map { it.name to it }.toList().toMap()
private val cmdOutput = StringBuilder()
private val permsOutput = StringBuilder()
private val matchedCommands = mutableSetOf<String>()
private suspend inline fun <reified T> SequenceScope<String>.yieldAllCommandsIn() {
val sourceFile = Paths.get("worldedit-core/src/main/java/" + T::class.qualifiedName!!.replace('.', '/') + ".java")
@ -93,7 +94,7 @@ private fun writeAllCommands() {
dumpSection("Selection Commands") {
yieldAllCommandsIn<SelectionCommands>()
yieldAllCommandsIn<ExpandCommands>()
yield("/expand")
}
dumpSection("Region Commands") {
@ -144,6 +145,9 @@ private fun writeAllCommands() {
}
writeFooter()
val missingCommands = commands.keys.filterNot { it in matchedCommands }
require(missingCommands.isEmpty()) { "Missing commands: $missingCommands" }
}
private fun writeHeader() {
@ -214,6 +218,7 @@ private fun dumpSection(title: String, addCommandNames: suspend SequenceScope<St
val prefix = TextConfig.getCommandPrefix()
val commands = sequence(addCommandNames).map { this.commands.getValue(it) }.toList()
matchedCommands.addAll(commands.map { it.name })
cmdsToPerms(commands, prefix)