From d49d42a409b542ad2ae59af772742a34522bfa34 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Wed, 23 Apr 2014 17:52:15 +0400 Subject: [PATCH] Add spaces around elvis operator --- .../jet/plugin/formatter/kotlinSpacingRules.kt | 1 + idea/testData/formatter/Elvis.after.kt | 11 +++++++++++ idea/testData/formatter/Elvis.kt | 11 +++++++++++ .../jet/formatter/JetFormatterTestGenerated.java | 9 ++++++--- 4 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 idea/testData/formatter/Elvis.after.kt create mode 100644 idea/testData/formatter/Elvis.kt diff --git a/idea/src/org/jetbrains/jet/plugin/formatter/kotlinSpacingRules.kt b/idea/src/org/jetbrains/jet/plugin/formatter/kotlinSpacingRules.kt index 6a4f16c0188..6b315b066c5 100644 --- a/idea/src/org/jetbrains/jet/plugin/formatter/kotlinSpacingRules.kt +++ b/idea/src/org/jetbrains/jet/plugin/formatter/kotlinSpacingRules.kt @@ -55,6 +55,7 @@ fun createSpacingBuilder(settings: CodeStyleSettings): KotlinSpacingBuilder { aroundInside(TokenSet.create(PLUS, MINUS), BINARY_EXPRESSION).spaceIf(jetCommonSettings.SPACE_AROUND_ADDITIVE_OPERATORS) aroundInside(TokenSet.create(MUL, DIV, PERC), BINARY_EXPRESSION).spaceIf(jetCommonSettings.SPACE_AROUND_MULTIPLICATIVE_OPERATORS) around(TokenSet.create(PLUSPLUS, MINUSMINUS, EXCLEXCL, MINUS, PLUS, EXCL)).spaceIf(jetCommonSettings.SPACE_AROUND_UNARY_OPERATOR) + around(ELVIS).spaces(1) around(RANGE).spaceIf(jetSettings.SPACE_AROUND_RANGE) afterInside(LPAR, VALUE_PARAMETER_LIST).spaces(0) diff --git a/idea/testData/formatter/Elvis.after.kt b/idea/testData/formatter/Elvis.after.kt new file mode 100644 index 00000000000..b3ab559fb91 --- /dev/null +++ b/idea/testData/formatter/Elvis.after.kt @@ -0,0 +1,11 @@ +fun test(a: Int?) { + a ?: 42 + + a ?: 42 + + a ?: + 42 + + a + ?: 42 +} \ No newline at end of file diff --git a/idea/testData/formatter/Elvis.kt b/idea/testData/formatter/Elvis.kt new file mode 100644 index 00000000000..c294cb65de4 --- /dev/null +++ b/idea/testData/formatter/Elvis.kt @@ -0,0 +1,11 @@ +fun test(a: Int?) { + a?:42 + + a ?: 42 + + a ?: + 42 + + a + ?: 42 +} \ 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 0b0fa227a3b..d67fb4a13a5 100644 --- a/idea/tests/org/jetbrains/jet/formatter/JetFormatterTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/formatter/JetFormatterTestGenerated.java @@ -36,9 +36,7 @@ public class JetFormatterTestGenerated extends AbstractJetFormatterTest { @InnerTestClasses({Formatter.ModifierList.class}) public static class Formatter extends AbstractJetFormatterTest { public void testAllFilesPresentInFormatter() throws Exception { - JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.TestsPackage", - new File("idea/testData/formatter"), Pattern.compile("^([^\\.]+)\\.after\\.kt.*$"), - true); + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.TestsPackage", new File("idea/testData/formatter"), Pattern.compile("^([^\\.]+)\\.after\\.kt.*$"), true); } @TestMetadata("BinaryExpressions.after.kt") @@ -106,6 +104,11 @@ public class JetFormatterTestGenerated extends AbstractJetFormatterTest { doTest("idea/testData/formatter/ElseOnNewLine.after.kt"); } + @TestMetadata("Elvis.after.kt") + public void testElvis() throws Exception { + doTest("idea/testData/formatter/Elvis.after.kt"); + } + @TestMetadata("EmptyLineAfterPackage.after.kt") public void testEmptyLineAfterPackage() throws Exception { doTest("idea/testData/formatter/EmptyLineAfterPackage.after.kt");