protected function parseLinterOutput($path, $err, $stdout, $stderr) { $lines = phutil_split_lines($stdout, false); $messages = array(); foreach ($lines as $line) { $matches = explode(':', $line, 4); if (count($matches) === 4) { $message = new ArcanistLintMessage(); $message->setPath($path); $message->setLine($matches[1]); $message->setChar($matches[2]); $message->setCode($this->getLinterName()); $message->setName($this->getLinterName()); $message->setDescription(ucfirst(trim($matches[3]))); $message->setSeverity($this->getLintMessageSeverity($message->getCode())); $messages[] = $message; } } return $messages; }