mirror of
https://github.com/pre-commit/pre-commit.git
synced 2026-02-18 16:44:42 +04:00
Add a pre-commit sample-config command
This commit is contained in:
parent
9d747fb471
commit
fa06e72f01
4 changed files with 71 additions and 53 deletions
25
pre_commit/commands/sample_config.py
Normal file
25
pre_commit/commands/sample_config.py
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
from __future__ import absolute_import
|
||||
from __future__ import print_function
|
||||
from __future__ import unicode_literals
|
||||
|
||||
|
||||
# TODO: maybe `git ls-remote git://github.com/pre-commit/pre-commit-hooks` to
|
||||
# determine the latest revision? This adds ~200ms from my tests (and is
|
||||
# significantly faster than https:// or http://). For now, periodically
|
||||
# manually updating the revision is fine.
|
||||
SAMPLE_CONFIG = '''\
|
||||
# See http://pre-commit.com for more information
|
||||
# See http://pre-commit.com/hooks.html for more hooks
|
||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||
sha: v0.7.1
|
||||
hooks:
|
||||
- id: trailing-whitespace
|
||||
- id: end-of-file-fixer
|
||||
- id: check-yaml
|
||||
- id: check-added-large-files
|
||||
'''
|
||||
|
||||
|
||||
def sample_config():
|
||||
print(SAMPLE_CONFIG, end='')
|
||||
return 0
|
||||
|
|
@ -14,6 +14,7 @@ from pre_commit.commands.install_uninstall import install
|
|||
from pre_commit.commands.install_uninstall import install_hooks
|
||||
from pre_commit.commands.install_uninstall import uninstall
|
||||
from pre_commit.commands.run import run
|
||||
from pre_commit.commands.sample_config import sample_config
|
||||
from pre_commit.error_handler import error_handler
|
||||
from pre_commit.logging_handler import add_logging_handler
|
||||
from pre_commit.runner import Runner
|
||||
|
|
@ -163,6 +164,12 @@ def main(argv=None):
|
|||
help='Specific filenames to run hooks on.',
|
||||
)
|
||||
|
||||
sample_config_parser = subparsers.add_parser(
|
||||
'sample-config', help='Produce a sample {} file'.format(C.CONFIG_FILE),
|
||||
)
|
||||
_add_color_option(sample_config_parser)
|
||||
_add_config_option(sample_config_parser)
|
||||
|
||||
help = subparsers.add_parser(
|
||||
'help', help='Show help for a specific command.',
|
||||
)
|
||||
|
|
@ -205,6 +212,8 @@ def main(argv=None):
|
|||
return autoupdate(runner, args.tags_only)
|
||||
elif args.command == 'run':
|
||||
return run(runner, args)
|
||||
elif args.command == 'sample-config':
|
||||
return sample_config()
|
||||
else:
|
||||
raise NotImplementedError(
|
||||
'Command {} not implemented.'.format(args.command)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue