blob: 8c8f39ee8f2754b86c9f0b60aa44b2cbf109a43e [file] [view]
!!! 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:
```ini
[*.{kt,kts}]
ktlint_experimental=enabled
```
Also see [enable/disable specific rules](configuration-ktlint.md#disable-rules).
## Expression operand wrapping
Wraps each operand in a multiline expression to a separate line.
=== "[:material-heart:](#) Ktlint"
```kotlin
val foo1 = bar || baz
val foo2 =
bar1 ||
bar2 ||
baz1 ||
(baz2 && baz3)
val foo3 = bar + baz
val foo4 =
bar1 -
bar2 -
baz1 -
(baz2 * baz3)
```
=== "[:material-heart-off-outline:](#) Disallowed"
```kotlin
val foo =
multiLineOperand(
"bar"
) || baz
if (bar1 || bar2 ||
baz1 || (baz2 && baz3)
) {
// do something
}
```
Rule id: `standard:expression-operand-wrapping`
Suppress or disable rule (1)
{ .annotate }
1. Suppress rule in code with annotation below:
```kotlin
@Suppress("ktlint:expression-operand-wrapping")
```
Enable rule via `.editorconfig`
```editorconfig
ktlint_standard_expression-operand-wrapping = enabled
```
Disable rule via `.editorconfig`
```editorconfig
ktlint_standard_expression-operand-wrapping = disabled
```