diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/TrailingCommaOnCallSite.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/TrailingCommaOnCallSite.kt index 855055f4831..9da9778101e 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/TrailingCommaOnCallSite.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/TrailingCommaOnCallSite.kt @@ -3,13 +3,20 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.core.api.UsesEditorConfigProperties import com.pinterest.ktlint.ruleset.standard.TrailingCommaOnCallSiteRule import io.gitlab.arturbosch.detekt.api.Config -import io.gitlab.arturbosch.detekt.api.config +import io.gitlab.arturbosch.detekt.api.configWithAndroidVariants import io.gitlab.arturbosch.detekt.api.internal.AutoCorrectable import io.gitlab.arturbosch.detekt.api.internal.Configuration import io.gitlab.arturbosch.detekt.formatting.FormattingRule /** * See [ktlint docs](https://pinterest.github.io/ktlint/rules/standard/) for documentation. + * + * The default config comes from ktlint and follows these conventions: + * - [Kotlin coding convention](https://kotlinlang.org/docs/coding-conventions.html#trailing-commas) recommends + * trailing comma encourage the use of trailing commas at the declaration site and + * leaves it at your discretion for the call site. + * - [Android Kotlin style guide](https://developer.android.com/kotlin/style-guide) does not include + * trailing comma usage yet. */ @AutoCorrectable(since = "1.22.0") class TrailingCommaOnCallSite(config: Config) : FormattingRule(config) { @@ -17,8 +24,11 @@ class TrailingCommaOnCallSite(config: Config) : FormattingRule(config) { override val wrapping = TrailingCommaOnCallSiteRule() override val issue = issueFor("Rule to mandate/forbid trailing commas at call sites") - @Configuration("Defines whether a trailing comma (or no trailing comma) should be enforced at call sites") - private val useTrailingCommaOnCallSite by config(false) + @Configuration("Defines whether trailing commas are required (true) or forbidden (false) at call sites") + private val useTrailingCommaOnCallSite by configWithAndroidVariants( + defaultValue = true, + defaultAndroidValue = false, + ) override fun overrideEditorConfigProperties(): Map, String> = mapOf( diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/TrailingCommaOnDeclarationSite.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/TrailingCommaOnDeclarationSite.kt index 6c6bdb0c815..8ace3cb4911 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/TrailingCommaOnDeclarationSite.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/TrailingCommaOnDeclarationSite.kt @@ -3,13 +3,20 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.core.api.UsesEditorConfigProperties import com.pinterest.ktlint.ruleset.standard.TrailingCommaOnDeclarationSiteRule import io.gitlab.arturbosch.detekt.api.Config -import io.gitlab.arturbosch.detekt.api.config +import io.gitlab.arturbosch.detekt.api.configWithAndroidVariants import io.gitlab.arturbosch.detekt.api.internal.AutoCorrectable import io.gitlab.arturbosch.detekt.api.internal.Configuration import io.gitlab.arturbosch.detekt.formatting.FormattingRule /** * See [ktlint docs](https://pinterest.github.io/ktlint/rules/standard/) for documentation. + * + * The default config comes from ktlint and follows these conventions: + * - [Kotlin coding convention](https://kotlinlang.org/docs/coding-conventions.html#trailing-commas) recommends + * trailing comma encourage the use of trailing commas at the declaration site and + * leaves it at your discretion for the call site. + * - [Android Kotlin style guide](https://developer.android.com/kotlin/style-guide) does not include + * trailing comma usage yet. */ @AutoCorrectable(since = "1.22.0") class TrailingCommaOnDeclarationSite(config: Config) : FormattingRule(config) { @@ -17,8 +24,11 @@ class TrailingCommaOnDeclarationSite(config: Config) : FormattingRule(config) { override val wrapping = TrailingCommaOnDeclarationSiteRule() override val issue = issueFor("Rule to mandate/forbid trailing commas at declaration sites") - @Configuration("Defines whether a trailing comma (or no trailing comma) should be enforced at declaration sites") - private val useTrailingCommaOnDeclarationSite by config(false) + @Configuration("Defines whether trailing commas are required (true) or forbidden (false) at declaration sites") + private val useTrailingCommaOnDeclarationSite by configWithAndroidVariants( + defaultValue = true, + defaultAndroidValue = false, + ) override fun overrideEditorConfigProperties(): Map, String> = mapOf( diff --git a/detekt-formatting/src/main/resources/config/config.yml b/detekt-formatting/src/main/resources/config/config.yml index fdc9e9c2800..3b802ac4658 100644 --- a/detekt-formatting/src/main/resources/config/config.yml +++ b/detekt-formatting/src/main/resources/config/config.yml @@ -182,11 +182,11 @@ formatting: TrailingCommaOnCallSite: active: false autoCorrect: true - useTrailingCommaOnCallSite: false + useTrailingCommaOnCallSite: true TrailingCommaOnDeclarationSite: active: false autoCorrect: true - useTrailingCommaOnDeclarationSite: false + useTrailingCommaOnDeclarationSite: true TypeArgumentListSpacing: active: false autoCorrect: true