Add hack for KotlinMultilineStringEnterHandler
#KT-34566 Fixed Part of #KT-22211
This commit is contained in:
+9
@@ -9,6 +9,7 @@ import com.intellij.formatting.Indent
|
||||
import com.intellij.lang.Language
|
||||
import com.intellij.openapi.editor.Editor
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.psi.codeStyle.lineIndent.LineIndentProvider
|
||||
import com.intellij.psi.impl.source.codeStyle.SemanticEditorPosition
|
||||
import com.intellij.psi.impl.source.codeStyle.lineIndent.IndentCalculator
|
||||
import com.intellij.psi.impl.source.codeStyle.lineIndent.JavaLikeLangLineIndentProvider
|
||||
@@ -45,6 +46,14 @@ abstract class KotlinLikeLangLineIndentProvider : JavaLikeLangLineIndentProvider
|
||||
}\n=="
|
||||
}
|
||||
|
||||
override fun getLineIndent(project: Project, editor: Editor, language: Language?, offset: Int): String? {
|
||||
// HACK: TODO: KT-34566 investigate this hack (necessary for [org.jetbrains.kotlin.idea.editor.Kotlin.MultilineStringEnterHandler])
|
||||
return if (offset > 0 && getPosition(editor, offset - 1).isAt(RegularStringPart))
|
||||
LineIndentProvider.DO_NOT_ADJUST
|
||||
else
|
||||
super.getLineIndent(project, editor, language, offset)
|
||||
}
|
||||
|
||||
override fun getIndent(project: Project, editor: Editor, language: Language?, offset: Int): IndentCalculator? {
|
||||
val factory = IndentCalculatorFactory(project, editor)
|
||||
val currentPosition = getPosition(editor, offset)
|
||||
|
||||
Reference in New Issue
Block a user