diff --git a/idea/src/org/jetbrains/kotlin/idea/editor/KotlinTypedHandler.java b/idea/src/org/jetbrains/kotlin/idea/editor/KotlinTypedHandler.java index bcda18c1835..a7a48cfdf4a 100644 --- a/idea/src/org/jetbrains/kotlin/idea/editor/KotlinTypedHandler.java +++ b/idea/src/org/jetbrains/kotlin/idea/editor/KotlinTypedHandler.java @@ -250,8 +250,13 @@ public class KotlinTypedHandler extends TypedHandlerDelegate { PsiElement previousElement = file.findElementAt(offset - 1); if (previousElement instanceof LeafPsiElement && ((LeafPsiElement) previousElement).getElementType() == KtTokens.LONG_TEMPLATE_ENTRY_START) { - editor.getDocument().insertString(offset, "}"); - return Result.STOP; + PsiElement currentElement = file.findElementAt(offset); + + if (currentElement instanceof LeafPsiElement + && ((LeafPsiElement) currentElement).getElementType() != KtTokens.IDENTIFIER) { + editor.getDocument().insertString(offset, "}"); + return Result.STOP; + } } } else if (c == ':') { diff --git a/idea/tests/org/jetbrains/kotlin/idea/editor/TypedHandlerTest.kt b/idea/tests/org/jetbrains/kotlin/idea/editor/TypedHandlerTest.kt index 50a76564ee9..c5a2604f150 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/editor/TypedHandlerTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/editor/TypedHandlerTest.kt @@ -65,7 +65,7 @@ class TypedHandlerTest : LightCodeInsightTestCase() { fun testTypeStringTemplateStartBeforeString() = doCharTypeTest( '{', """fun foo() { "$something" }""", - """fun foo() { "$dollar{}something" }""" + """fun foo() { "$dollar{something" }""" ) fun testKT3575() = doCharTypeTest(