ConsoleCMD constructor

ConsoleCMD(
  1. String cmd,
  2. List<String?> args
)

Implementation

ConsoleCMD(String cmd, List<String?> args)
    : cmd = cmd.trim().toLowerCase().replaceAll(RegExp(r'[\s._\-]+'), '') {
  _args = <String>[];
  _properties = <String, String?>{};

  for (var i = 0; i < args.length; ++i) {
    var arg = args[i]!;
    if (arg.startsWith('----')) {
      var nextI = i + 1;
      var name = arg.substring(4);

      String? value;
      if (nextI < args.length) {
        value = args[nextI];
        if (value!.startsWith('----')) {
          value = 'true';
        } else {
          args.removeAt(nextI);
        }
      } else {
        value = 'true';
      }

      _properties[name.toLowerCase().trim()] = value;
    } else {
      _args.add(arg);
    }
  }

  _normalizeCmdProperties();
}