mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
IDEA-370122 Logical Structure: support option "Always select opened element"
GitOrigin-RevId: 8f742fadbc74ebfdfe17dc13bc441c7b1ab1e5ce
This commit is contained in:
committed by
intellij-monorepo-bot
parent
1159d74523
commit
3bbc30089e
+15
-1
@@ -2,11 +2,16 @@
|
||||
package com.intellij.lang.java.logical
|
||||
|
||||
import com.intellij.ide.structureView.logical.LogicalStructureElementsProvider
|
||||
import com.intellij.ide.structureView.logical.model.LogicalPsiDescription
|
||||
import com.intellij.psi.PsiClass
|
||||
import com.intellij.psi.PsiClassOwner
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
import org.jetbrains.uast.UClass
|
||||
import org.jetbrains.uast.toUElement
|
||||
|
||||
@ApiStatus.Internal
|
||||
class ClassOwnerLogicalStructureElementsProvider: LogicalStructureElementsProvider<PsiClassOwner, Any> {
|
||||
class ClassOwnerLogicalStructureElementsProvider: LogicalStructureElementsProvider<PsiClassOwner, Any>, LogicalPsiDescription {
|
||||
override fun getElements(parent: PsiClassOwner): List<Any> {
|
||||
val result = mutableListOf<Any>()
|
||||
var convertedAtLeastOne = false
|
||||
@@ -27,4 +32,13 @@ class ClassOwnerLogicalStructureElementsProvider: LogicalStructureElementsProvid
|
||||
if (convertedAtLeastOne) return result
|
||||
return emptyList()
|
||||
}
|
||||
|
||||
override fun getSuitableElement(psiElement: PsiElement): PsiElement? {
|
||||
if (psiElement is PsiClass) return psiElement
|
||||
return (psiElement.toUElement() as? UClass)?.javaPsi
|
||||
}
|
||||
|
||||
override fun isAskChildren(): Boolean {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user