Runs one or more linters, but only outputs errors if diffs have lint issues.
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
lint_diffs-0.1.6.tar.gz
(8.2 kB
view hashes)
Built Distribution
Close
Hashes for lint_diffs-0.1.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8893e93b73c743798c9449448327d0ad6340f69b5b06278f550fdfc0f6835727 |
|
MD5 | bf100d3c516aaa5f8c2df26a21461123 |
|
BLAKE2b-256 | 98447f3f5de4852dead63c5b5be6ddedd9943ea23604e0be794aa6741319b3c1 |