Release dart_style 0.2.0-rc.1. R=kevmoo@google.com, pquitslund@google.com Review URL: https://chromiumcodereview.appspot.com//1193863004.
diff --git a/CHANGELOG.md b/CHANGELOG.md index 97e64eb..e4d1e0f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md
@@ -10,31 +10,30 @@ 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.) - (#78, #97, #101, #123, #139, #141, #142, #143) - -* Allow splitting inside with and implements clauses (#228, #259). -* Preserve mandatory newlines in inline block comments (#178). -* Allow multiple variable declarations on one line if they fit (#155). -* Splitting inside type parameter and type argument lists (#184). -* Enforce a blank line before and after classes (#168). -* Re-indent line doc comments even if they are flush left (#192). -* More precisely control newlines between declarations (#173). -* Nest cascades like expressions (#200, #203, #205, #221, #236). -* Do not nest blocks inside single-argument function and method calls. -* Do nest blocks inside `=>` functions. -* Set failure exit code for malformed input when reading from stdin (#359). * 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. # 0.1.8
diff --git a/bin/format.dart b/bin/format.dart index 1f10b78..dd74199 100644 --- a/bin/format.dart +++ b/bin/format.dart
@@ -154,8 +154,8 @@ selectionStart: selectionStart, selectionLength: selectionLength); var output = formatter.formatSource(source); - options.reporter.showFile(null, "<stdin>", output, - changed: source != output); + options.reporter + .showFile(null, "<stdin>", output, changed: source != output); return true; } on FormatterException catch (err) { stderr.writeln(err.message());
diff --git a/lib/src/chunk_builder.dart b/lib/src/chunk_builder.dart index 95899dd..51387c0 100644 --- a/lib/src/chunk_builder.dart +++ b/lib/src/chunk_builder.dart
@@ -159,17 +159,17 @@ /// /// If [isDouble] is passed, forces the split to either be a single or double /// newline. Otherwise, leaves it indeterminate. - Chunk split({bool space, bool isDouble, bool flushLeft}) => _writeSplit( - _rules.last, null, - flushLeft: flushLeft, isDouble: isDouble, spaceWhenUnsplit: space); + Chunk split({bool space, bool isDouble, bool flushLeft}) => + _writeSplit(_rules.last, null, + flushLeft: flushLeft, isDouble: isDouble, spaceWhenUnsplit: space); /// Write a split owned by the current innermost rule. /// /// Unlike [split()], this ignores any current expression nesting. It always /// indents the next line at the statement level. - Chunk blockSplit({bool space, bool isDouble}) => _writeSplit( - _rules.last, _nesting.blockNesting, - isDouble: isDouble, spaceWhenUnsplit: space); + Chunk blockSplit({bool space, bool isDouble}) => + _writeSplit(_rules.last, _nesting.blockNesting, + isDouble: isDouble, spaceWhenUnsplit: space); /// Outputs the series of [comments] and associated whitespace that appear /// before [token] (which is not written by this).
diff --git a/lib/src/io.dart b/lib/src/io.dart index b06f0f2..765ac3e 100644 --- a/lib/src/io.dart +++ b/lib/src/io.dart
@@ -55,8 +55,8 @@ try { var source = new SourceCode(file.readAsStringSync(), uri: file.path); var output = formatter.formatSource(source); - options.reporter.showFile(file, label, output, - changed: source.text != output.text); + options.reporter + .showFile(file, label, output, changed: source.text != output.text); return true; } on FormatterException catch (err) { var color = Platform.operatingSystem != "windows" &&
diff --git a/lib/src/line_prefix.dart b/lib/src/line_prefix.dart index 992df83..f8a7075 100644 --- a/lib/src/line_prefix.dart +++ b/lib/src/line_prefix.dart
@@ -80,9 +80,9 @@ /// Create a new LinePrefix one chunk longer than this one using [ruleValues], /// and assuming that we do not split before that chunk. - LinePrefix extend(Map<Rule, int> ruleValues) => new LinePrefix._( - length + 1, ruleValues, _indent, _nesting, - flushLeft: _flushLeft); + LinePrefix extend(Map<Rule, int> ruleValues) => + new LinePrefix._(length + 1, ruleValues, _indent, _nesting, + flushLeft: _flushLeft); /// Create a series of new LinePrefixes one chunk longer than this one using /// [ruleValues], and assuming that the new [chunk] splits at an expression
diff --git a/lib/src/line_writer.dart b/lib/src/line_writer.dart index 2bb5325..a2aef01 100644 --- a/lib/src/line_writer.dart +++ b/lib/src/line_writer.dart
@@ -109,8 +109,8 @@ var chunk = _chunks[i]; if (!chunk.canDivide) continue; - totalCost += _completeLine(newlines, indent, start, i + 1, - flushLeft: flushLeft); + totalCost += + _completeLine(newlines, indent, start, i + 1, flushLeft: flushLeft); // Get ready for the next line. newlines = chunk.isDouble ? 2 : 1;
diff --git a/lib/src/rule/rule.dart b/lib/src/rule/rule.dart index f2d1bf4..1fdadef 100644 --- a/lib/src/rule/rule.dart +++ b/lib/src/rule/rule.dart
@@ -132,9 +132,8 @@ SimpleRule({int cost, bool splitsOnInnerRules}) : cost = cost != null ? cost : Cost.normal, - splitsOnInnerRules = splitsOnInnerRules != null - ? splitsOnInnerRules - : true; + splitsOnInnerRules = + splitsOnInnerRules != null ? splitsOnInnerRules : true; bool isSplit(int value, Chunk chunk) => value == 1;
diff --git a/pubspec.lock b/pubspec.lock index 0e7b01e..b81170f 100644 --- a/pubspec.lock +++ b/pubspec.lock
@@ -64,7 +64,7 @@ scheduled_test: description: scheduled_test source: hosted - version: "0.12.0+1" + version: "0.12.1" shelf: description: shelf source: hosted @@ -100,11 +100,11 @@ test: description: test source: hosted - version: "0.12.3" + version: "0.12.3+2" watcher: description: watcher source: hosted - version: "0.9.5" + version: "0.9.6" yaml: description: yaml source: hosted
diff --git a/pubspec.yaml b/pubspec.yaml index cfa5b1c..50281ce 100644 --- a/pubspec.yaml +++ b/pubspec.yaml
@@ -1,5 +1,5 @@ name: dart_style -version: 0.2.0-dev +version: 0.2.0-rc.1 author: Dart Team <misc@dartlang.org> description: Opinionated, automatic Dart source code formatter. homepage: https://github.com/dart-lang/dart_style @@ -7,7 +7,7 @@ analyzer: '>=0.25.0 <0.26.0' args: '>=0.12.1 <0.14.0' path: '>=1.0.0 <2.0.0' - source_span: '>=1.0.0 <2.0.0' + source_span: '>=1.1.1 <2.0.0' dev_dependencies: browser: '>=0.10.0 <0.11.0' scheduled_test: '>=0.12.0 <0.13.0'
diff --git a/test/io_test.dart b/test/io_test.dart index f73a003..3962de6 100644 --- a/test/io_test.dart +++ b/test/io_test.dart
@@ -71,16 +71,18 @@ }); test("skips subdirectories whose name starts with '.'", () { - d.dir('code', [d.dir('.skip', [d.file('a.dart', unformattedSource)])]) - .create(); + d.dir('code', [ + d.dir('.skip', [d.file('a.dart', unformattedSource)]) + ]).create(); schedule(() { var dir = new Directory(d.defaultRoot); processDirectory(overwriteOptions, dir); }, 'Run formatter.'); - d.dir('code', [d.dir('.skip', [d.file('a.dart', unformattedSource)])]) - .validate(); + d.dir('code', [ + d.dir('.skip', [d.file('a.dart', unformattedSource)]) + ]).validate(); }); test("traverses the given directory even if its name starts with '.'", () {