diff --git a/idea/src/org/jetbrains/jet/plugin/formatter/JetFormattingModelBuilder.java b/idea/src/org/jetbrains/jet/plugin/formatter/JetFormattingModelBuilder.java index f36391e0ab1..74cb8699789 100644 --- a/idea/src/org/jetbrains/jet/plugin/formatter/JetFormattingModelBuilder.java +++ b/idea/src/org/jetbrains/jet/plugin/formatter/JetFormattingModelBuilder.java @@ -93,6 +93,10 @@ public class JetFormattingModelBuilder implements FormattingModelBuilder { .betweenInside(FOR_KEYWORD, LPAR, FOR).spacing(1, 1, 0, false, 0) .betweenInside(IF_KEYWORD, LPAR, IF).spacing(1, 1, 0, false, 0) .betweenInside(WHILE_KEYWORD, LPAR, WHILE).spacing(1, 1, 0, false, 0) + .betweenInside(WHILE_KEYWORD, LPAR, DO_WHILE).spacing(1, 1, 0, false, 0) + + .aroundInside(WHILE_KEYWORD, DO_WHILE).spaces(1) + .afterInside(DO_KEYWORD, DO_WHILE).spaces(1) // TODO: Ask for better API // Type of the declaration colon diff --git a/idea/testData/formatter/DoWhileSpacing.after.kt b/idea/testData/formatter/DoWhileSpacing.after.kt new file mode 100644 index 00000000000..ff84a2a3134 --- /dev/null +++ b/idea/testData/formatter/DoWhileSpacing.after.kt @@ -0,0 +1,20 @@ +fun test() { + do { + } while (true) + + do { + } while (true) + + do + { + } + while (true) + + do + { + } + while (true) + + do { + } while (true) +} \ No newline at end of file diff --git a/idea/testData/formatter/DoWhileSpacing.kt b/idea/testData/formatter/DoWhileSpacing.kt new file mode 100644 index 00000000000..dc34974b1f7 --- /dev/null +++ b/idea/testData/formatter/DoWhileSpacing.kt @@ -0,0 +1,21 @@ +fun test() { + do { + } while (true) + + do{ + }while(true) + + do + { + } + while + (true) + + do + { + } + while (true) + + do { + } while (true) +} \ 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 377ba7425c7..65678eaeb77 100644 --- a/idea/tests/org/jetbrains/jet/formatter/JetFormatterTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/formatter/JetFormatterTestGenerated.java @@ -58,6 +58,11 @@ public class JetFormatterTestGenerated extends AbstractJetFormatterTest { doTest("idea/testData/formatter/ConsecutiveCalls.kt"); } + @TestMetadata("DoWhileSpacing.kt") + public void testDoWhileSpacing() throws Exception { + doTest("idea/testData/formatter/DoWhileSpacing.kt"); + } + @TestMetadata("EmptyLineAfterPackage.kt") public void testEmptyLineAfterPackage() throws Exception { doTest("idea/testData/formatter/EmptyLineAfterPackage.kt");