Collapsed comments containing * get removed in the summary line (KT-21994)

#KT-21994 Fixed
This commit is contained in:
Nikolay Krasko
2018-01-16 19:42:14 +03:00
parent a1b20535b2
commit 1c7e42f1d4
2 changed files with 16 additions and 15 deletions
@@ -37,8 +37,10 @@ import org.jetbrains.kotlin.psi.psiUtil.endOffset
import org.jetbrains.kotlin.psi.psiUtil.startOffset import org.jetbrains.kotlin.psi.psiUtil.startOffset
class KotlinFoldingBuilder : CustomFoldingBuilder(), DumbAware { class KotlinFoldingBuilder : CustomFoldingBuilder(), DumbAware {
override fun buildLanguageFoldRegions(descriptors: MutableList<FoldingDescriptor>, override fun buildLanguageFoldRegions(
root: PsiElement, document: Document, quick: Boolean) { descriptors: MutableList<FoldingDescriptor>,
root: PsiElement, document: Document, quick: Boolean
) {
if (root !is KtFile) { if (root !is KtFile) {
return return
} }
@@ -126,10 +128,10 @@ class KotlinFoldingBuilder : CustomFoldingBuilder(), DumbAware {
private fun getCommentContents(line: String): String { private fun getCommentContents(line: String): String {
return line.trim() return line.trim()
.replace("/**", "") .removePrefix("/**")
.replace("/*", "") .removePrefix("/*")
.replace("*/", "") .removePrefix("*/")
.replace("*", "") .removePrefix("*")
.trim() .trim()
} }
@@ -150,8 +152,7 @@ class KotlinFoldingBuilder : CustomFoldingBuilder(), DumbAware {
return false return false
} }
override fun isCustomFoldingRoot(node: ASTNode) override fun isCustomFoldingRoot(node: ASTNode) = node.elementType == KtNodeTypes.BLOCK || node.elementType == KtNodeTypes.CLASS_BODY
= node.elementType == KtNodeTypes.BLOCK || node.elementType == KtNodeTypes.CLASS_BODY
private fun isFirstElementInFile(element: PsiElement): Boolean { private fun isFirstElementInFile(element: PsiElement): Boolean {
val parent = element.parent val parent = element.parent
+2 -2
View File
@@ -3,8 +3,8 @@
*/</fold> */</fold>
package some package some
<fold text='/** Other ...*/' expand='true'>/** <fold text='/** Other 1 * 2 ...*/' expand='true'>/**
* Other * Other 1 * 2
*/</fold> */</fold>
// SET_TRUE: setCollapseFileHeader // SET_TRUE: setCollapseFileHeader