From 20491cf7238159265d09aa632b41b422ad9c2273 Mon Sep 17 00:00:00 2001 From: Matthew Haughton <3flex@users.noreply.github.com> Date: Tue, 30 Aug 2022 23:46:30 +1000 Subject: [PATCH] Add TypeParameterListSpacing rule --- config/detekt/detekt.yml | 2 ++ .../detekt/formatting/KtLintMultiRule.kt | 2 ++ .../wrappers/TypeParameterListSpacing.kt | 17 +++++++++++++++++ .../src/main/resources/config/config.yml | 3 +++ 4 files changed, 24 insertions(+) create mode 100644 detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/TypeParameterListSpacing.kt diff --git a/config/detekt/detekt.yml b/config/detekt/detekt.yml index a40d7a441018..76ee4cc26e93 100644 --- a/config/detekt/detekt.yml +++ b/config/detekt/detekt.yml @@ -103,6 +103,8 @@ formatting: active: true SpacingBetweenDeclarationsWithComments: active: true + TypeParameterListSpacing: + active: true naming: ClassNaming: diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/KtLintMultiRule.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/KtLintMultiRule.kt index 2b90d0c4409e..b003a594357d 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/KtLintMultiRule.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/KtLintMultiRule.kt @@ -59,6 +59,7 @@ import io.gitlab.arturbosch.detekt.formatting.wrappers.SpacingBetweenFunctionNam import io.gitlab.arturbosch.detekt.formatting.wrappers.StringTemplate import io.gitlab.arturbosch.detekt.formatting.wrappers.TrailingComma import io.gitlab.arturbosch.detekt.formatting.wrappers.TypeArgumentListSpacing +import io.gitlab.arturbosch.detekt.formatting.wrappers.TypeParameterListSpacing import io.gitlab.arturbosch.detekt.formatting.wrappers.UnnecessaryParenthesesBeforeTrailingLambda import io.gitlab.arturbosch.detekt.formatting.wrappers.Wrapping import org.jetbrains.kotlin.com.intellij.lang.ASTNode @@ -136,6 +137,7 @@ class KtLintMultiRule(config: Config = Config.empty) : ParameterListSpacing(config), SpacingBetweenFunctionNameAndOpeningParenthesis(config), TypeArgumentListSpacing(config), + TypeParameterListSpacing(config), UnnecessaryParenthesesBeforeTrailingLambda(config), ) diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/TypeParameterListSpacing.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/TypeParameterListSpacing.kt new file mode 100644 index 000000000000..fec09926104c --- /dev/null +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/TypeParameterListSpacing.kt @@ -0,0 +1,17 @@ +package io.gitlab.arturbosch.detekt.formatting.wrappers + +import com.pinterest.ktlint.ruleset.experimental.TypeParameterListSpacingRule +import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.AutoCorrectable +import io.gitlab.arturbosch.detekt.formatting.FormattingRule + +/** + * See [ktlint docs](https://pinterest.github.io/ktlint/rules/experimental/#type-parameter-list-spacing) for + * documentation. + */ +@AutoCorrectable(since = "1.22.0") +class TypeParameterListSpacing(config: Config) : FormattingRule(config) { + + override val wrapping = TypeParameterListSpacingRule() + override val issue = issueFor("Check spacing after a type parameter list in function and class declarations.") +} diff --git a/detekt-formatting/src/main/resources/config/config.yml b/detekt-formatting/src/main/resources/config/config.yml index 7da2d976dc97..340a53c90dc5 100644 --- a/detekt-formatting/src/main/resources/config/config.yml +++ b/detekt-formatting/src/main/resources/config/config.yml @@ -187,6 +187,9 @@ formatting: TypeArgumentListSpacing: active: false autoCorrect: true + TypeParameterListSpacing: + active: false + autoCorrect: true UnnecessaryParenthesesBeforeTrailingLambda: active: false autoCorrect: true