exec method

List<CliOpt> exec(
  1. List<String> args
)

The actual parser

Implementation

List<CliOpt> exec(List<String> args) {
  _curOptDef = argOptDef;

  // Loop through all arguments and parse one by one
  //
  var argNo = -1;

  for (var arg in args) {
    ++argNo;

    _resetInternals();

    if (_execStopMode(arg)) {
      continue;
    }
    if (_execPlainArg(arg, argNo)) {
      continue;
    }
    if (_execOption(arg, argNo)) {
      continue;
    }
    argNo = _unbundle(argNo);
  }

  parsed.validateValueCounts();

  _resetInternals(all: true);

  // Return parsed options
  //
  return parsed;
}