diff --git a/src/lint/linter/ArcanistPuppetLintLinter.php b/src/lint/linter/ArcanistPuppetLintLinter.php --- a/src/lint/linter/ArcanistPuppetLintLinter.php +++ b/src/lint/linter/ArcanistPuppetLintLinter.php @@ -108,27 +108,18 @@ continue; } + $message_code = $this->getLinterName().'-'. + strtoupper($matches[2]).'-'. + preg_replace('/[^[:alnum:]]/', '_', $matches[3]); + $message = id(new ArcanistLintMessage()) ->setPath($path) ->setLine($matches[0]) ->setChar($matches[1]) - ->setCode($this->getLinterName()) + ->setCode($message_code) ->setName(ucwords(str_replace('_', ' ', $matches[3]))) ->setDescription(ucfirst($matches[4])); - - switch ($matches[2]) { - case 'warning': - $message->setSeverity(ArcanistLintSeverity::SEVERITY_WARNING); - break; - - case 'error': - $message->setSeverity(ArcanistLintSeverity::SEVERITY_ERROR); - break; - - default: - $message->setSeverity(ArcanistLintSeverity::SEVERITY_ADVICE); - break; - } + $message->setSeverity($this->getLintMessageSeverity($message->getCode())); $messages[] = $message; } @@ -136,4 +127,15 @@ return $messages; } + protected function getDefaultMessageSeverity($code) { + $linter_name = $this->getLinterName(); + if (preg_match("/^$linter_name-ERROR/", $code)) { + return ArcanistLintSeverity::SEVERITY_ERROR; + } else if (preg_match("/^$linter_name-WARNING/", $code)) { + return ArcanistLintSeverity::SEVERITY_WARNING; + } else { + return ArcanistLintSeverity::SEVERITY_ADVICE; + } + } + }