run method

  1. @override
void run()
override

Runs this command.

The return value is wrapped in a Future if necessary and returned by CommandRunner.runCommand.

Implementation

@override
void run() {
  if (argResults != null) {
    String? featureName = argResults!['feature'];
    List<String>? languages = argResults!['lang'];
    String? page = argResults!['page'];
    String? form = argResults!['form'];
    List<String>? fields = argResults!['fields'];

    if (page != null) {
      print(
          '${ColorsText.blue}📄 Creating page: ${ColorsText.cyan}$page${ColorsText.reset}');
      if (featureName != null) {
        print(
            '${ColorsText.gray}   Feature: $featureName${ColorsText.reset}\n');
      }
      Creators.addPage(routeName: page, featureName: featureName);
      print(
          '${ColorsText.green}✓ Page created successfully${ColorsText.reset}');
    } else if (form != null) {
      print(
          '${ColorsText.blue}📝 Creating form: ${ColorsText.cyan}$form${ColorsText.reset}');
      if (featureName != null) {
        print(
            '${ColorsText.gray}   Feature: $featureName${ColorsText.reset}');
      }
      if (fields != null && fields.isNotEmpty) {
        print(
            '${ColorsText.gray}   Fields: ${fields.join(', ')}${ColorsText.reset}\n');
      }
      Creators.addForm(
          featureName: featureName, formName: form, fields: fields);
      print(
          '${ColorsText.green}✓ Form created successfully${ColorsText.reset}');
    } else if (featureName != null) {
      print(
          '${ColorsText.blue}🎯 Creating feature: ${ColorsText.cyan}$featureName${ColorsText.reset}\n');
      Creators.createFeature(name: featureName);
      print(
          '${ColorsText.green}✓ Feature created successfully${ColorsText.reset}');
    } else if (languages?.isNotEmpty == true) {
      print(
          '${ColorsText.blue}🌍 Adding languages: ${ColorsText.cyan}${languages?.join(', ')}${ColorsText.reset}\n');
      Creators.addLang(languages: languages);
      print(
          '${ColorsText.green}✓ Languages added successfully${ColorsText.reset}');
    } else {
      print(
          '${ColorsText.yellow}Usage: flyer make [options]${ColorsText.reset}');
      print(argParser.usage);
    }
  }
}