From d421e7ac723750136b483b92c2e0c7844d7e36a3 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Fri, 14 Nov 2014 14:46:00 +0300 Subject: [PATCH] Code refactoring --- .../handlers/KotlinKeywordInsertHandler.kt | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/idea/src/org/jetbrains/jet/plugin/completion/handlers/KotlinKeywordInsertHandler.kt b/idea/src/org/jetbrains/jet/plugin/completion/handlers/KotlinKeywordInsertHandler.kt index 21b519c63cc..89ffe593d0c 100644 --- a/idea/src/org/jetbrains/jet/plugin/completion/handlers/KotlinKeywordInsertHandler.kt +++ b/idea/src/org/jetbrains/jet/plugin/completion/handlers/KotlinKeywordInsertHandler.kt @@ -35,9 +35,13 @@ public object KotlinKeywordInsertHandler : InsertHandler { JetTokens.CONTINUE_KEYWORD.toString()) override fun handleInsert(context: InsertionContext, item: LookupElement) { - val keyword = item.getLookupString() + if (shouldInsertSpaceAfter(item.getLookupString(), context)) { + WithTailInsertHandler.spaceTail().postHandleInsert(context, item) + } + } - if (keyword in NO_SPACE_AFTER) return + private fun shouldInsertSpaceAfter(keyword: String, context: InsertionContext): Boolean { + if (keyword in NO_SPACE_AFTER) return false if (keyword == JetTokens.RETURN_KEYWORD.toString()) { val element = context.getFile().findElementAt(context.getStartOffset()) @@ -45,12 +49,11 @@ public object KotlinKeywordInsertHandler : InsertHandler { val jetFunction = PsiTreeUtil.getParentOfType(element, javaClass()) if (jetFunction != null && (!jetFunction.hasDeclaredReturnType() || JetPsiUtil.isVoidType(jetFunction.getTypeReference()))) { // No space for void function - return + return false } } } - // Add space after keyword - WithTailInsertHandler.spaceTail().postHandleInsert(context, item) + return true } }