in generator/src/main/kotlin/space/jetbrains/api/generator/Utils.kt [251:292]
fun paramDescription(paramField: HA_Field): String? {
if (paramField.description == null && paramField.deprecation == null && paramField.experimental == null)
return null
val prefix = "@param ${paramField.name} "
val indent = " ".repeat(prefix.length)
return buildString {
if (paramField.description != null) {
paramField.description.text.splitToSequence('\n').forEachIndexed { ix, s ->
append(if (ix == 0) prefix else indent)
appendLine(s)
}
paramField.description.helpTopicLink?.let {
if (length > prefix.length) {
append(indent)
appendLine("([read more]($it))")
} else {
append(prefix)
appendLine("[Read more]($it)")
}
}
}
paramField.deprecation
?.run {
"deprecated since $since" +
", scheduled for removal".takeIf { forRemoval }.orEmpty() +
". $message"
}
?.let {
val descPresent = length > prefix.length
append(if (descPresent) indent else prefix)
appendLine(if (descPresent) it.replaceFirstChar { it.uppercaseChar() } else it)
}
paramField.experimental
?.run {
val descPresent = length > prefix.length
append(if (descPresent) indent else prefix)
append("Experimental")
appendLine(if (message != null) ". $message" else "")
}
}
}