Implement wrapping options for enum constants

#KT-14126 Fixed
This commit is contained in:
Dmitry Jemerov
2017-07-18 19:12:06 +02:00
parent 7555bb6c3c
commit 050ff03b07
5 changed files with 25 additions and 3 deletions
@@ -352,6 +352,9 @@ abstract class KotlinCommonBlock(
}
}
elementType === KtNodeTypes.CLASS_BODY ->
return getWrappingStrategyForItemList(commonSettings.ENUM_CONSTANTS_WRAP, KtNodeTypes.ENUM_ENTRY)
elementType === KtNodeTypes.MODIFIER_LIST ->
when (node.treeParent.psi) {
is KtParameter ->
@@ -53,8 +53,7 @@ class KotlinLanguageCodeStyleSettingsProvider : LanguageCodeStyleSettingsProvide
}
enum class Enumeration {
A,
B
A, B
}
""".trimIndent()
@@ -242,7 +241,8 @@ class KotlinLanguageCodeStyleSettingsProvider : LanguageCodeStyleSettingsProvide
"METHOD_PARAMETERS_LPAREN_ON_NEXT_LINE",
"METHOD_PARAMETERS_RPAREN_ON_NEXT_LINE",
"CALL_PARAMETERS_LPAREN_ON_NEXT_LINE",
"CALL_PARAMETERS_RPAREN_ON_NEXT_LINE"
"CALL_PARAMETERS_RPAREN_ON_NEXT_LINE",
"ENUM_CONSTANTS_WRAP"
)
consumer.renameStandardOption(CodeStyleSettingsCustomizable.WRAPPING_SWITCH_STATEMENT, "'when' statements")
showCustomOption(KotlinCodeStyleSettings::ALIGN_IN_COLUMNS_CASE_BRANCH,
+8
View File
@@ -0,0 +1,8 @@
enum class A {
ENUM_OPTION_A,
ENUM_OPTION_B,
ENUM_OPTION_C,
ENUM_OPTION_D
}
// SET_INT: ENUM_CONSTANTS_WRAP = 2
+5
View File
@@ -0,0 +1,5 @@
enum class A {
ENUM_OPTION_A, ENUM_OPTION_B, ENUM_OPTION_C, ENUM_OPTION_D
}
// SET_INT: ENUM_CONSTANTS_WRAP = 2
@@ -320,6 +320,12 @@ public class FormatterTestGenerated extends AbstractFormatterTest {
doTest(fileName);
}
@TestMetadata("EnumWrapping.after.kt")
public void testEnumWrapping() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/formatter/EnumWrapping.after.kt");
doTest(fileName);
}
@TestMetadata("ExtendsListWrap.after.kt")
public void testExtendsListWrap() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/formatter/ExtendsListWrap.after.kt");