1
0
Fork 0
mirror of https://we.phorge.it/source/arcanist.git synced 2024-11-26 00:32:41 +01:00

Improve example linter to not lint deleted paths

Summary:
It's easy to forget to do this when writing a new lint engine (like I recently
just did), so I added it to the example to improve documentation on how to write
a lint engine. This code is copied from PhutilLintEngine (as well as many
others).

Test Plan: php -l

Reviewers: jungejason, vrana, epriestley

Reviewed By: epriestley

CC: aran, Koolvin

Differential Revision: https://secure.phabricator.com/D2553
This commit is contained in:
Nick Harper 2012-05-23 14:53:37 -07:00
parent 833ae9c152
commit 2c72779c7d

View file

@ -40,6 +40,16 @@ final class ExampleLintEngine extends ArcanistLintEngine {
// and raising warnings and errors. // and raising warnings and errors.
$pylint_linter = new ArcanistPyLintLinter(); $pylint_linter = new ArcanistPyLintLinter();
// Remove any paths that don't exist before we add paths to linters. We want
// to do this for linters that operate on file contents because the
// generated list of paths will include deleted paths when a file is
// removed.
foreach ($paths as $key => $path) {
if (!$this->pathExists($path)) {
unset($paths[$key]);
}
}
foreach ($paths as $path) { foreach ($paths as $path) {
if (!preg_match('/\.py$/', $path)) { if (!preg_match('/\.py$/', $path)) {
// This isn't a python file, so don't try to apply the PyLint linter // This isn't a python file, so don't try to apply the PyLint linter