Remove anonymous declarations from Structure View
This commit is contained in:
+9
-5
@@ -10,22 +10,26 @@ import com.intellij.ide.structureView.StructureViewModelBase
|
|||||||
import com.intellij.ide.structureView.StructureViewTreeElement
|
import com.intellij.ide.structureView.StructureViewTreeElement
|
||||||
import com.intellij.ide.util.treeView.smartTree.*
|
import com.intellij.ide.util.treeView.smartTree.*
|
||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.util.PlatformIcons
|
import com.intellij.util.PlatformIcons
|
||||||
import org.jetbrains.kotlin.idea.KotlinIdeaAnalysisBundle
|
import org.jetbrains.kotlin.idea.KotlinIdeaAnalysisBundle
|
||||||
import org.jetbrains.kotlin.psi.KtClassOrObject
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.KtDeclaration
|
import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject
|
||||||
import org.jetbrains.kotlin.psi.KtEnumEntry
|
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
|
||||||
|
|
||||||
class KotlinStructureViewModel(ktFile: KtFile, editor: Editor?) :
|
class KotlinStructureViewModel(ktFile: KtFile, editor: Editor?) :
|
||||||
StructureViewModelBase(ktFile, editor, KotlinStructureViewElement(ktFile, false)),
|
StructureViewModelBase(ktFile, editor, KotlinStructureViewElement(ktFile, false)),
|
||||||
StructureViewModel.ElementInfoProvider {
|
StructureViewModel.ElementInfoProvider {
|
||||||
|
|
||||||
init {
|
init {
|
||||||
withSuitableClasses(KtDeclaration::class.java)
|
|
||||||
withSorters(Sorter.ALPHA_SORTER)
|
withSorters(Sorter.ALPHA_SORTER)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun isSuitable(element: PsiElement?): Boolean = element is KtDeclaration &&
|
||||||
|
element !is KtPropertyAccessor &&
|
||||||
|
element !is KtFunctionLiteral &&
|
||||||
|
!(element is KtProperty && element.containingClassOrObject !is KtNamedDeclaration) &&
|
||||||
|
!(element is KtFunction && element.containingClassOrObject !is KtNamedDeclaration)
|
||||||
|
|
||||||
override fun getNodeProviders() = NODE_PROVIDERS
|
override fun getNodeProviders() = NODE_PROVIDERS
|
||||||
|
|
||||||
override fun getFilters() = FILTERS
|
override fun getFilters() = FILTERS
|
||||||
|
|||||||
Reference in New Issue
Block a user