Metadata-Version: 2.1
Name: lint_diffs
Version: 0.1.1
Summary: Runs one or more linters, but only outputs errors if diffs have lint issues.
Home-page: https://github.com/atakamallc/lint-diffs
License: UNKNOWN
Author: Atakama, LLC
Author-email: dev-support@atakama.com
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: unidiff

### lint-diffs

lint-diffs is a simple command line tool for running an arbitrarty linter 
on a set of 'unified diffs'.

First you need some diffs, then you pipe it to lint-diffs:

`git diff -U0 origin/master | lint-diffs`

The default and only preconfigured tool for python is "pylint".

Configuration:

`lint-diffs` will read a config files from `~/.config/lint-diffs` and/or `./.lint-diffs`.

Example:

```
[pylint]
always_report=E.*

[flake8]
extensions=.py

[rubocop]
extensions=.rb
command=rubocop app spec
regex=(?P<file>[^:]+):(?P<line>[^:]+):[^:]+: (?P<err>.: [^:]+)
always_report=(E.*|W.*)
```

In this example, a flake8 and pylint are run on every diff file ending in `.py`.   
Additionally, a ruby linter has been added.

To add new linters:
 - The linter has to report to stdout
 - The linter has to have a regex that produces a full file path, a line number and an error class
 - The line numbers and file paths have to match diff target file paths

Goals:
 - Runs with good defaults for many people
 - Should be easy to modify the config for new linters
 - Should be easy to use with other vcs

