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