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 b761988c64d..2133bc10edc 100644 --- a/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/kotlinSpacingRules.kt +++ b/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/kotlinSpacingRules.kt @@ -22,9 +22,7 @@ import com.intellij.formatting.SpacingBuilder import com.intellij.formatting.SpacingBuilder.RuleBuilder import com.intellij.lang.ASTNode import com.intellij.psi.PsiWhiteSpace -import com.intellij.psi.TokenType import com.intellij.psi.codeStyle.CodeStyleSettings -import com.intellij.psi.impl.source.tree.TreeUtil import com.intellij.psi.tree.IElementType import com.intellij.psi.tree.TokenSet import org.jetbrains.kotlin.KtNodeTypes.* @@ -147,15 +145,9 @@ fun createSpacingBuilder(settings: CodeStyleSettings, builderUtil: KotlinSpacing beforeInside(IDENTIFIER, CLASS).spaces(1) beforeInside(IDENTIFIER, OBJECT_DECLARATION).spaces(1) - betweenInside(VAL_KEYWORD, IDENTIFIER, PROPERTY).spaces(1) - betweenInside(VAR_KEYWORD, IDENTIFIER, PROPERTY).spaces(1) - betweenInside(VAL_KEYWORD, TYPE_REFERENCE, PROPERTY).spaces(1) - betweenInside(VAR_KEYWORD, TYPE_REFERENCE, PROPERTY).spaces(1) + after(VAL_KEYWORD).spaces(1) + after(VAR_KEYWORD).spaces(1) beforeInside(PROPERTY_ACCESSOR, PROPERTY).spacing(1, 0, 0, true, 0) - betweenInside(VAL_KEYWORD, IDENTIFIER, VALUE_PARAMETER).spaces(1) - betweenInside(VAR_KEYWORD, IDENTIFIER, VALUE_PARAMETER).spaces(1) - betweenInside(VAL_KEYWORD, TYPE_REFERENCE, VALUE_PARAMETER).spaces(1) - betweenInside(VAR_KEYWORD, TYPE_REFERENCE, VALUE_PARAMETER).spaces(1) betweenInside(TYPE_PARAMETER_LIST, IDENTIFIER, PROPERTY).spaces(1) betweenInside(TYPE_REFERENCE, DOT, PROPERTY).spacing(0, 0, 0, false, 0) betweenInside(DOT, IDENTIFIER, PROPERTY).spacing(0, 0, 0, false, 0) @@ -164,11 +156,10 @@ fun createSpacingBuilder(settings: CodeStyleSettings, builderUtil: KotlinSpacing afterInside(RETURN_KEYWORD, RETURN).spaces(1) afterInside(LABEL_QUALIFIER, RETURN).spaces(1) - betweenInside(FUN_KEYWORD, IDENTIFIER, FUN).spaces(1) - betweenInside(FUN_KEYWORD, TYPE_REFERENCE, FUN).spaces(1) + betweenInside(FUN_KEYWORD, VALUE_PARAMETER_LIST, FUN).spacing(0, 0, 0, false, 0) + after(FUN_KEYWORD).spaces(1) betweenInside(TYPE_PARAMETER_LIST, TYPE_REFERENCE, FUN).spaces(1) betweenInside(TYPE_PARAMETER_LIST, IDENTIFIER, FUN).spaces(1) - betweenInside(FUN_KEYWORD, VALUE_PARAMETER_LIST, FUN).spacing(0, 0, 0, false, 0) betweenInside(TYPE_REFERENCE, DOT, FUN).spacing(0, 0, 0, false, 0) betweenInside(DOT, IDENTIFIER, FUN).spacing(0, 0, 0, false, 0) afterInside(IDENTIFIER, FUN).spacing(0, 0, 0, false, 0) diff --git a/idea/testData/formatter/SpacesInDeclarations.after.kt b/idea/testData/formatter/SpacesInDeclarations.after.kt index b5a665f7c38..40f2bc16cb6 100644 --- a/idea/testData/formatter/SpacesInDeclarations.after.kt +++ b/idea/testData/formatter/SpacesInDeclarations.after.kt @@ -58,6 +58,12 @@ public var varWithAccessors2: Int /**/ } } +//----------------------- +val some1 = 1 +val some2 = 1 +val + some3 = 1 + //----------------------- annotation class A1 @@ -94,4 +100,15 @@ public object FooObject1 { public object FooObject2 { +} + +fun foo_1() { +} + +fun foo_2() { +} + +fun + + foo_3() { } \ No newline at end of file diff --git a/idea/testData/formatter/SpacesInDeclarations.kt b/idea/testData/formatter/SpacesInDeclarations.kt index 755c6313162..68cb052a017 100644 --- a/idea/testData/formatter/SpacesInDeclarations.kt +++ b/idea/testData/formatter/SpacesInDeclarations.kt @@ -57,6 +57,12 @@ public var varWithAccessors2: Int /**/ } } +//----------------------- +val some1 = 1 +val some2 = 1 +val + some3 = 1 + //----------------------- annotation class A1 annotation class A2 @@ -94,4 +100,11 @@ public object FooObject1 { public object FooObject2 { -} \ No newline at end of file +} + +fun foo_1() {} +fun foo_2() {} + +fun + + foo_3() {} \ No newline at end of file