2
2
3
3
import com .intellij .codeInsight .completion .*;
4
4
import com .intellij .codeInsight .lookup .LookupElement ;
5
+ import com .intellij .patterns .PatternCondition ;
5
6
import com .intellij .patterns .PlatformPatterns ;
7
+ import com .intellij .patterns .StandardPatterns ;
6
8
import com .intellij .psi .PsiElement ;
7
9
import com .intellij .util .ProcessingContext ;
8
10
import com .jetbrains .php .PhpIndex ;
9
11
import com .jetbrains .php .lang .psi .elements .ConstantReference ;
10
12
import com .jetbrains .php .lang .psi .elements .MethodReference ;
11
13
import com .jetbrains .php .lang .psi .elements .PhpClass ;
12
14
import fr .adrienbrault .idea .symfony2plugin .Symfony2ProjectComponent ;
15
+ import fr .adrienbrault .idea .symfony2plugin .dic .ServiceCompletionProvider ;
13
16
import fr .adrienbrault .idea .symfony2plugin .util .PhpElementsUtil ;
14
17
import org .jetbrains .annotations .NotNull ;
15
18
19
22
public class FormCompletionContributor extends CompletionContributor {
20
23
21
24
public FormCompletionContributor () {
22
- extend (CompletionType .BASIC , PlatformPatterns .psiElement ().withParent (ConstantReference .class ), new CompletionProvider <CompletionParameters >() {
25
+ extend (CompletionType .BASIC , PlatformPatterns .psiElement ().withParent (ConstantReference .class ), new CompletionProvider <>() {
23
26
@ Override
24
- protected void addCompletions (@ NotNull CompletionParameters completionParameters , ProcessingContext processingContext , @ NotNull CompletionResultSet completionResultSet ) {
27
+ protected void addCompletions (@ NotNull CompletionParameters completionParameters , @ NotNull ProcessingContext processingContext , @ NotNull CompletionResultSet completionResultSet ) {
25
28
PsiElement psiElement = completionParameters .getOriginalPosition ();
26
29
if (!Symfony2ProjectComponent .isEnabled (psiElement )) {
27
30
return ;
@@ -32,8 +35,8 @@ protected void addCompletions(@NotNull CompletionParameters completionParameters
32
35
return ;
33
36
}
34
37
35
- if (!(
36
- PhpElementsUtil .isMethodReferenceInstanceOf (methodReference , "Symfony\\ Component\\ Form\\ FormBuilderInterface" , "add" ) ||
38
+ if (!(
39
+ PhpElementsUtil .isMethodReferenceInstanceOf (methodReference , "Symfony\\ Component\\ Form\\ FormBuilderInterface" , "add" ) ||
37
40
PhpElementsUtil .isMethodReferenceInstanceOf (methodReference , "Symfony\\ Component\\ Form\\ FormBuilderInterface" , "create" ) ||
38
41
PhpElementsUtil .isMethodReferenceInstanceOf (methodReference , "Symfony\\ Component\\ Form\\ FormFactoryInterface" , "createNamedBuilder" ) ||
39
42
PhpElementsUtil .isMethodReferenceInstanceOf (methodReference , "Symfony\\ Component\\ Form\\ FormFactoryInterface" , "createNamed" )
@@ -42,20 +45,17 @@ protected void addCompletions(@NotNull CompletionParameters completionParameters
42
45
}
43
46
44
47
for (PhpClass phpClass : PhpIndex .getInstance (psiElement .getProject ()).getAllSubclasses ("\\ Symfony\\ Component\\ Form\\ FormTypeInterface" )) {
45
- if (phpClass .isAbstract () || phpClass .isInterface ()) {
48
+ if (phpClass .isAbstract () || phpClass .isInterface ()) {
46
49
continue ;
47
50
}
48
51
49
52
LookupElement elementBuilder = new FormClassConstantsLookupElement (phpClass );
50
53
51
- // does this have an effect really?
52
54
completionResultSet .addElement (
53
- PrioritizedLookupElement .withExplicitProximity ( PrioritizedLookupElement . withPriority (elementBuilder , 1000 ), 1000 )
55
+ PrioritizedLookupElement .withPriority (elementBuilder , 100 )
54
56
);
55
57
}
56
-
57
58
}
58
-
59
59
});
60
60
}
61
61
0 commit comments