:
to =
as the named parameter default value separator.new
keywords.const
keywords.package:analyzer
..
if the target expression is an argument list with a trailing comma (#548, #665).new
/const
(#652).pkg/args
.pkg/analyzer
.-
and --
(#170).=>
bodies (#584).<
when a collection is in statement position (#589).covariant
modifier on methods.is
and as
expressions.--set-exit-if-changed
to set the exit code on a change (#365).--version
command line argument (#240)..
in a method chain if the target splits (#255).=>
bodies (#434.if
statements without curly bodies better (#448).get
and set
(#462).--indent
to specify leading indent (#464).for
fully split if initializers or updaters do (#375, #377).deferred
(#381).as
and is
expressions (#384).?.
, ??
, and ??=
) (#385).BREAKING: The indent
argument to new DartFormatter()
is now a number of spaces, not indentation levels.
This version introduces a new n-way constraint system replacing the previous binary constraints. It‘s mostly an internal change, but allows us to fix a number of bugs that the old solver couldn’t express solutions to.
In particular, it forces argument and parameter lists to go one-per-line if they don't all fit in two lines. And it allows function and collection literals inside expressions to indent like expressions in some contexts. (#78, #97, #101, #123, #139, #141, #142, #143, et. al.)
Indent cascades more deeply when the receiver is a method call (#137).
Preserve newlines in collections containing line comments (#139).
Allow multiple variable declarations on one line if they fit (#155).
Prefer splitting at “.” on non-identifier method targets (#161).
Enforce a blank line before and after classes (#168).
More precisely control newlines between declarations (#173).
Preserve mandatory newlines in inline block comments (#178).
Splitting inside type parameter and type argument lists (#184).
Nest blocks deeper inside a wrapped conditional operator (#186).
Split named arguments if the positional arguments split (#189).
Re-indent line doc comments even if they are flush left (#192).
Nest cascades like expressions (#200, #203, #205, #221, #236).
Prefer splitting after =>
over other options (#217).
Nested non-empty collections force surrounding ones to split (#223).
Allow splitting inside with and implements clauses (#228, #259).
Allow splitting after =
in a constructor initializer (#242).
If a =>
function's parameters split, split after the =>
too (#250).
Allow splitting between successive index operators (#256).
Correctly indent wrapped constructor initializers (#257).
Set failure exit code for malformed input when reading from stdin (#359).
Do not nest blocks inside single-argument function and method calls.
Do nest blocks inside =>
functions.
test
package runner internally.analyzer
and args
packages.dartformat
to dartfmt
.--dry-run
option to show files that need formatting (#67).await for
statements (#154).-
calls (#170).-t
flag to preserve compatibility with old formatter (#166).--machine
flag for machine-readable output (#164).