From c2cf95bcd43ab362f920f5deb2d622958d9e519d Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Fri, 30 Oct 2015 17:20:55 +0300 Subject: [PATCH] KT-9787 Auto-popup parameter info on typing '[' #KT-9787 Fixed --- .../kotlin/idea/editor/KotlinTypedHandler.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/idea/src/org/jetbrains/kotlin/idea/editor/KotlinTypedHandler.java b/idea/src/org/jetbrains/kotlin/idea/editor/KotlinTypedHandler.java index 5fa95f116ed..54920b2c99e 100644 --- a/idea/src/org/jetbrains/kotlin/idea/editor/KotlinTypedHandler.java +++ b/idea/src/org/jetbrains/kotlin/idea/editor/KotlinTypedHandler.java @@ -124,11 +124,29 @@ public class KotlinTypedHandler extends TypedHandlerDelegate { case ':': autoPopupCallableReferenceLookup(project, editor); return Result.CONTINUE; + + case '[': + autoPopupParameterInfo(project, editor); + return Result.CONTINUE; } return Result.CONTINUE; } + private static void autoPopupParameterInfo(Project project, Editor editor) { + int offset = editor.getCaretModel().getOffset(); + if (offset == 0) return; + + HighlighterIterator iterator = ((EditorEx) editor).getHighlighter().createIterator(offset - 1); + IElementType tokenType = iterator.getTokenType(); + if (KtTokens.COMMENTS.contains(tokenType) + || tokenType == KtTokens.REGULAR_STRING_PART + || tokenType == KtTokens.OPEN_QUOTE + || tokenType == KtTokens.CHARACTER_LITERAL) return; + + AutoPopupController.getInstance(project).autoPopupParameterInfo(editor, null); + } + private static void autoPopupMemberLookup(Project project, final Editor editor) { AutoPopupController.getInstance(project).autoPopupMemberLookup(editor, new Condition() { @Override