mainFileSetter function

void mainFileSetter(
  1. String name
)

Implementation

void mainFileSetter(String name) {
  var mainFunction = Method((m) => m
    ..name = 'main'
    ..body = Code('''
  WidgetsFlutterBinding.ensureInitialized();
  SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle(
    statusBarColor: Colors.white,
    statusBarIconBrightness: Brightness.dark,
  ));
  runApp(const MyApp());
'''));
  var lib = Library(
    (lib) => lib
      ..directives.addAll([
        Directive.import('package:flutter/material.dart'),
        Directive.import('package:flutter/services.dart'),
        Directive.import('package:get/get.dart'),
        Directive.import('package:$name/screens/home_screen.dart'),
      ])
      ..body.addAll([
        mainFunction,
        statelessWidgetGenerator('MyApp', '''return GetMaterialApp(
      debugShowCheckedModeBanner: false,
      title: '$name',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: const HomeScreen(),
    );''')
      ]),
  );
  File('$name/lib/main.dart')
      .writeAsStringSync(formatter.format(DartEmitter.scoped(useNullSafetySyntax: true).visitLibrary(lib).toString()));
}