Introduction
############
Misaki is a simple program that runs code linters or formatters (or
other utilities) on your code. Features:
- File matching patterns.
- Can run as a pre-commit hook.
- Allows you to locally override configuration variables (such as
where commands are found, if you have them installed in virtualenvs
or something).
- *Never* downloads and installs packages off the Internet (no PyPI,
no Github), in stark contrast to `pre-commit
`_.
Quickstart
**********
In the root of your git or fossil repository, add a file
".misaki.0.yaml" containing::
pattern:
- python: 're:\.pyi?$'
tool:
black:
config:
line-length: 80
pattern: "python"
flake8:
pattern: "python"
Now you can run ``misaki --run-linters --run-formatters`` whenever you
want to run the linters and formatters on all Python files. Well done.
Advanced usage
**************
Run ``black`` only on files that are listed as modified by version
control::
misaki --run=black --vc-changed
Run all linters and formatters, only on files that changed in version
control::
misaki --run-linters --run-formatters --vc-changed
List files that were changed by version control::
misaki --list-files --vc-changed
List files matching the "python" pattern that were changed by version
control, one per line::
misaki --list-files --vc-changed --pattern=python
Run ``flake8`` on all applicable files with the ``--show-source``
option::
misaki --run=flake8 --set=flake8.config.show-source=true ## DOESN'T WORK YET
Name origin
***********
This package cleans code. Maids do cleaning. `Misaki
`_ is a
maid. This package is named after Misaki.