Merge pull request #262 from pricematch/use_ggrep_on_mac

Use ggrep instead of grep for pcre on mac os
This commit is contained in:
Anthony Sottile
2015-09-03 07:59:48 -07:00

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),