-
Notifications
You must be signed in to change notification settings - Fork 129
Description
The most consistent negative feedback we've gotten from the new formatting style is that it often puts an argument list on one line because it fits the page width when the user feels the resulting code would look better if split. For example (based on #1652):
// Current behavior:
Material(
color: Colors.transparent,
child: InkWell(
customBorder: const CircleBorder(),
child: Padding(padding: const EdgeInsets.all(2), child: child),
onTap: () {
context.read<ScGalleryVm>().crop();
},
),
)
// Preferred:
Material(
color: Colors.transparent,
child: InkWell(
customBorder: const CircleBorder(),
child: Padding(
padding: const EdgeInsets.all(2),
child: child,
),
onTap: () {
context.read<ScGalleryVm>().crop();
},
),
)Even though the Padding(...) call fits on one line, many users feel the latter code is easier to read and maintain.
The new formatter's configurable page width exacerbates this issue. If you set a wider page width, you'll get even more of these nested long argument list lines.
I'm filing this issue to be the sort of "meta-issue" that discusses this problem. If you have examples of argument lists where you think the formatter should have split them and didn't, please include them here (as text, not screenshots!). Then we can discuss proposed solutions to this problem as separate issues: