[ Widget Previews ] Add support for detecting previews and generating code (#161911)
`flutter widget-preview start` will now look for functions annotated with `@Preview()` within the developer's project. These functions will be used to generate `.dart_tool/widget_preview_scaffold/lib/generated_preview.dart`, which inserts the returned value from each preview function into a `List<WidgetPreview>` returned from a `previews()` method that is invoked by the widget preview scaffold root. **Example generated_preview.dart:** ```dart // ignore_for_file: no_leading_underscores_for_library_prefixes import 'package:foo/foo.dart' as _i1; import 'package:foo/src/bar.dart' as _i2; import 'package:widget_preview/widget_preview.dart'; List<WidgetPreview> previews() => [_i1.preview(), _i2.barPreview1(), _i2.barPreview2()]; ```
Showing
- packages/flutter_tools/lib/src/commands/widget_preview.dart 27 additions, 0 deletionspackages/flutter_tools/lib/src/commands/widget_preview.dart
- packages/flutter_tools/lib/src/widget_preview/preview_code_generator.dart 76 additions, 0 deletions..._tools/lib/src/widget_preview/preview_code_generator.dart
- packages/flutter_tools/lib/src/widget_preview/preview_detector.dart 145 additions, 0 deletions...lutter_tools/lib/src/widget_preview/preview_detector.dart
- packages/flutter_tools/pubspec.yaml 2 additions, 1 deletionpackages/flutter_tools/pubspec.yaml
- packages/flutter_tools/test/commands.shard/permeable/widget_preview_test.dart 108 additions, 24 deletions...ls/test/commands.shard/permeable/widget_preview_test.dart
- packages/flutter_tools/test/general.shard/widget_preview/preview_code_generator_test.dart 74 additions, 0 deletions...ral.shard/widget_preview/preview_code_generator_test.dart
- packages/flutter_tools/test/general.shard/widget_preview/preview_detector_test.dart 119 additions, 0 deletions...t/general.shard/widget_preview/preview_detector_test.dart