pinterest / ktlint

An anti-bikeshedding Kotlin linter with built-in formatter
https://pinterest.github.io/ktlint/
MIT License
6.06k stars 504 forks source link

Do not insert a whitespace element as first or last child inside a composite element #2715

Closed paul-dingemans closed 5 days ago

paul-dingemans commented 5 days ago

Description

Prevent inserting a whitespace element as first or last element in a composite node. In such cases insert the whitespace just before or after the composite element (recursively if needed).

2688 shows an example in which two different rules were inserting a whitespace at the same position in the code fragment but at different places in the AST. As a result two spaces were added to the formatted code instead of one.

Closes #2688

Checklist

Before submitting the PR, please check following (checks which are not relevant may be ignored):

Documentation is updated. See difference between snapshot and release documentation