@@ -20,9 +20,7 @@ import com.intellij.usages.Usage
20
20
import com.intellij.usages.UsageInfo2UsageAdapter
21
21
import com.intellij.util.Processor
22
22
import com.redhat.devtools.intellij.kubernetes.editor.util.PsiElements
23
- import com.redhat.devtools.intellij.kubernetes.editor.util.getLabels
24
23
import com.redhat.devtools.intellij.kubernetes.editor.util.getResource
25
- import com.redhat.devtools.intellij.kubernetes.editor.util.getSelector
26
24
import com.redhat.devtools.intellij.kubernetes.editor.util.isLabels
27
25
import com.redhat.devtools.intellij.kubernetes.editor.util.isSelector
28
26
@@ -53,9 +51,11 @@ class SelectorUsageSearcher : CustomUsageSearcher() {
53
51
**/
54
52
// val searchScope = options.searchScope
55
53
// if (searchScope.contains(file.virtualFile)) {
56
- getAllMatching(searchParameter)
54
+ val filter = getFilter(searchParameter) ? : return @run
55
+ val mapping = filter as ? MatchingElementMapping ? : return @run
56
+ getAllMatching(searchParameter, filter)
57
57
.forEach { matchingElement ->
58
- val searchResult = getMatchingAttribute(searchParameter, matchingElement)
58
+ val searchResult = mapping.getMatchingElement( matchingElement)?.parent
59
59
if (searchResult != null ) {
60
60
processor.process(
61
61
UsageInfo2UsageAdapter (UsageInfo (searchResult))
@@ -65,10 +65,9 @@ class SelectorUsageSearcher : CustomUsageSearcher() {
65
65
}
66
66
}
67
67
68
- private fun getAllMatching (searchParameter : PsiElement ): Collection <PsiElement > {
68
+ private fun getAllMatching (searchParameter : PsiElement , filter : PsiElementFilter ): Collection <PsiElement > {
69
69
val fileType = searchParameter.containingFile.fileType
70
70
val project = searchParameter.project
71
- val filter = getFilter(searchParameter) ? : return emptyList()
72
71
return PsiElements .getAllNoExclusions(fileType, project)
73
72
.filter(filter::isAccepted)
74
73
}
@@ -87,14 +86,4 @@ class SelectorUsageSearcher : CustomUsageSearcher() {
87
86
}
88
87
}
89
88
90
- private fun getMatchingAttribute (searchParameter : PsiElement , matchingElement : PsiElement ): PsiElement ? {
91
- return when {
92
- searchParameter.isSelector() ->
93
- matchingElement.getLabels()?.parent // beginning of labels block/property
94
- searchParameter.isLabels() ->
95
- matchingElement.getSelector()?.parent // beginning of selector block/property
96
- else ->
97
- null
98
- }
99
- }
100
89
}
0 commit comments