schema.Required('name', schema.check_string), schema.Required('entry', schema.check_string), schema.Required( 'language', schema.check_and(schema.check_string, check_language), ), schema.Conditional( 'files', schema.check_and(schema.check_string, schema.check_regex), condition_key='always_run', condition_value=False, ensure_absent=True, ), schema.Optional( 'additional_dependencies', schema.check_array(schema.check_string), [], ), schema.Optional('args', schema.check_array(schema.check_string), []), schema.Optional('always_run', schema.check_bool, False), schema.Optional('description', schema.check_string, ''), schema.Optional( 'exclude', schema.check_and(schema.check_string, schema.check_regex), '^$', ), schema.Optional('language_version', schema.check_string, 'default'), schema.Optional('minimum_pre_commit_version', schema.check_string, '0'), schema.Optional('stages', schema.check_array(schema.check_string), []), ) MANIFEST_SCHEMA = schema.Array(MANIFEST_HOOK_DICT)
return parser MANIFEST_HOOK_DICT = schema.Map( 'Hook', 'id', schema.Required('id', schema.check_string), schema.Required('name', schema.check_string), schema.Required('entry', schema.check_string), schema.Required( 'language', schema.check_and(schema.check_string, check_language), ), schema.Optional( 'files', schema.check_and(schema.check_string, schema.check_regex), '', ), schema.Optional( 'exclude', schema.check_and(schema.check_string, schema.check_regex), '^$', ), schema.Optional('types', schema.check_array(check_type_tag), ['file']), schema.Optional('exclude_types', schema.check_array(check_type_tag), []), schema.Optional( 'additional_dependencies', schema.check_array(schema.check_string), [], ), schema.Optional('args', schema.check_array(schema.check_string), []),