KT-1673 Respect formatter settings in the completion list - apply standard renderer

#KT-1673 fixed
This commit is contained in:
Nikolay Krasko
2012-05-22 01:45:36 +04:00
parent 8623fba01b
commit a7b11d2b4e
4 changed files with 18 additions and 10 deletions
@@ -249,6 +249,12 @@ public class DescriptorRenderer implements Renderer<DeclarationDescriptor> {
return stringBuilder.toString();
}
public String renderFunctionParameters(@NotNull FunctionDescriptor functionDescriptor) {
StringBuilder stringBuilder = new StringBuilder();
rootVisitor.renderValueParameters(functionDescriptor, stringBuilder);
return stringBuilder.toString();
}
protected boolean shouldRenderDefinedIn() {
return true;
}
@@ -20,9 +20,7 @@ import com.google.common.collect.Lists;
import com.intellij.codeInsight.lookup.LookupElement;
import com.intellij.codeInsight.lookup.LookupElementBuilder;
import com.intellij.openapi.util.Iconable;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.PsiElement;
import com.intellij.util.Function;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lang.descriptors.*;
@@ -64,14 +62,7 @@ public final class DescriptorLookupConverter {
FunctionDescriptor functionDescriptor = (FunctionDescriptor) descriptor;
JetType returnType = functionDescriptor.getReturnType();
typeText = DescriptorRenderer.TEXT.renderType(returnType);
tailText = "(" + StringUtil.join(functionDescriptor.getValueParameters(), new Function<ValueParameterDescriptor, String>() {
@Override
public String fun(ValueParameterDescriptor valueParameterDescriptor) {
return valueParameterDescriptor.getName() + ":" +
DescriptorRenderer.TEXT.renderType(valueParameterDescriptor.getType());
}
}, ",") + ")";
tailText = DescriptorRenderer.TEXT.renderFunctionParameters(functionDescriptor);
boolean extensionFunction = functionDescriptor.getReceiverParameter().exists();
DeclarationDescriptor containingDeclaration = descriptor.getContainingDeclaration();
@@ -0,0 +1,7 @@
fun test(a: Int) {}
fun some() {
tes<caret>
}
// EXIST: test~(a : jet.Int)
@@ -81,6 +81,10 @@ public class JetBasicCompletionTest extends JetCompletionTestBase {
doTest();
}
public void testFunctionCompletionFormatting() {
doTest();
}
public void testInCallExpression() {
doTest();
}