Better presentation
This commit is contained in:
+12
-2
@@ -129,7 +129,17 @@ class LookupElementFactory(
|
||||
val lambdaPresentation = lambdaPresentation(if (explicitLambdaParameters) parameterType else null)
|
||||
|
||||
// render only the last parameter because all other should be optional and will be omitted
|
||||
val parameterPresentation = DescriptorRenderer.SHORT_NAMES_IN_TYPES.renderValueParameters(listOf(descriptor.valueParameters.last()), descriptor.hasSynthesizedParameterNames())
|
||||
var parametersRenderer = DescriptorRenderer.SHORT_NAMES_IN_TYPES
|
||||
if (descriptor.valueParameters.size() > 1) {
|
||||
parametersRenderer = parametersRenderer.withOptions {
|
||||
valueParametersHandler = object: DescriptorRenderer.ValueParametersHandler by DescriptorRenderer.ValueParametersHandler.DEFAULT {
|
||||
override fun appendBeforeValueParameter(parameter: ValueParameterDescriptor, parameterIndex: Int, parameterCount: Int, builder: StringBuilder) {
|
||||
builder.append("..., ")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
val parametersPresentation = parametersRenderer.renderValueParameters(listOf(descriptor.valueParameters.last()), descriptor.hasSynthesizedParameterNames())
|
||||
|
||||
lookupElement = object : LookupElementDecorator<LookupElement>(lookupElement) {
|
||||
override fun renderElement(presentation: LookupElementPresentation) {
|
||||
@@ -137,7 +147,7 @@ class LookupElementFactory(
|
||||
|
||||
presentation.clearTail()
|
||||
presentation.appendTailText(" $lambdaPresentation ", false)
|
||||
presentation.appendTailText(parameterPresentation, true)
|
||||
presentation.appendTailText(parametersPresentation, true)
|
||||
basicFactory.appendContainerAndReceiverInformation(descriptor) { presentation.appendTailText(it, true) }
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -10,13 +10,13 @@ fun test(param: () -> Unit) {
|
||||
}
|
||||
|
||||
// EXIST: { itemText: "xfoo1", tailText: "(option1: String = ..., option2: Int = ..., p: () -> Unit) (<root>)", typeText:"Unit" }
|
||||
// EXIST: { itemText: "xfoo1", tailText: " {...} (p: () -> Unit) (<root>)", typeText:"Unit" }
|
||||
// EXIST: { itemText: "xfoo1", tailText: " {...} (..., p: () -> Unit) (<root>)", typeText:"Unit" }
|
||||
|
||||
// EXIST: { itemText: "xfoo2", tailText: "(option1: String = ..., option2: Int = ..., p: (Int) -> Boolean) (<root>)", typeText:"Unit" }
|
||||
// EXIST: { itemText: "xfoo2", tailText: " {...} (p: (Int) -> Boolean) (<root>)", typeText:"Unit" }
|
||||
// EXIST: { itemText: "xfoo2", tailText: " {...} (..., p: (Int) -> Boolean) (<root>)", typeText:"Unit" }
|
||||
|
||||
// EXIST: { itemText: "xfoo3", tailText: "(option1: String = ..., option2: Int = ..., p: (String, Char) -> Unit) (<root>)", typeText:"Unit" }
|
||||
// EXIST: { itemText: "xfoo3", tailText: " { String, Char -> ... } (p: (String, Char) -> Unit) (<root>)", typeText:"Unit" }
|
||||
// EXIST: { itemText: "xfoo3", tailText: " { String, Char -> ... } (..., p: (String, Char) -> Unit) (<root>)", typeText:"Unit" }
|
||||
|
||||
// EXIST: { itemText: "xfooBad1", tailText: "(option: String = ..., notOption: Int, p: (String, Char) -> Unit) (<root>)", typeText:"Unit" }
|
||||
|
||||
|
||||
+1
-1
@@ -5,5 +5,5 @@ fun test(param: () -> Unit) {
|
||||
}
|
||||
|
||||
// ELEMENT: xfoo
|
||||
// TAIL_TEXT: " {...} (p: () -> Unit) (<root>)"
|
||||
// TAIL_TEXT: " {...} (..., p: () -> Unit) (<root>)"
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -5,5 +5,5 @@ fun test(param: () -> Unit) {
|
||||
}
|
||||
|
||||
// ELEMENT: xfoo
|
||||
// TAIL_TEXT: " {...} (p: () -> Unit) (<root>)"
|
||||
// TAIL_TEXT: " {...} (..., p: () -> Unit) (<root>)"
|
||||
|
||||
|
||||
+1
-1
@@ -5,5 +5,5 @@ fun test(param: () -> Unit) {
|
||||
}
|
||||
|
||||
// ELEMENT: xfoo
|
||||
// TAIL_TEXT: " { String, Int -> ... } (p: (String, Int) -> Unit) (<root>)"
|
||||
// TAIL_TEXT: " { String, Int -> ... } (..., p: (String, Int) -> Unit) (<root>)"
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -5,5 +5,5 @@ fun test(param: () -> Unit) {
|
||||
}
|
||||
|
||||
// ELEMENT: xfoo
|
||||
// TAIL_TEXT: " { String, Int -> ... } (p: (String, Int) -> Unit) (<root>)"
|
||||
// TAIL_TEXT: " { String, Int -> ... } (..., p: (String, Int) -> Unit) (<root>)"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user