execute method

  1. @override
Future<void> execute(
  1. AFCommandContext context
)
override

Implementation

@override
Future<void> execute(AFCommandContext context) async {
  final args = context.arguments.arguments;
  if(args.length < 2) {
    printFullUsage(context);
    return;
  }

  final cmdName = args[1];
  final command = context.definitions.commands.findByName(cmdName);
  if(command == null) {
    print("Error: Unknown command $cmdName");
    return;
  } else {
    if(args.length > 2) {
      final subcommandName = args[2];
      final subcommand = command.subcommands[subcommandName];
      if(subcommand == null) {
        print("Error: Unknown subcommand $subcommandName");
        return;
      } else {
        print(subcommand.usage);
      }
    } else {
      print(command.usage);
    }
  }
}