From 03b3cf7480821a9e4d972c6d8b37d91f9fe7e18f Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Fri, 14 Nov 2014 14:25:10 +0300 Subject: [PATCH] Completion: better space key handling --- .../jet/plugin/completion/NamedParametersCompletion.kt | 3 --- .../jet/plugin/completion/handlers/WithTailInsertHandler.kt | 5 +++-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/idea/src/org/jetbrains/jet/plugin/completion/NamedParametersCompletion.kt b/idea/src/org/jetbrains/jet/plugin/completion/NamedParametersCompletion.kt index c7076197d87..37312e85d82 100644 --- a/idea/src/org/jetbrains/jet/plugin/completion/NamedParametersCompletion.kt +++ b/idea/src/org/jetbrains/jet/plugin/completion/NamedParametersCompletion.kt @@ -108,9 +108,6 @@ object NamedParametersCompletion { editor.getDocument().replaceString(context.getStartOffset(), context.getTailOffset(), text) editor.getCaretModel().moveToOffset(context.getStartOffset() + text.length) - if (context.getCompletionChar() == ' ') { - context.setAddCompletionChar(false) - } WithTailInsertHandler.eqTail().postHandleInsert(context, item) } } diff --git a/idea/src/org/jetbrains/jet/plugin/completion/handlers/WithTailInsertHandler.kt b/idea/src/org/jetbrains/jet/plugin/completion/handlers/WithTailInsertHandler.kt index e5c00ec1349..3d67c73b931 100644 --- a/idea/src/org/jetbrains/jet/plugin/completion/handlers/WithTailInsertHandler.kt +++ b/idea/src/org/jetbrains/jet/plugin/completion/handlers/WithTailInsertHandler.kt @@ -35,7 +35,8 @@ class WithTailInsertHandler(val tailText: String, } fun postHandleInsert(context: InsertionContext, item: LookupElement) { - if (tailText == context.getCompletionChar().toString()) { + val completionChar = context.getCompletionChar() + if (completionChar == tailText.singleOrNull() || (spaceAfter && completionChar == ' ')) { context.setAddCompletionChar(false) } //TODO: what if completion char is different? @@ -44,7 +45,7 @@ class WithTailInsertHandler(val tailText: String, PsiDocumentManager.getInstance(context.getProject()).doPostponedOperationsAndUnblockDocument(document) var tailOffset = context.getTailOffset() - if (context.getCompletionChar() == Lookup.REPLACE_SELECT_CHAR && item.getUserData(KEEP_OLD_ARGUMENT_LIST_ON_TAB_KEY) != null) { + if (completionChar == Lookup.REPLACE_SELECT_CHAR && item.getUserData(KEEP_OLD_ARGUMENT_LIST_ON_TAB_KEY) != null) { val offset = context.getOffsetMap().getOffset(SmartCompletion.OLD_ARGUMENTS_REPLACEMENT_OFFSET) if (offset != -1) tailOffset = offset }