Use ggrep instead of grep for pcre on mac os

This commit is contained in:
Thierry Deo 2015-09-03 11:18:52 +02:00
parent 3d90b094fc
commit 7fd709ebd3

View file

@ -1,5 +1,7 @@
from __future__ import unicode_literals
from sys import platform
from pre_commit.languages.helpers import file_args_to_stdin
from pre_commit.util import shell_escape
@ -13,13 +15,17 @@ def install_environment(repo_cmd_runner, version='default'):
def run_hook(repo_cmd_runner, hook, file_args):
grep_command = 'grep -H -n -P'
if platform == 'darwin':
grep_command = 'ggrep -H -n -P'
# For PCRE the entry is the regular expression to match
return repo_cmd_runner.run(
[
'xargs', '-0', 'sh', '-c',
# Grep usually returns 0 for matches, and nonzero for non-matches
# so we flip it here.
'! grep -H -n -P {0} $@'.format(shell_escape(hook['entry'])),
'! {0} {1} $@'.format(grep_command, shell_escape(hook['entry'])),
'--',
],
stdin=file_args_to_stdin(file_args),