Этот сценарий описан в FAQ dart_style, на котором основан dartfmt:
https://github.com/dart-lang/dart_style/wiki/FAQ#why -does-the-formatter-mess-up-my-collection-literals
Короче говоря, вам просто нужно добавить комментарий где-нибудь в определении матрицы, например:
const ColorFilter sepia = ColorFilter.matrix(<double>[
0.393, 0.769, 0.189, 0, 0, //
0.349, 0.686, 0.168, 0, 0,
0.272, 0.534, 0.131, 0, 0,
0, 0, 0, 1, 0,
]);
Тогда dartfmt не будет пытаться форматировать символы новой строки в матрице. Однако он по-прежнему исправляет ненужные пробелы, поэтому он преобразует ваш пример в:
const ColorFilter sepia = ColorFilter.matrix(<double>[
0.393, 0.769, 0.189, 0, 0, //
0.349, 0.686, 0.168, 0, 0,
0.272, 0.534, 0.131, 0, 0,
0, 0, 0, 1, 0,
]);
Что можно исправить, изменив 0 на 0,000:
const ColorFilter sepia = ColorFilter.matrix(<double>[
0.393, 0.769, 0.189, 0, 0, //
0.349, 0.686, 0.168, 0, 0,
0.272, 0.534, 0.131, 0, 0,
0.000, 0.000, 0.000, 1, 0,
]);