Code style: add option for blank lines before declarations
#KT-39024 Fixed #KT-37420 Fixed #KT-37891 Fixed
This commit is contained in:
+1
@@ -54,6 +54,7 @@ public class KotlinCodeStyleSettings extends CustomCodeStyleSettings {
|
||||
public int WRAP_ELVIS_EXPRESSIONS = 1;
|
||||
public boolean IF_RPAREN_ON_NEW_LINE = false;
|
||||
public boolean ALLOW_TRAILING_COMMA = false;
|
||||
public int BLANK_LINES_BEFORE_DECLARATION_WITH_COMMENT_OR_ANNOTATION_ON_SEPARATE_LINE = 1;
|
||||
|
||||
@ReflectionUtil.SkipInEquals
|
||||
public String CODE_STYLE_DEFAULTS = null;
|
||||
|
||||
@@ -114,7 +114,7 @@ fun createSpacingBuilder(settings: CodeStyleSettings, builderUtil: KotlinSpacing
|
||||
node.text.subSequence(0, elementStart.startOffset - node.startOffset).trimStart()
|
||||
)
|
||||
)
|
||||
createSpacing(0, minLineFeeds = 2)
|
||||
createSpacing(0, minLineFeeds = 1 + kotlinCustomSettings.BLANK_LINES_BEFORE_DECLARATION_WITH_COMMENT_OR_ANNOTATION_ON_SEPARATE_LINE)
|
||||
else
|
||||
null
|
||||
})
|
||||
@@ -131,7 +131,6 @@ fun createSpacingBuilder(settings: CodeStyleSettings, builderUtil: KotlinSpacing
|
||||
|
||||
// Case left for alternative constructors
|
||||
inPosition(left = FUN, right = CLASS).emptyLinesIfLineBreakInLeft(1)
|
||||
|
||||
inPosition(left = ENUM_ENTRY, right = ENUM_ENTRY).emptyLinesIfLineBreakInLeft(
|
||||
emptyLines = 0, numberOfLineFeedsOtherwise = 0, numSpacesOtherwise = 1
|
||||
)
|
||||
@@ -139,7 +138,7 @@ fun createSpacingBuilder(settings: CodeStyleSettings, builderUtil: KotlinSpacing
|
||||
inPosition(parent = CLASS_BODY, left = SEMICOLON).customRule { parent, _, right ->
|
||||
val klass = parent.requireNode().treeParent.psi as? KtClass ?: return@customRule null
|
||||
if (klass.isEnum() && right.requireNode().elementType in DECLARATIONS) {
|
||||
createSpacing(0, minLineFeeds = 2, keepBlankLines = settings.KEEP_BLANK_LINES_IN_DECLARATIONS)
|
||||
createSpacing(0, minLineFeeds = 2, keepBlankLines = kotlinCommonSettings.KEEP_BLANK_LINES_IN_DECLARATIONS)
|
||||
} else null
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user