code: private function parseArgument(&$arguments)
      {
          $argument = array_shift($arguments);
          if (preg_match('/^-(\w)=(.+)$/', $argument, $matches)) {
              return array($matches[1], $matches[2]);
          } elseif (preg_match('/^-(\w)$/', $argument, $matches)) {
              return array($matches[1], $this->nextNonFlagElseTrue($arguments));
          } elseif (preg_match('/^--(\w+)=(.+)$/', $argument, $matches)) {
              return array($matches[1], $matches[2]);
          } elseif (preg_match('/^--(\w+)$/', $argument, $matches)) {
              return array($matches[1], $this->nextNonFlagElseTrue($arguments));
          }
      }
docs: Extracts the next key and value from the argument list.
  
  @param array $arguments The remaining arguments to be parsed.
  The argument list will be reduced.
  
  @return array Two item array of key and value.
  If no value can be found it will
  have the value true assigned instead.