mirror of
https://we.phorge.it/source/arcanist.git
synced 2025-01-26 06:28:19 +01:00
67b6bed92e
Summary: Various tidying up of linting code. Test Plan: `arc lint` and `arc unit` still pass. Reviewers: chad, epriestley, #blessed_reviewers Reviewed By: epriestley, #blessed_reviewers Subscribers: epriestley, Korvin Differential Revision: https://secure.phabricator.com/D9625
56 lines
1.2 KiB
PHP
56 lines
1.2 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Stifles creativity in choosing imaginative file names.
|
|
*/
|
|
final class ArcanistFilenameLinter extends ArcanistLinter {
|
|
|
|
const LINT_BAD_FILENAME = 1;
|
|
|
|
public function getInfoName() {
|
|
return pht('Filename');
|
|
}
|
|
|
|
public function getInfoDescription() {
|
|
return pht(
|
|
'Stifles developer creativity by requiring files have uninspired names '.
|
|
'containing only letters, numbers, period, hyphen and underscore.');
|
|
}
|
|
|
|
public function getLinterName() {
|
|
return 'NAME';
|
|
}
|
|
|
|
public function getLinterConfigurationName() {
|
|
return 'filename';
|
|
}
|
|
|
|
public function shouldLintBinaryFiles() {
|
|
return true;
|
|
}
|
|
|
|
public function getLintNameMap() {
|
|
return array(
|
|
self::LINT_BAD_FILENAME => pht('Bad Filename'),
|
|
);
|
|
}
|
|
|
|
public function lintPath($path) {
|
|
if (!preg_match('@^[a-z0-9./\\\\_-]+$@i', $path)) {
|
|
$this->raiseLintAtPath(
|
|
self::LINT_BAD_FILENAME,
|
|
pht(
|
|
'Name files using only letters, numbers, period, hyphen and '.
|
|
'underscore.'));
|
|
}
|
|
}
|
|
|
|
public function shouldLintDirectories() {
|
|
return true;
|
|
}
|
|
|
|
public function shouldLintSymbolicLinks() {
|
|
return true;
|
|
}
|
|
|
|
}
|