doRun method

  1. @override
Future<int> doRun()
override

Implementation

@override
Future<int> doRun() async {
  final name = argResults!['name'] as String;
  final config = CustomCommandsConfig.instance;

  final cmd = config.findCommand(name);
  if (cmd == null) {
    printError('Command not found: $name');
    return 1;
  }

  printInfo('Command: ${cmd.name}');
  if (cmd.description.isNotEmpty) {
    printInfo('Description: ${cmd.description}');
  }
  if (cmd.aliases.isNotEmpty) {
    printInfo('Aliases: ${cmd.aliases.join(', ')}');
  }
  printInfo('');

  if (cmd.arguments.isNotEmpty) {
    printInfo('Arguments:');
    for (final arg in cmd.arguments) {
      _printArgument(arg);
    }
    printInfo('');
  }

  printInfo('Actions:');
  for (var i = 0; i < cmd.actions.length; i++) {
    _printAction(i + 1, cmd.actions[i]);
  }

  return 0;
}