Term based tool to view colored, incremental diff in a Git/Mercurial/Svn
workspace or from stdin, side by side with affected linting errors. Requires
python (>= 2.7.0) and less
.
Cdifflint is already listed on PyPI, you can install with pip
if
you have the tool.
pip install --upgrade cdifflint
You can also run the setup.py from the source if you don't have pip
.
git clone https://github.com/rgeoghegan/cdifflint.git
cd cdifflint
./setup.py install
Type cdifflint -h
to show usage:
$ cdifflint -h usage: cdifflint [-h] [-s] [-w N] [-l] [-c M] [-t {pep8,jslint,pyflakes}] View colored, incremental diff in a workspace, annotated with messages from your favorite linter. optional arguments: -h, --help show this help message and exit -s, --side-by-side enable side-by-side mode -w N, --width N set text width for side-by-side mode, 0 for auto detection, default is 80 -l, --log show log with changes from revision control -c M, --color M colorize mode 'auto' (default), 'always', or 'never' -t {pep8,jslint,pyflakes}, --lint {pep8,jslint,pyflakes} run the given linters and show the lint messages in the diff. Currently supports pep8, jslint, pyflakes. (Can be specified multiple times) Note: Option parser will stop on first unknown option and pass them down to underneath revision control
The original code I cribbed from heavily is the cdiff tool, which does most of the heavy lifting.