mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-04 23:40:01 +07:00
Console: Allow "-delimited strings
This commit is contained in:
@ -271,12 +271,13 @@ class ConsoleCivCommands : ConsoleCommandNode {
|
||||
)
|
||||
|
||||
override fun autocomplete(params: List<String>): String? {
|
||||
when (params[0]){
|
||||
"addstat" -> if (params.size == 2)
|
||||
return Stat.names()
|
||||
.firstOrNull { it.lowercase().startsWith(params[1]) }
|
||||
?.drop(params[1].length)
|
||||
}
|
||||
if (params.isNotEmpty())
|
||||
when (params[0]){
|
||||
"addstat" -> if (params.size == 2)
|
||||
return Stat.names()
|
||||
.firstOrNull { it.lowercase().startsWith(params[1]) }
|
||||
?.drop(params[1].length)
|
||||
}
|
||||
return super.autocomplete(params)
|
||||
}
|
||||
}
|
||||
|
@ -72,7 +72,11 @@ class DevConsolePopup(val screen: WorldScreen) : Popup(screen) {
|
||||
responseLabel.style.fontColor = handleCommandResponse.color
|
||||
}
|
||||
|
||||
private fun getParams(text: String) = text.split(" ").filter { it.isNotEmpty() }.map { it.lowercase() }
|
||||
|
||||
val splitStringRegex = Regex("\"([^\"]+)\"|\\S+") // Read: "(phrase)" OR non-whitespace
|
||||
private fun getParams(text: String): List<String> {
|
||||
return splitStringRegex.findAll(text).map { it.value.removeSurrounding("\"") }.filter { it.isNotEmpty() }.toList()
|
||||
}
|
||||
|
||||
private fun handleCommand(): DevConsoleResponse {
|
||||
val params = getParams(textField.text)
|
||||
|
Reference in New Issue
Block a user