/**
* preprocess the argv array
*
* - split option and option value
* - separate arguments after "--"
*/
protected function preprocessingArguments(array $argv)
{
// preprocessing arguments
$newArgv = array();
$extra = array();
$afterDash = false;
foreach ($argv as $arg) {
if ($arg === '--') {
$afterDash = true;
continue;
}
if ($afterDash) {
$extra[] = $arg;
continue;
}
$a = new Argument($arg);
if ($a->anyOfOptions($this->specs) && $a->containsOptionValue()) {
list($opt, $val) = $a->splitAsOption();
array_push($newArgv, $opt, $val);
} else {
$newArgv[] = $arg;
}
}
return array($newArgv, $extra);
}