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 Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Close
Hashes for lint_diffs-0.1.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ecbafc99633eb8611bb28c3c55464b5898d21d95cf767ed3983fbc64d3d7c5a |
|
MD5 | 441962849256e439c872285ed212cbbb |
|
BLAKE2b-256 | acaf49b5248687e53c643c3e4d375cde2bf8239b675d3a44c1d1208a20f01a59 |