@@ -105,16 +105,25 @@ private void addMethodCompletions(@NotNull CompletionResultSet completionResultS
105
105
for (LuaClassMethodDef def : list ) {
106
106
String methodName = def .getName ();
107
107
if (methodName != null && completionResultSet .getPrefixMatcher ().prefixMatches (methodName )) {
108
- LookupElementBuilder elementBuilder = LookupElementBuilder .create (methodName )
109
- .withIcon (LuaIcons .CLASS_METHOD )
110
- .withTypeText (clazzName )
111
- .withTailText (def .getParamSignature ());
112
- if (!useAsField )
113
- elementBuilder = elementBuilder .withInsertHandler (new FuncInsertHandler (def ));
114
- if (bold )
115
- elementBuilder = elementBuilder .bold ();
116
-
117
- completionResultSet .addElement (elementBuilder );
108
+ if (useAsField ) {
109
+ LookupElementBuilder elementBuilder = LookupElementBuilder .create (methodName )
110
+ .withIcon (LuaIcons .CLASS_METHOD )
111
+ .withTypeText (clazzName )
112
+ .withTailText (def .getParamSignature ());
113
+ if (bold )
114
+ elementBuilder = elementBuilder .bold ();
115
+ completionResultSet .addElement (elementBuilder );
116
+ } else {
117
+ LuaPsiImplUtil .processOptional (def .getParams (), (signature , mask ) -> {
118
+ LookupElementBuilder elementBuilder = LookupElementBuilder .create (methodName + signature , methodName )
119
+ .withIcon (LuaIcons .CLASS_METHOD )
120
+ .withTypeText (clazzName )
121
+ .withTailText (signature );
122
+ if (bold )
123
+ elementBuilder = elementBuilder .bold ();
124
+ completionResultSet .addElement (elementBuilder );
125
+ });
126
+ }
118
127
}
119
128
}
120
129
@@ -133,16 +142,18 @@ private void addStaticMethodCompletions(@NotNull CompletionResultSet completionR
133
142
for (LuaClassMethodDef def : list ) {
134
143
String methodName = def .getName ();
135
144
if (methodName != null && completionResultSet .getPrefixMatcher ().prefixMatches (methodName )) {
136
- LookupElementBuilder elementBuilder = LookupElementBuilder .create (methodName )
137
- .withIcon (LuaIcons .CLASS_METHOD )
138
- .withInsertHandler (new FuncInsertHandler (def ))
139
- .withTypeText (clazzName )
140
- .withItemTextUnderlined (true )
141
- .withTailText (def .getParamSignature ());
142
- if (bold )
143
- elementBuilder = elementBuilder .bold ();
144
-
145
- completionResultSet .addElement (elementBuilder );
145
+ LuaPsiImplUtil .processOptional (def .getParams (), (signature , mask ) -> {
146
+ LookupElementBuilder elementBuilder = LookupElementBuilder .create (methodName + signature , methodName )
147
+ .withIcon (LuaIcons .CLASS_METHOD )
148
+ .withInsertHandler (new FuncInsertHandler (def ).withMask (mask ))
149
+ .withTypeText (clazzName )
150
+ .withItemTextUnderlined (true )
151
+ .withTailText (signature );
152
+ if (bold )
153
+ elementBuilder = elementBuilder .bold ();
154
+
155
+ completionResultSet .addElement (elementBuilder );
156
+ });
146
157
}
147
158
}
148
159
0 commit comments