diff --git a/pkg/analysis_server/lib/src/services/completion/yaml/pubspec_generator.dart b/pkg/analysis_server/lib/src/services/completion/yaml/pubspec_generator.dart
index e38bddc..8c01840b 100644
--- a/pkg/analysis_server/lib/src/services/completion/yaml/pubspec_generator.dart
+++ b/pkg/analysis_server/lib/src/services/completion/yaml/pubspec_generator.dart
@@ -29,6 +29,53 @@
     // TODO(brianwilkerson) Suggest names already listed under 'dependencies'
     //  and 'dev_dependencies'.
     'dependency_overrides': EmptyProducer(),
+    'flutter': MapProducer({
+      'assets': EmptyProducer(), // ListProducer(FilePathProducer()),
+      'fonts': ListProducer(MapProducer({
+        'family': EmptyProducer(),
+        'fonts': ListProducer(MapProducer({
+          'asset': EmptyProducer(),
+          'style': EnumProducer(['italic', 'normal']),
+          'weight': EnumProducer(
+              ['100', '200', '300', '400', '500', '600', '700', '800', '900']),
+        })),
+      })),
+      'generate': BooleanProducer(),
+      'module': MapProducer({
+        'androidX': BooleanProducer(),
+        'androidPackage': EmptyProducer(),
+        'iosBundleIdentifier': EmptyProducer(),
+      }),
+      'plugin': MapProducer({
+        'platforms': MapProducer({
+          'android': MapProducer({
+            'package': EmptyProducer(),
+            'pluginClass': EmptyProducer(),
+          }),
+          'ios': MapProducer({
+            'pluginClass': EmptyProducer(),
+          }),
+          'linux': MapProducer({
+            'dartPluginClass': EmptyProducer(),
+            'pluginClass': EmptyProducer(),
+          }),
+          'macos': MapProducer({
+            'dartPluginClass': EmptyProducer(),
+            'pluginClass': EmptyProducer(),
+          }),
+          'web': MapProducer({
+            'fileName': EmptyProducer(),
+            'pluginClass': EmptyProducer(),
+          }),
+          'windows': MapProducer({
+            'dartPluginClass': EmptyProducer(),
+            'pluginClass': EmptyProducer(),
+          }),
+        }),
+      }),
+      'services': EmptyProducer(), // ListProducer(EmptyProducer()),
+      'uses-material-design': BooleanProducer(),
+    }),
   });
 
   /// Initialize a newly created suggestion generator for pubspec files.
diff --git a/pkg/analysis_server/test/src/services/completion/yaml/pubspec_generator_test.dart b/pkg/analysis_server/test/src/services/completion/yaml/pubspec_generator_test.dart
index 7247af0..11430c5 100644
--- a/pkg/analysis_server/test/src/services/completion/yaml/pubspec_generator_test.dart
+++ b/pkg/analysis_server/test/src/services/completion/yaml/pubspec_generator_test.dart
@@ -23,6 +23,7 @@
 
   void test_empty() {
     getCompletions('^');
+    assertSuggestion('flutter: ');
     assertSuggestion('name: ');
   }
 
@@ -34,4 +35,163 @@
     assertSuggestion('flutter: ');
     assertSuggestion('sdk: ');
   }
+
+  void test_flutter() {
+    getCompletions('''
+flutter:
+  ^
+''');
+    assertSuggestion('assets: ');
+    assertSuggestion('plugin: ');
+  }
+
+  void test_flutter_fonts() {
+    getCompletions('''
+flutter:
+  fonts:
+    ^
+''');
+    assertSuggestion('family: ');
+    assertSuggestion('fonts:');
+  }
+
+  void test_flutter_fonts_fonts() {
+    getCompletions('''
+flutter:
+  fonts:
+    - fonts:
+        ^
+''');
+    assertSuggestion('asset: ');
+  }
+
+  void test_flutter_fonts_fonts_style() {
+    getCompletions('''
+flutter:
+  fonts:
+    - fonts:
+       - style: ^
+''');
+    assertSuggestion('italic');
+  }
+
+  void test_flutter_fonts_weight() {
+    getCompletions('''
+flutter:
+  fonts:
+    - fonts:
+        - weight: ^
+''');
+    assertSuggestion('100');
+    assertSuggestion('900');
+  }
+
+  void test_flutter_module() {
+    getCompletions('''
+flutter:
+  module:
+    ^
+''');
+    assertSuggestion('androidX: ');
+    assertSuggestion('iosBundleIdentifier: ');
+  }
+
+  void test_flutter_plugin() {
+    getCompletions('''
+flutter:
+  plugin:
+    ^
+''');
+    assertSuggestion('platforms: ');
+  }
+
+  void test_flutter_plugin_platforms() {
+    getCompletions('''
+flutter:
+  plugin:
+    platforms:
+      ^
+''');
+    assertSuggestion('android: ');
+    assertSuggestion('web: ');
+  }
+
+  void test_flutter_plugin_platforms_android() {
+    getCompletions('''
+flutter:
+  plugin:
+    platforms:
+      android:
+        ^
+''');
+    assertSuggestion('package: ');
+    assertSuggestion('pluginClass: ');
+  }
+
+  void test_flutter_plugin_platforms_ios() {
+    getCompletions('''
+flutter:
+  plugin:
+    platforms:
+      ios:
+        ^
+''');
+    assertSuggestion('pluginClass: ');
+  }
+
+  void test_flutter_plugin_platforms_linux() {
+    getCompletions('''
+flutter:
+  plugin:
+    platforms:
+      linux:
+        ^
+''');
+    assertSuggestion('dartPluginClass: ');
+    assertSuggestion('pluginClass: ');
+  }
+
+  void test_flutter_plugin_platforms_macos() {
+    getCompletions('''
+flutter:
+  plugin:
+    platforms:
+      macos:
+        ^
+''');
+    assertSuggestion('dartPluginClass: ');
+    assertSuggestion('pluginClass: ');
+  }
+
+  void test_flutter_plugin_platforms_web() {
+    getCompletions('''
+flutter:
+  plugin:
+    platforms:
+      web:
+        ^
+''');
+    assertSuggestion('fileName: ');
+    assertSuggestion('pluginClass: ');
+  }
+
+  void test_flutter_plugin_platforms_windows() {
+    getCompletions('''
+flutter:
+  plugin:
+    platforms:
+      windows:
+        ^
+''');
+    assertSuggestion('dartPluginClass: ');
+    assertSuggestion('pluginClass: ');
+  }
+
+  void test_flutter_usesMaterialDesign() {
+    getCompletions('''
+flutter:
+  uses-material-design: ^
+''');
+    assertSuggestion('true');
+  }
 }
