diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/BasicCompletionSession.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/BasicCompletionSession.kt index 0900c966c36..7691836e447 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/BasicCompletionSession.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/BasicCompletionSession.kt @@ -307,6 +307,10 @@ class BasicCompletionSession(configuration: CompletionSessionConfiguration, } } + "get" -> { + collector.addElement(lookupElement) + } + else -> collector.addElement(lookupElement) } } diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KeywordCompletion.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KeywordCompletion.kt index 33b91aabe40..5652b20fd38 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KeywordCompletion.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KeywordCompletion.kt @@ -85,21 +85,27 @@ object KeywordCompletion { if (!parserFilter(keywordToken)) continue - val insertHandler = if (position.prevLeaf()?.node?.elementType == KtTokens.AT) + var element = LookupElementBuilder.create(KeywordLookupObject(), keyword).bold() + + val isUseSiteAnnotationTarget = position.prevLeaf()?.node?.elementType == KtTokens.AT + + val insertHandler = if (isUseSiteAnnotationTarget) UseSiteAnnotationTargetInsertHandler else if (keywordToken !in FUNCTION_KEYWORDS) KotlinKeywordInsertHandler else KotlinFunctionInsertHandler.Normal(inputTypeArguments = false, inputValueArguments = false) + element = element.withInsertHandler(insertHandler) + + if (isUseSiteAnnotationTarget) { + element = element.withPresentableText(keyword + ":") + } - val element = LookupElementBuilder.create(KeywordLookupObject(), keyword) - .bold() - .withInsertHandler(insertHandler) consumer(element) } } - private val FUNCTION_KEYWORDS = listOf(GET_KEYWORD, SET_KEYWORD, CONSTRUCTOR_KEYWORD) + private val FUNCTION_KEYWORDS = listOf(CONSTRUCTOR_KEYWORD) private val GENERAL_FILTER = NotFilter(OrFilter( CommentFilter(), diff --git a/idea/idea-completion/testData/keywords/FileKeyword.kt b/idea/idea-completion/testData/keywords/FileKeyword.kt index 8763c0089ca..cb7656336f4 100644 --- a/idea/idea-completion/testData/keywords/FileKeyword.kt +++ b/idea/idea-completion/testData/keywords/FileKeyword.kt @@ -1,11 +1,11 @@ @[] -// EXIST: file -// EXIST: field -// EXIST: get -// EXIST: set -// EXIST: param -// EXIST: setparam -// EXIST: property -// EXIST: receiver +// EXIST: { itemText: "file:" } +// EXIST: { itemText: "field:" } +// EXIST: { itemText: "get:" } +// EXIST: { itemText: "set:" } +// EXIST: { itemText: "param:" } +// EXIST: { itemText: "setparam:" } +// EXIST: { itemText: "property:" } +// EXIST: { itemText: "receiver:" } // NOTHING_ELSE