diff --git a/idea/src/org/jetbrains/kotlin/idea/editor/KotlinQuoteHandler.kt b/idea/src/org/jetbrains/kotlin/idea/editor/KotlinQuoteHandler.kt index c2da3aa5f39..377ca2ccf22 100644 --- a/idea/src/org/jetbrains/kotlin/idea/editor/KotlinQuoteHandler.kt +++ b/idea/src/org/jetbrains/kotlin/idea/editor/KotlinQuoteHandler.kt @@ -19,7 +19,6 @@ package org.jetbrains.kotlin.idea.editor import com.intellij.codeInsight.editorActions.QuoteHandler import com.intellij.openapi.editor.Editor import com.intellij.openapi.editor.highlighter.HighlighterIterator -import com.intellij.psi.tree.IElementType import org.jetbrains.kotlin.lexer.KtTokens class KotlinQuoteHandler : QuoteHandler { @@ -40,7 +39,7 @@ class KotlinQuoteHandler : QuoteHandler { override fun isOpeningQuote(iterator: HighlighterIterator, offset: Int): Boolean { val tokenType = iterator.tokenType - if (tokenType == KtTokens.OPEN_QUOTE) { + if (tokenType == KtTokens.OPEN_QUOTE || tokenType == KtTokens.CHARACTER_LITERAL) { val start = iterator.start return offset == start } diff --git a/idea/tests/org/jetbrains/kotlin/idea/editor/TypedHandlerTest.kt b/idea/tests/org/jetbrains/kotlin/idea/editor/TypedHandlerTest.kt index 87e7181bfea..bcac7e20e9b 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/editor/TypedHandlerTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/editor/TypedHandlerTest.kt @@ -552,6 +552,10 @@ class TypedHandlerTest : LightCodeInsightTestCase() { checkResultByText("val a: List>") } + fun testCharClosingQuote() { + doCharTypeTest('\'', "val c = ", "val c = ''") + } + private fun doCharTypeTest(ch: Char, beforeText: String, afterText: String) { LightPlatformCodeInsightTestCase.configureFromFileText("a.kt", beforeText.trimMargin()) EditorTestUtil.performTypingAction(LightPlatformCodeInsightTestCase.getEditor(), ch)