From a8cb6b2edea8bb8f3460858bef43ce7d20e297b2 Mon Sep 17 00:00:00 2001 From: Dmitry Gridin Date: Thu, 4 Jun 2020 15:46:46 +0700 Subject: [PATCH] LineIndentProvider: add options for parentheses Part of #KT-22211 Part of #KT-39353 --- .../formatter/lineIndent/KotlinIndentationAdjuster.kt | 10 +++++++++- .../kotlin/idea/formatter/KotlinLineIndentProvider.kt | 7 +++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/idea/line-indent-provider/src/org/jetbrains/kotlin/idea/formatter/lineIndent/KotlinIndentationAdjuster.kt b/idea/line-indent-provider/src/org/jetbrains/kotlin/idea/formatter/lineIndent/KotlinIndentationAdjuster.kt index 21e6b195601..5772afa6e17 100644 --- a/idea/line-indent-provider/src/org/jetbrains/kotlin/idea/formatter/lineIndent/KotlinIndentationAdjuster.kt +++ b/idea/line-indent-provider/src/org/jetbrains/kotlin/idea/formatter/lineIndent/KotlinIndentationAdjuster.kt @@ -5,4 +5,12 @@ package org.jetbrains.kotlin.idea.formatter.lineIndent -interface KotlinIndentationAdjuster \ No newline at end of file +interface KotlinIndentationAdjuster { + // ALIGN_MULTILINE_METHOD_BRACKETS + val alignWhenMultilineFunctionParentheses: Boolean + get() = false + + // ALIGN_MULTILINE_BINARY_OPERATION + val alignWhenMultilineBinaryExpression: Boolean + get() = false +} \ No newline at end of file diff --git a/idea/src/org/jetbrains/kotlin/idea/formatter/KotlinLineIndentProvider.kt b/idea/src/org/jetbrains/kotlin/idea/formatter/KotlinLineIndentProvider.kt index 8b7b85b8068..caba01ddc72 100644 --- a/idea/src/org/jetbrains/kotlin/idea/formatter/KotlinLineIndentProvider.kt +++ b/idea/src/org/jetbrains/kotlin/idea/formatter/KotlinLineIndentProvider.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.idea.formatter +import com.intellij.application.options.CodeStyle import com.intellij.lang.Language import com.intellij.openapi.editor.Editor import com.intellij.openapi.project.Project @@ -20,7 +21,13 @@ class KotlinLineIndentProvider : KotlinLikeLangLineIndentProvider() { super.getLineIndent(project, editor, language, offset) override fun indentionSettings(project: Project): KotlinIndentationAdjuster = object : KotlinIndentationAdjuster { + val settings = CodeStyle.getSettings(project) + override val alignWhenMultilineFunctionParentheses: Boolean + get() = settings.kotlinCommonSettings.ALIGN_MULTILINE_METHOD_BRACKETS + + override val alignWhenMultilineBinaryExpression: Boolean + get() = settings.kotlinCommonSettings.ALIGN_MULTILINE_BINARY_OPERATION } companion object {