Add top-level files key for inclusion

This commit is contained in:
Anthony Sottile 2019-12-23 12:04:05 -08:00
parent 0ecd50b80d
commit 6af0e33eed
3 changed files with 26 additions and 8 deletions

View file

@ -18,6 +18,8 @@ from pre_commit.util import parse_version
logger = logging.getLogger('pre_commit')
check_string_regex = cfgv.check_and(cfgv.check_string, cfgv.check_regex)
def check_type_tag(tag):
if tag not in ALL_TAGS:
@ -53,12 +55,8 @@ MANIFEST_HOOK_DICT = cfgv.Map(
cfgv.Required('language', cfgv.check_one_of(all_languages)),
cfgv.Optional('alias', cfgv.check_string, ''),
cfgv.Optional(
'files', cfgv.check_and(cfgv.check_string, cfgv.check_regex), '',
),
cfgv.Optional(
'exclude', cfgv.check_and(cfgv.check_string, cfgv.check_regex), '^$',
),
cfgv.Optional('files', check_string_regex, ''),
cfgv.Optional('exclude', check_string_regex, '^$'),
cfgv.Optional('types', cfgv.check_array(check_type_tag), ['file']),
cfgv.Optional('exclude_types', cfgv.check_array(check_type_tag), []),
@ -260,7 +258,8 @@ CONFIG_SCHEMA = cfgv.Map(
cfgv.check_array(cfgv.check_one_of(C.STAGES)),
C.STAGES,
),
cfgv.Optional('exclude', cfgv.check_regex, '^$'),
cfgv.Optional('files', check_string_regex, ''),
cfgv.Optional('exclude', check_string_regex, '^$'),
cfgv.Optional('fail_fast', cfgv.check_bool, False),
cfgv.Optional(
'minimum_pre_commit_version',
@ -272,6 +271,7 @@ CONFIG_SCHEMA = cfgv.Map(
'repos',
'default_language_version',
'default_stages',
'files',
'exclude',
'fail_fast',
'minimum_pre_commit_version',

View file

@ -206,7 +206,9 @@ def _run_hooks(config, hooks, args, environ):
skips = _get_skips(environ)
cols = _compute_cols(hooks, args.verbose)
filenames = _all_filenames(args)
filenames = filter_by_include_exclude(filenames, '', config['exclude'])
filenames = filter_by_include_exclude(
filenames, config['files'], config['exclude'],
)
classifier = Classifier(filenames)
retval = 0
for hook in hooks: