Skip to content

Experimental rules

Important

Up and until Ktlint version 0.47, experimental were located in a separate experimental rule set. As of Ktlint version 0.48, each rule set can optionally define experimental rules.

All experimental rules described below are part of the standard rule set of Ktlint. To enable all experimental rules (from all rule sets), set editorconfig property below:

[*.{kt,kts}]
ktlint_experimental=enabled
Also see enable/disable specific rules.

Expression operand wrapping

Wraps each operand in a multiline expression to a separate line.

val foo1 = bar || baz
val foo2 =
    bar1 ||
        bar2 ||
        baz1 ||
        (baz2 && baz3)
val foo3 = bar + baz
val foo4 =
    bar1 -
        bar2 -
        baz1 -
        (baz2 * baz3)
val foo =
  multiLineOperand(
      "bar"
  ) || baz
if (bar1 || bar2 ||
    baz1 || (baz2 && baz3)
) {
   // do something
}

Rule id: standard:expression-operand-wrapping

Suppress or disable rule (1)

  1. Suppress rule in code with annotation below:
    @Suppress("ktlint:expression-operand-wrapping")
    
    Enable rule via .editorconfig
    ktlint_standard_expression-operand-wrapping = enabled
    
    Disable rule via .editorconfig
    ktlint_standard_expression-operand-wrapping = disabled