From e6713186530b2e0a883b6de5722da0a57974c4b5 Mon Sep 17 00:00:00 2001 From: Toshiaki Kameyama Date: Fri, 16 Nov 2018 12:09:57 +0300 Subject: [PATCH] Formatting: add line break between '{' and enum entry (KT-28227) #KT-28227 Fixed --- .../kotlin/idea/formatter/kotlinSpacingRules.kt | 6 ++++++ .../formatter/EmptyLineBetweenEnumEntries.after.inv.kt | 10 ++++++++++ .../formatter/EmptyLineBetweenEnumEntries.after.kt | 10 ++++++++++ idea/testData/formatter/EmptyLineBetweenEnumEntries.kt | 7 +++++++ 4 files changed, 33 insertions(+) diff --git a/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/kotlinSpacingRules.kt b/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/kotlinSpacingRules.kt index 33893cae43f..83b52a410ce 100644 --- a/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/kotlinSpacingRules.kt +++ b/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/kotlinSpacingRules.kt @@ -588,6 +588,12 @@ fun createSpacingBuilder(settings: CodeStyleSettings, builderUtil: KotlinSpacing createSpacing(spaces) } } + + inPosition( + parent = CLASS_BODY, + left = LBRACE, + right = ENUM_ENTRY + ).lineBreakIfLineBreakInParent(numSpacesOtherwise = 1) } simple { diff --git a/idea/testData/formatter/EmptyLineBetweenEnumEntries.after.inv.kt b/idea/testData/formatter/EmptyLineBetweenEnumEntries.after.inv.kt index db19117da6a..7ed92e1ba43 100644 --- a/idea/testData/formatter/EmptyLineBetweenEnumEntries.after.inv.kt +++ b/idea/testData/formatter/EmptyLineBetweenEnumEntries.after.inv.kt @@ -30,4 +30,14 @@ enum class E8 { B // B } +enum class E9 { + F, S, T +} + +enum class E10 { + F, S, T; + + val x = 1 +} + // SET_TRUE: KEEP_LINE_BREAKS \ No newline at end of file diff --git a/idea/testData/formatter/EmptyLineBetweenEnumEntries.after.kt b/idea/testData/formatter/EmptyLineBetweenEnumEntries.after.kt index 1a275c04e22..c9fddb07c50 100644 --- a/idea/testData/formatter/EmptyLineBetweenEnumEntries.after.kt +++ b/idea/testData/formatter/EmptyLineBetweenEnumEntries.after.kt @@ -32,4 +32,14 @@ enum class E8 { B // B } +enum class E9 { + F, S, T +} + +enum class E10 { + F, S, T; + + val x = 1 +} + // SET_TRUE: KEEP_LINE_BREAKS \ No newline at end of file diff --git a/idea/testData/formatter/EmptyLineBetweenEnumEntries.kt b/idea/testData/formatter/EmptyLineBetweenEnumEntries.kt index 505c2ff17b2..668c690bf65 100644 --- a/idea/testData/formatter/EmptyLineBetweenEnumEntries.kt +++ b/idea/testData/formatter/EmptyLineBetweenEnumEntries.kt @@ -29,4 +29,11 @@ enum class E8 { B // B } +enum class E9 { F, S, T +} + +enum class E10 { F, S, T; + val x = 1 +} + // SET_TRUE: KEEP_LINE_BREAKS \ No newline at end of file