diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KotlinCompletionContributor.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KotlinCompletionContributor.kt index f9f8da2388e..f2f1a5b20e2 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KotlinCompletionContributor.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KotlinCompletionContributor.kt @@ -131,7 +131,9 @@ class KotlinCompletionContributor : CompletionContributor() { } } - if (tokenAt.node.elementType == KtTokens.IDENTIFIER) { + // IDENTIFIER when 'foo: Foo' + // COLON when 'foo: Foo' + if (tokenAt.node.elementType == KtTokens.IDENTIFIER || tokenAt.node.elementType == KtTokens.COLON) { val parameter = tokenAt.parent as? KtParameter if (parameter != null) { context.offsetMap.addOffset(VariableOrParameterNameWithTypeCompletion.REPLACEMENT_OFFSET, parameter.endOffset) diff --git a/idea/idea-completion/testData/handlers/basic/parameterNameAndType/TabReplace3.kt b/idea/idea-completion/testData/handlers/basic/parameterNameAndType/TabReplace3.kt new file mode 100644 index 00000000000..a652f7ce768 --- /dev/null +++ b/idea/idea-completion/testData/handlers/basic/parameterNameAndType/TabReplace3.kt @@ -0,0 +1,6 @@ +class Foo + +fun f(f: Foo) + +// ELEMENT_TEXT: foo: Foo +// CHAR: '\t' diff --git a/idea/idea-completion/testData/handlers/basic/parameterNameAndType/TabReplace3.kt.after b/idea/idea-completion/testData/handlers/basic/parameterNameAndType/TabReplace3.kt.after new file mode 100644 index 00000000000..204d167269c --- /dev/null +++ b/idea/idea-completion/testData/handlers/basic/parameterNameAndType/TabReplace3.kt.after @@ -0,0 +1,6 @@ +class Foo + +fun f(foo: Foo) + +// ELEMENT_TEXT: foo: Foo +// CHAR: '\t' diff --git a/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/handlers/BasicCompletionHandlerTestGenerated.java b/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/handlers/BasicCompletionHandlerTestGenerated.java index 5e6a913dc14..b4f415a8c5f 100644 --- a/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/handlers/BasicCompletionHandlerTestGenerated.java +++ b/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/handlers/BasicCompletionHandlerTestGenerated.java @@ -698,6 +698,12 @@ public class BasicCompletionHandlerTestGenerated extends AbstractBasicCompletion doTest(fileName); } + @TestMetadata("TabReplace3.kt") + public void testTabReplace3() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/handlers/basic/parameterNameAndType/TabReplace3.kt"); + doTest(fileName); + } + @TestMetadata("TypeParameter.kt") public void testTypeParameter() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/handlers/basic/parameterNameAndType/TypeParameter.kt");