website/versioned_docs/version-2.0.0-alpha.2/rules/ktlint.md
Rule Set ID: ktlint
This rule set provides wrappers for rules implemented by ktlint - https://ktlint.github.io/.
Note: The ktlint rule set is not included in the detekt-cli or Gradle plugin.
To enable this rule set, add detektPlugins "dev.detekt:detekt-rules-ktlint-wrapper:$version"
to your gradle dependencies or reference the detekt-rules-ktlint-wrapper-jar with the --plugins option
in the command line interface.
Note: Issues reported by this rule set can only be suppressed on file level (@file:Suppress("detekt.rule")).
code_style (default: 'intellij_idea') (android default: 'intellij_idea')
ktlint code style for formatting rules (ktlint_official, intellij_idea or android_studio)
autoCorrect (default: true) (android default: true)
if rules should auto correct style violation
See ktlint docs for documentation.
Active by default: Yes - Since v1.22.0
indentSize (default: 4)
indentation size
See ktlint docs for documentation.
Active by default: Yes - Since v1.22.0
See ktlint docs for documentation.
Active by default: Yes - Since v1.22.0
indentSize (default: 4)
indentation size
maxLineLength (default: 120) (android default: 100)
maximum line length
ignoreRuleParameterThreshold (default: 8)
parameter threshold to ignore rule
See ktlint docs for documentation.
Active by default: Yes - Since v2.0.0
See ktlint docs for documentation.
Active by default: Yes - Since v2.0.0
maxLineLength (default: 120) (android default: 100)
maximum line length
indentSize (default: 4)
indentation size
See ktlint docs for documentation.
Active by default: No
See ktlint docs for documentation.
Active by default: Yes - Since v2.0.0
lineBreakAfterWhenEntries (default: true)
require line breaks after multiline entries
See ktlint docs for documentation.
Active by default: Yes - Since v1.23.0
See ktlint docs for documentation.
Active by default: No
indentSize (default: 4)
indentation size
maxLineLength (default: 120) (android default: 100)
maximum line length
forceMultilineWhenChainOperatorCountGreaterOrEqualThan (default: 4)
chain operator count means multiline threshold
See ktlint docs for documentation.
Active by default: Yes - Since v1.0.0
indentSize (default: 4)
indentation size
See ktlint docs for documentation.
Active by default: No
See ktlint docs for documentation.
Active by default: Yes - Since v2.0.0
indentSize (default: 4)
indentation size
maxLineLength (default: 120) (android default: 100)
maximum line length
See ktlint docs for documentation.
Active by default: Yes - Since v1.0.0
See ktlint docs for documentation.
Active by default: Yes - Since v1.23.0
indentSize (default: 4)
indentation size
See ktlint docs for documentation.
Active by default: Yes - Since v2.0.0
indentSize (default: 4)
indentation size
See ktlint docs for documentation.
Active by default: Yes - Since v2.0.0
maxLineLength (default: 120) (android default: 100)
maximum line length
indentSize (default: 4)
indentation size
See ktlint docs for documentation.
Active by default: Yes - Since v2.0.0
maxLineLength (default: 120) (android default: 100)
maximum line length
indentSize (default: 4)
indentation size
See ktlint docs for documentation.
Active by default: Yes - Since v1.22.0
Aliases: EnumEntryName
enumEntryNameCasing (default: 'upper_or_camel_cases')
enum entry naming casing
See ktlint docs for documentation.
Active by default: Yes - Since v2.0.0
indentSize (default: 4)
indentation size
See ktlint docs for documentation.
Active by default: No
indentSize (default: 4)
indentation size
See ktlint docs for documentation.
This rules overlaps with naming>MatchingDeclarationName from the standard rules, make sure to enable just one.
Active by default: Yes - Since v1.0.0
See ktlint docs for documentation.
This rules overlaps with style>NewLineAtEndOfFile from the standard rules, make sure to enable just one. The pro of this rule is that it can auto-correct the issue.
Active by default: Yes - Since v1.0.0
insertFinalNewLine (default: true)
report absence or presence of a newline
See ktlint docs for documentation.
Active by default: Yes - Since v1.23.0
See ktlint docs for documentation.
Active by default: Yes - Since v2.0.0
indentSize (default: 4)
indentation size
maxLineLength (default: 120) (android default: 100)
maximum line length
See ktlint docs for documentation.
Active by default: Yes - Since v2.0.0
indentSize (default: 4)
indentation size
maxLineLength (default: 120) (android default: 100)
maximum line length
See ktlint docs for documentation.
Active by default: No
See ktlint docs for documentation.
Active by default: Yes - Since v1.23.0
maxLineLength (default: 120) (android default: 100)
maximum line length
See ktlint docs for documentation.
Active by default: Yes - Since v2.0.0
forceMultilineWhenParameterCountGreaterOrEqualThan (default: 2147483647)
parameter count means multiline threshold
functionBodyExpressionWrapping (default: 'default')
indentation size
maxLineLength (default: 120) (android default: 100)
maximum line length
indentSize (default: 4)
indentation size
See ktlint docs for documentation.
Active by default: Yes - Since v1.23.0
See ktlint docs for documentation.
Active by default: Yes - Since v2.0.0
See ktlint docs for documentation.
Active by default: Yes - Since v1.23.0
See ktlint docs for documentation.
Active by default: No
indentSize (default: 4)
indentation size
See ktlint docs for documentation.
Active by default: No
indentSize (default: 4)
indentation size
See ktlint docs for documentation.
For defining import layout patterns see the KtLint Source Code
Active by default: Yes - Since v1.19.0
layout (default: '*,java.**,javax.**,kotlin.**,^') (android default: '*')
the import ordering layout
See ktlint docs for documentation.
Active by default: Yes - Since v1.19.0
indentSize (default: 4)
indentation size
indentWhenArrowOnNewLine (default: false)
indent when arrow on new line
See ktlint docs for documentation.
Active by default: Yes - Since v2.0.0
See ktlint docs for documentation.
Active by default: Yes - Since v1.23.0
indentSize (default: 4)
indentation size
See ktlint docs for documentation.
This rules overlaps with style>MaxLineLength from the standard rules, make sure to enable just one or keep them aligned.
Active by default: Yes - Since v1.0.0
Aliases: MaxLineLength
maxLineLength (default: 120) (android default: 100)
maximum line length
ignoreBackTickedIdentifier (default: false)
ignore back ticked identifier
See ktlint docs for documentation.
Active by default: Yes - Since v2.0.0
See ktlint docs for documentation.
Active by default: Yes - Since v1.23.0
indentSize (default: 4)
indentation size
See ktlint docs for documentation.
This rules overlaps with style>ModifierOrder from the standard rules, make sure to enable just one. The pro of this rule is that it can auto-correct the issue.
Active by default: Yes - Since v1.0.0
See ktlint docs for documentation.
Active by default: Yes - Since v1.22.0
indentSize (default: 4)
indentation size
See ktlint docs for documentation.
Although this is a standard rule it is not enabled by default like other standard ktlint rules. ktlint only enables this rule when the rule is explicitly enabled or if the code style is set to ktlint_official. detekt uses intellij_idea by default.
Active by default: No
indentSize (default: 4)
indentation size
functionBodyExpressionWrapping (default: 'multiline')
function body expression wrapping
See ktlint docs for documentation.
Active by default: Yes - Since v2.0.0
indentSize (default: 4)
indentation size
See ktlint docs for documentation.
Active by default: Yes - Since v1.0.0
See ktlint docs for documentation.
Active by default: No
See ktlint docs for documentation.
Active by default: Yes - Since v1.22.0
See ktlint docs for documentation.
Active by default: Yes - Since v1.0.0
See ktlint docs for documentation.
Active by default: No
See ktlint docs for documentation.
This rules overlaps with empty-blocks>EmptyClassBlock from the standard rules, make sure to enable just one.
Active by default: Yes - Since v1.0.0
See ktlint docs for documentation.
Active by default: Yes - Since v2.0.0
See ktlint docs for documentation.
Active by default: No
indentSize (default: 4)
indentation size
See ktlint docs for documentation.
Active by default: Yes - Since v1.22.0
See ktlint docs for documentation.
Active by default: Yes - Since v1.0.0
See ktlint docs for documentation.
Active by default: Yes - Since v1.0.0
See ktlint docs for documentation.
Active by default: Yes - Since v1.0.0
See ktlint docs for documentation.
Active by default: Yes - Since v1.0.0
See ktlint docs for documentation.
Active by default: No
indentSize (default: 4)
indentation size
See ktlint docs for documentation.
Active by default: Yes - Since v1.0.0
See ktlint docs for documentation.
Active by default: Yes - Since v1.0.0
See ktlint docs for documentation.
Active by default: Yes - Since v1.0.0
See ktlint docs for documentation.
Active by default: Yes - Since v1.0.0
packagesToUseImportOnDemandProperty (default: 'java.util.*,kotlinx.android.synthetic.**')
Defines allowed wildcard imports
See ktlint docs for documentation.
Active by default: Yes - Since v1.23.0
See ktlint docs for documentation.
Active by default: Yes - Since v1.22.0
See ktlint docs for documentation.
Active by default: Yes - Since v2.0.0
maxLineLength (default: 120) (android default: 100)
maximum line length
See ktlint docs for documentation.
Active by default: Yes - Since v1.0.0
maxLineLength (default: 120) (android default: 100)
maximum line length
indentSize (default: 4)
indentation size
See ktlint docs for documentation.
Active by default: Yes - Since v1.23.0
indentSize (default: 4)
indentation size
maxLineLength (default: 120) (android default: 100)
maximum line length
See ktlint docs for documentation.
Active by default: Yes - Since v2.0.0
constantNamingStyle (default: 'screaming_snake_case')
The naming style ('screaming_snake_case', or 'pascal_case') to be applied on constant properties.
See ktlint docs for documentation.
Active by default: Yes - Since v1.23.0
indentSize (default: 4)
indentation size
maxLineLength (default: 120) (android default: 100)
maximum line length
See ktlint docs for documentation.
Active by default: Yes - Since v1.22.0
See ktlint docs for documentation.
Active by default: Yes - Since v1.0.0
See ktlint docs for documentation.
Active by default: Yes - Since v1.0.0
See ktlint docs for documentation.
Active by default: Yes - Since v1.0.0
indentSize (default: 4)
indentation size
See ktlint docs for documentation.
Active by default: Yes - Since v1.0.0
See ktlint docs for documentation.
Active by default: Yes - Since v1.22.0
See ktlint docs for documentation.
Active by default: Yes - Since v1.0.0
See ktlint docs for documentation.
Active by default: Yes - Since v1.0.0
See ktlint docs for documentation.
Active by default: Yes - Since v1.0.0
See ktlint docs for documentation.
Active by default: Yes - Since v1.0.0
See ktlint docs for documentation.
Active by default: Yes - Since v2.0.0
See ktlint docs for documentation.
Active by default: Yes - Since v1.22.0
See ktlint docs for documentation.
Active by default: Yes - Since v1.22.0
See ktlint docs for documentation.
Active by default: Yes - Since v1.22.0
See ktlint docs for documentation.
Active by default: Yes - Since v1.23.0
See ktlint docs for documentation.
Active by default: Yes - Since v2.0.0
indentSize (default: 4)
indentation size
See ktlint docs for documentation.
Active by default: Yes - Since v1.0.0
See ktlint docs for documentation.
Active by default: No
indentSize (default: 4)
indentation size
See ktlint docs for documentation.
Active by default: Yes - Since v2.0.0
See ktlint docs for documentation.
The default config comes from ktlint and follows these conventions:
Active by default: Yes - Since v2.0.0
useTrailingCommaOnCallSite (default: true) (android default: false)
Defines whether trailing commas are required (true) or forbidden (false) at call sites
See ktlint docs for documentation.
The default config comes from ktlint and follows these conventions:
Active by default: Yes - Since v2.0.0
useTrailingCommaOnDeclarationSite (default: true) (android default: false)
Defines whether trailing commas are required (true) or forbidden (false) at declaration sites
See ktlint docs for documentation.
Active by default: No
indentSize (default: 4)
indentation size
See ktlint docs for documentation.
Active by default: Yes - Since v2.0.0
See ktlint docs for documentation.
Active by default: Yes - Since v2.0.0
indentSize (default: 4)
indentation size
See ktlint docs for documentation.
Active by default: Yes - Since v2.0.0
See ktlint docs for documentation.
Active by default: Yes - Since v2.0.0
indentSize (default: 4)
indentation size
See ktlint docs for documentation.
Active by default: Yes - Since v1.23.0
See ktlint docs for documentation.
Active by default: Yes - Since v2.0.0
See ktlint docs for documentation.
Active by default: Yes - Since v2.0.0
See ktlint docs for documentation.
Active by default: No
indentSize (default: 4)
indentation size
See ktlint docs for documentation.
Active by default: Yes - Since v1.20.0
indentSize (default: 4)
indentation size
maxLineLength (default: 120) (android default: 100)
maximum line length