@@ -130,30 +130,32 @@ abstract class InjectionPoint<T : PsiElement> {
130130 return doCreateCollectVisitor(at, target, targetClass, mode)?.also {
131131 val isInsideSlice = at.parentOfType<PsiAnnotation >()?.hasQualifiedName(SLICE ) == true
132132 val defaultSpecifier = if (isInsideSlice) InjectionPointSpecifier .FIRST else InjectionPointSpecifier .ALL
133- addFilters(at, targetClass, it, defaultSpecifier)
133+ addFilters(at, targetClass, it, defaultSpecifier, mode )
134134 }
135135 }
136136
137137 protected open fun addFilters (
138138 at : PsiAnnotation ,
139139 targetClass : ClassNode ,
140140 collectVisitor : CollectVisitor <T >,
141- defaultSpecifier : InjectionPointSpecifier
141+ defaultSpecifier : InjectionPointSpecifier ,
142+ mode : CollectVisitor .Mode ,
142143 ) {
143- addStandardFilters(at, targetClass, collectVisitor, defaultSpecifier)
144+ addStandardFilters(at, targetClass, collectVisitor, defaultSpecifier, mode )
144145 }
145146
146147 fun addStandardFilters (
147148 at : PsiAnnotation ,
148149 targetClass : ClassNode ,
149150 collectVisitor : CollectVisitor <T >,
150- defaultSpecifier : InjectionPointSpecifier
151+ defaultSpecifier : InjectionPointSpecifier ,
152+ mode : CollectVisitor .Mode ,
151153 ) {
152154 addShiftSupport(at, targetClass, collectVisitor)
153155 addSliceFilter(at, targetClass, collectVisitor)
154156 // make sure the ordinal filter is last, so that the ordinal only increments once the other filters have passed
155157 addOrdinalFilter(at, targetClass, collectVisitor)
156- addSpecifierFilter(at, targetClass, collectVisitor, defaultSpecifier)
158+ addSpecifierFilter(at, targetClass, collectVisitor, defaultSpecifier, mode )
157159 }
158160
159161 protected open fun addShiftSupport (at : PsiAnnotation , targetClass : ClassNode , collectVisitor : CollectVisitor <* >) {
@@ -213,8 +215,13 @@ abstract class InjectionPoint<T : PsiElement> {
213215 at : PsiAnnotation ,
214216 targetClass : ClassNode ,
215217 collectVisitor : CollectVisitor <T >,
216- defaultSpecifier : InjectionPointSpecifier
218+ defaultSpecifier : InjectionPointSpecifier ,
219+ mode : CollectVisitor .Mode ,
217220 ) {
221+ if (mode == CollectVisitor .Mode .COMPLETION ) {
222+ // Ignore the specifier, we want to show all results
223+ return
224+ }
218225 val point = at.findDeclaredAttributeValue(" value" )?.constantStringValue ? : return
219226 val specifier = InjectionPointSpecifier .entries.firstOrNull { point.endsWith(" :$it " ) } ? : defaultSpecifier
220227 collectVisitor.addResultFilter(" specifier" ) { results, _ ->
0 commit comments