-- Put an empty line between logical blocks and after multiline
- declarations, assignments, literals, and calls. The only exception
- after a multiline construct is its immediate error check. Separate a
- multiline literal from a following loop, even when the loop uses that
- literal. Keep a single-line declaration with its immediate use, and an
- operation with its immediate error check. This does not waive the
- separator after a multiline construct. `wsl_v5` and `nlreturn` check
- only part of this rule. Review the other boundaries by hand.
+- Put an empty line between logical blocks, such as two independent `if`
+ statements. Put an empty line before and after loops, switches,
+ selects, standalone blocks, and multiline declarations, assignments,
+ literals, and calls, when there is an adjacent statement. These
+ boundaries also apply when a loop immediately uses the declaration
+ before it.
+- The only exception after a multiline construct is its immediate error
+ check. Keep a single-line declaration with its immediate use, and an
+ operation with its immediate error check. A result assertion does not
+ waive the separator after a multiline construct. `wsl_v5` and
+ `nlreturn` check only part of these rules. Review the other boundaries
+ by hand.
+- Group imports in this order: standard library, external dependencies,
+ project imports. Review these groups by hand when the formatter does
+ not check them.