mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-13 06:38:48 +02:00
Mozlint provides two main benefits: 1. A common system for defining lints across multiple languages 2. A common interface and result format for running them This commit only adds the core library, it does not add any consumers of mozlint just yet. MozReview-Commit-ID: CSQzq5del5k --HG-- extra : rebase_source : b520b96177281a1b1770edf53a01cbc2196f494f
30 lines
914 B
Python
30 lines
914 B
Python
# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
|
|
# vim: set filetype=python:
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
from mozlint import result
|
|
|
|
|
|
def lint(files, **lintargs):
|
|
results = []
|
|
for path in files:
|
|
with open(path, 'r') as fh:
|
|
for i, line in enumerate(fh.readlines()):
|
|
if 'foobar' in line:
|
|
results.append(result.from_linter(
|
|
LINTER, path=path, lineno=i+1, column=1, rule="no-foobar"))
|
|
return results
|
|
|
|
|
|
LINTER = {
|
|
'name': "ExternalLinter",
|
|
'description': "It's bad to have the string foobar in js files.",
|
|
'include': [
|
|
'**/*.js',
|
|
'**/*.jsm',
|
|
],
|
|
'type': 'external',
|
|
'payload': lint,
|
|
}
|