-
Notifications
You must be signed in to change notification settings - Fork 129
Closed
Description
The new dart formatter wants to format this as follows:
void _showDialog(Widget child, BuildContext context) {
showCupertinoModalPopup<void>(
context: context,
builder:
(BuildContext context) => Container(
height: 216,
padding: const EdgeInsets.only(top: 6.0),
// The Bottom margin is provided to align the popup above the system
// navigation bar.
margin: EdgeInsets.only(
bottom: MediaQuery.of(context).viewInsets.bottom,
),
// Provide a background color for the popup.
color: CupertinoColors.systemBackground.resolveFrom(context),
// Use a SafeArea widget to avoid system overlaps.
child: SafeArea(top: false, child: child),
),
);
}
This gives the closure a lot of prominence over the other parameters and also causes more indentation reducing the effective line length for code inside the closure.
void _showDialog(Widget child, BuildContext context) {
showCupertinoModalPopup<void>(
context: context,
builder: (BuildContext context) => Container(
height: 216,
padding: const EdgeInsets.only(top: 6.0),
// The Bottom margin is provided to align the popup above the system
// navigation bar.
margin: EdgeInsets.only(
bottom: MediaQuery.of(context).viewInsets.bottom,
),
// Provide a background color for the popup.
color: CupertinoColors.systemBackground.resolveFrom(context),
// Use a SafeArea widget to avoid system overlaps.
child: SafeArea(top: false, child: child),
),
);
}
This formatting would visually also be more in line with the formatting I'd expect if builder were a list argument:
void _showDialog(Widget child, BuildContext context) {
showCupertinoModalPopup<void>(
context: context,
builder: <Widget>[
longNameForAWidgetToMakeSureThisDoesNotFit,
longNameForAWidgetToMakeSureThisDoesNotFit2,
longNameForAWidgetToMakeSureThisDoesNotFit3,
],
);
}
@munificent did mention that there are cases were this kind of formatting for =>
closures looks worse. I'm interested in seeing examples for that.
swrenn, Reprevise, lishaduck, NodariMosia, MiniSuperDev and 3 more
Metadata
Metadata
Assignees
Labels
No labels