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 a set of arbitrarty linters on a set of 'unified diffs'.
Errors on diff-lines will always be reported. Errors on non-diff lines can also be reported, depending on severity.
First you need some diffs, then you pipe it to lint-diffs:
git diff -U0 origin/master | lint-diffs
... or in mercurial: hg outgoing -p | lint-diffs
-
default linter configuration is on for pylint (.py), rubocop (.rb), and clang (.cpp, .hpp)
-
flake8, eslint and other linters need to be enabled (see below) explicitly.
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
always_report=(E.*|W.*)
[eslint]
extensions=.js
[shellcheck]
extensions=.sh
In this example, a flake8 and pylint are run on every diff file ending in .py
.
Additionally, ruby, eslint and shell script linters have been enabled. The
ruby linter has been modified to always report warnings, on any changed file,
not just changed lines.
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
To enable or disable linters change the 'extensions' config.
Goals:
- Runs with good defaults for many people
- Should be easy to modify the config for any linter
- Should be easy to use with any 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
Built Distribution
Hashes for lint_diffs-0.1.17-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65ce4646a7d463bfd2225421d9479c2ed663fc1963e36c8a66c0d5e9fa160af2 |
|
MD5 | f2a73610f3eada18c2aa582d99d55f63 |
|
BLAKE2b-256 | b4dbc412101f1931733d3b33a00687b892de469726867f27365b669a4506b2f8 |