in gdscript/src/main/kotlin/gdscript/psi/utils/GdCommentUtil.kt [152:187]
fun collectAllDescriptions(element: PsiElement?): Map<String, List<String>> {
val descriptions = mutableMapOf<String, MutableList<String>>()
descriptions[DESCRIPTION] = mutableListOf()
descriptions[BRIEF_DESCRIPTION] = mutableListOf()
descriptions[PARAMETER] = mutableListOf()
descriptions[ENUM] = mutableListOf()
descriptions[RETURN] = mutableListOf()
descriptions[TUTORIAL] = mutableListOf()
var el = element?.prevSibling
while (el != null) {
when (el.elementType) {
GdTypes.COMMENT -> {
var text = el.text.removePrefix("#").trimStart()
var prefix = text.substringBefore(" ")
if (BREAKS_AT.contains(prefix)) break
if (!descriptions.containsKey(prefix)) prefix = DESCRIPTION
else text = text.substringAfter(" ")
if (prefix != TUTORIAL) {
text = GdGodotDocUtil.parseStyles(text)
}
(descriptions[prefix]!!).add(0, text)
}
TokenType.WHITE_SPACE -> {}
GdTypes.ANNOTATION_TL -> {}
else -> break
}
el = el.prevSibling
}
return descriptions
}