| commit | 7cfec24f77881fcf01a65d21b3a45da5c773a7cf | [log] [tgz] |
|---|---|---|
| author | Daniel Gallagher <daniellg@yelp.com> | Sun Jun 25 14:40:03 2017 -0700 |
| committer | Daniel Gallagher <daniellg@yelp.com> | Sun Jun 25 14:40:03 2017 -0700 |
| tree | 218c09e806b9d350c8002461c03472afe98686fa | |
| parent | 50871f83ccf5faf881fa3fbbcfb140432d990af0 [diff] |
Fix bug with the file-contents-sorter hook when processing file that does not end in a newline
Some out-of-the-box hooks for pre-commit.
See also: https://github.com/pre-commit/pre-commit
Add this to your .pre-commit-config.yaml
- repo: git://github.com/pre-commit/pre-commit-hooks
sha: v0.8.0 # Use the ref you want to point at
hooks:
- id: trailing-whitespace
# - id: ...
autopep8-wrapper - Runs autopep8 over python source.args: ['-i', '--ignore=E000,...'] or through configuration of the [pep8] section in setup.cfg / tox.ini.check-added-large-files - Prevent giant files from being committed.args: ['--maxkb=123'] (default=500kB).check-ast - Simply check whether files parse as valid python.check-byte-order-marker - Forbid files which have a UTF-8 byte-order markercheck-case-conflict - Check for files with names that would conflict on a case-insensitive filesystem like MacOS HFS+ or Windows FAT.check-docstring-first - Checks for a common error of placing code before the docstring.check-json - Attempts to load all json files to verify syntax.check-merge-conflict - Check for files that contain merge conflict strings.check-symlinks - Checks for symlinks which do not point to anything.check-xml - Attempts to load all xml files to verify syntax.check-yaml - Attempts to load all yaml files to verify syntax.debug-statements - Check for pdb / ipdb / pudb statements in code.detect-aws-credentials - Checks for the existence of AWS secrets that you have set up with the AWS CLI. The following arguments are available:--credentials-file - additional AWS CLI style configuration file in a non-standard location to fetch configured credentials from. Can be repeated multiple times.detect-private-key - Checks for the existence of private keys.double-quote-string-fixer - This hook replaces double quoted strings with single quoted strings.end-of-file-fixer - Makes sure files end in a newline and only a newline.fix-encoding-pragma - Add # -*- coding: utf-8 -*- to the top of python files.file-contents-sorter - Sort the lines in specified files (defaults to alphabetical). You must provide list of target files as input to it.--remove (useful in a python3-only codebase)flake8 - Run flake8 on your python files.forbid-new-submodules - Prevent addition of new git submodules.name-tests-test - Assert that files in tests/ end in _test.py.args: ['--django'] to match test*.py instead.no-commit-to-branch - Protect specific branches from direct checkins.args: -b <branch> to set the branch. master is the default if no argument is set.pyflakes - Run pyflakes on your python files.pretty-format-json - Checks that all your JSON files are pretty. “Pretty” here means that keys are sorted and indented. You can configure this with the following commandline options:--autofix - automatically format json files--indent ... - Control the indentation (either a number for a number of spaces or a string of whitespace). Defaults to 4 spaces.--no-sort-keys - when autofixing, retain the original key ordering (instead of sorting the keys)--top-keys comma,separated,keys - Keys to keep at the top of mappings.requirements-txt-fixer - Sorts entries in requirements.txtsort-simple-yaml - Sorts simple YAML files which consist only of top-level keys, preserving comments and blocks.trailing-whitespace - Trims trailing whitespace..md and.markdown; use args: ['--markdown-linebreak-ext=txt,text'] to add other extensions, args: ['--markdown-linebreak-ext=*'] to preserve them for all files, or args: ['--no-markdown-linebreak-ext'] to disable and always trim.If you‘d like to use these hooks, they’re also available as a standalone package.
Simply pip install pre-commit-hooks