Format unnamed libraries
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b583411..cca1ed4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,7 @@
# 2.2.5-dev
* Require `package:analyzer` `^5.1.0`.
+* Format unnamed libraries.
# 2.2.4
diff --git a/lib/src/dart_formatter.dart b/lib/src/dart_formatter.dart
index db363c4..05841fa 100644
--- a/lib/src/dart_formatter.dart
+++ b/lib/src/dart_formatter.dart
@@ -88,11 +88,9 @@
// TODO(paulberry): consider plumbing in experiment enable flags from the
// command line.
var featureSet = FeatureSet.fromEnableFlags2(
- sdkLanguageVersion: Version(2, 17, 0),
+ sdkLanguageVersion: Version(2, 19, 0),
flags: [
- 'enhanced-enums',
- 'named-arguments-anywhere',
- 'super-parameters',
+ 'unnamed-libraries',
],
);
diff --git a/lib/src/source_visitor.dart b/lib/src/source_visitor.dart
index b07058c..f6cc74a 100644
--- a/lib/src/source_visitor.dart
+++ b/lib/src/source_visitor.dart
@@ -2021,8 +2021,10 @@
_visitDirectiveMetadata(node);
_simpleStatement(node, () {
token(node.libraryKeyword);
- space();
- visit(node.name2);
+ if (node.name2 != null) {
+ space();
+ visit(node.name2);
+ }
});
}
diff --git a/test/comments/top_level.unit b/test/comments/top_level.unit
index 74a269a..b86574a 100644
--- a/test/comments/top_level.unit
+++ b/test/comments/top_level.unit
@@ -185,6 +185,10 @@
<<<
library a. //
b.c;
+>>> comment within unnamed library
+library/* c */;
+<<<
+library /* c */;
>>> inline block comment between different kinds of directives
library a; /* comment */ import 'b.dart';
<<<
diff --git a/test/whitespace/directives.unit b/test/whitespace/directives.unit
index d174133..e284e65 100644
--- a/test/whitespace/directives.unit
+++ b/test/whitespace/directives.unit
@@ -50,6 +50,10 @@
library a . b . c;
<<<
library a.b.c;
+>>> no spaces after unnamed library
+library ;
+<<<
+library;
>>> configuration
import'a'if(b . c . d)'e';
<<<