From e0b1170dc67cd2b945470cd9e202c2b0cd11da49 Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Thu, 16 Jan 2014 19:54:56 +0400 Subject: [PATCH] Formatter: left brace formatting for "for in ..." --- .../plugin/formatter/KotlinSpacingBuilder.kt | 2 ++ .../conversion/SampleBlock.expected.kt | 3 +-- .../formatter/ForLineBreak.after.inv.kt | 20 ++++++++++++++++ idea/testData/formatter/ForLineBreak.after.kt | 23 ++++++++++++++++++ idea/testData/formatter/ForLineBreak.kt | 24 +++++++++++++++++++ idea/testData/formatter/ForSpacing.after.kt | 4 +--- .../formatter/JetFormatterTestGenerated.java | 10 ++++++++ j2k/tests/testData/ast/list/ForEach.ide.kt | 6 ++--- j2k/tests/testData/ast/list/ForEach.kt | 6 ++--- 9 files changed, 85 insertions(+), 13 deletions(-) create mode 100644 idea/testData/formatter/ForLineBreak.after.inv.kt create mode 100644 idea/testData/formatter/ForLineBreak.after.kt create mode 100644 idea/testData/formatter/ForLineBreak.kt diff --git a/idea/src/org/jetbrains/jet/plugin/formatter/KotlinSpacingBuilder.kt b/idea/src/org/jetbrains/jet/plugin/formatter/KotlinSpacingBuilder.kt index db71119dba1..0fa9933a15b 100644 --- a/idea/src/org/jetbrains/jet/plugin/formatter/KotlinSpacingBuilder.kt +++ b/idea/src/org/jetbrains/jet/plugin/formatter/KotlinSpacingBuilder.kt @@ -225,6 +225,7 @@ fun createSpacingBuilder(settings: CodeStyleSettings): KotlinSpacingBuilder { inPosition(parent = IF, right = THEN).customRule(leftBraceRuleIfBlockIsWrapped) inPosition(parent = IF, right = ELSE).customRule(leftBraceRuleIfBlockIsWrapped) + inPosition(parent = FOR, right = BODY).customRule(leftBraceRuleIfBlockIsWrapped) inPosition(parent = WHILE, right = BODY).customRule(leftBraceRuleIfBlockIsWrapped) inPosition(parent = DO_WHILE, right = BODY).customRule(leftBraceRuleIfBlockIsWrapped) @@ -232,6 +233,7 @@ fun createSpacingBuilder(settings: CodeStyleSettings): KotlinSpacingBuilder { inPosition(parent = CATCH, right = BLOCK).customRule(leftBraceRule) inPosition(parent = FINALLY, right = BLOCK).customRule(leftBraceRule) + val spacesInSimpleFunction = if (jetSettings.INSERT_WHITESPACES_IN_SIMPLE_ONE_LINE_METHOD) 1 else 0 inPosition(parent = FUNCTION_LITERAL, left = LBRACE, diff --git a/idea/testData/copyPaste/conversion/SampleBlock.expected.kt b/idea/testData/copyPaste/conversion/SampleBlock.expected.kt index 033285675a7..04dd9cf26a1 100644 --- a/idea/testData/copyPaste/conversion/SampleBlock.expected.kt +++ b/idea/testData/copyPaste/conversion/SampleBlock.expected.kt @@ -4,8 +4,7 @@ fun main(args: Array) { val project = file.getProject() val converter = Converter(project, J2kPackage.getPluginSettings()) val result = StringBuilder() - for (e in buffer) - { + for (e in buffer) { result.append(converter.elementToKotlin(e)) } diff --git a/idea/testData/formatter/ForLineBreak.after.inv.kt b/idea/testData/formatter/ForLineBreak.after.inv.kt new file mode 100644 index 00000000000..964e2f2da8c --- /dev/null +++ b/idea/testData/formatter/ForLineBreak.after.inv.kt @@ -0,0 +1,20 @@ +fun main() { + for (a in b) { + } + + for (a in b) { + } + + for (a in b) { + } + + for (a in b) //eol comment + { + } + + for (a in b) //eol comment + { + } +} + +// SET_TRUE: LBRACE_ON_NEXT_LINE \ No newline at end of file diff --git a/idea/testData/formatter/ForLineBreak.after.kt b/idea/testData/formatter/ForLineBreak.after.kt new file mode 100644 index 00000000000..9c9bfa7c33c --- /dev/null +++ b/idea/testData/formatter/ForLineBreak.after.kt @@ -0,0 +1,23 @@ +fun main() { + for (a in b) + { + } + + for (a in b) + { + } + + for (a in b) + { + } + + for (a in b) //eol comment + { + } + + for (a in b) //eol comment + { + } +} + +// SET_TRUE: LBRACE_ON_NEXT_LINE \ No newline at end of file diff --git a/idea/testData/formatter/ForLineBreak.kt b/idea/testData/formatter/ForLineBreak.kt new file mode 100644 index 00000000000..14c6dc2d5cc --- /dev/null +++ b/idea/testData/formatter/ForLineBreak.kt @@ -0,0 +1,24 @@ +fun main() { + for (a in b) { + } + + for (a in b) + { + } + + for (a in b) + + { + } + + for (a in b) //eol comment + { + } + + for (a in b) //eol comment + + { + } +} + +// SET_TRUE: LBRACE_ON_NEXT_LINE \ No newline at end of file diff --git a/idea/testData/formatter/ForSpacing.after.kt b/idea/testData/formatter/ForSpacing.after.kt index 8db93e69250..640765c3744 100644 --- a/idea/testData/formatter/ForSpacing.after.kt +++ b/idea/testData/formatter/ForSpacing.after.kt @@ -11,8 +11,6 @@ fun f() { for (i in array(1, 2)) continue - for (i in array(1, 2)) - - { + for (i in array(1, 2)) { } } \ No newline at end of file diff --git a/idea/tests/org/jetbrains/jet/formatter/JetFormatterTestGenerated.java b/idea/tests/org/jetbrains/jet/formatter/JetFormatterTestGenerated.java index 8ac1f162b64..18ac310b497 100644 --- a/idea/tests/org/jetbrains/jet/formatter/JetFormatterTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/formatter/JetFormatterTestGenerated.java @@ -74,6 +74,11 @@ public class JetFormatterTestGenerated extends AbstractJetFormatterTest { doTest("idea/testData/formatter/EmptyLineAfterPackage.after.kt"); } + @TestMetadata("ForLineBreak.after.kt") + public void testForLineBreak() throws Exception { + doTest("idea/testData/formatter/ForLineBreak.after.kt"); + } + @TestMetadata("ForNoBraces.after.kt") public void testForNoBraces() throws Exception { doTest("idea/testData/formatter/ForNoBraces.after.kt"); @@ -362,6 +367,11 @@ public class JetFormatterTestGenerated extends AbstractJetFormatterTest { doTestInverted("idea/testData/formatter/DoWhileLineBreak.after.inv.kt"); } + @TestMetadata("ForLineBreak.after.inv.kt") + public void testForLineBreak() throws Exception { + doTestInverted("idea/testData/formatter/ForLineBreak.after.inv.kt"); + } + @TestMetadata("FunctionalType.after.inv.kt") public void testFunctionalType() throws Exception { doTestInverted("idea/testData/formatter/FunctionalType.after.inv.kt"); diff --git a/j2k/tests/testData/ast/list/ForEach.ide.kt b/j2k/tests/testData/ast/list/ForEach.ide.kt index f768e83a4c6..514a4bedced 100644 --- a/j2k/tests/testData/ast/list/ForEach.ide.kt +++ b/j2k/tests/testData/ast/list/ForEach.ide.kt @@ -4,12 +4,10 @@ public class ForEach() { public fun test() { val xs = ArrayList() val ys = LinkedList() - for (x in xs) - { + for (x in xs) { ys.add(x) } - for (y in ys) - { + for (y in ys) { xs.add(y) } } diff --git a/j2k/tests/testData/ast/list/ForEach.kt b/j2k/tests/testData/ast/list/ForEach.kt index f2c69d3ad88..e1c9fe33cee 100644 --- a/j2k/tests/testData/ast/list/ForEach.kt +++ b/j2k/tests/testData/ast/list/ForEach.kt @@ -4,12 +4,10 @@ public open class ForEach() { public open fun test() { var xs: ArrayList? = ArrayList() var ys: MutableList? = LinkedList() - for (x in xs!!) - { + for (x in xs!!) { ys?.add(x) } - for (y in ys!!) - { + for (y in ys!!) { xs?.add(y) } }