From d5bd57fb4978d4a204f51d65e1e526197f41e955 Mon Sep 17 00:00:00 2001 From: Igor Santos Date: Fri, 15 May 2015 19:09:14 -0300 Subject: [PATCH] Adding rule for forgotten '-r' when grepping folders --- tests/rules/test_grep_recursive.py | 12 ++++++++++++ thefuck/rules/grep_recursive.py | 7 +++++++ 2 files changed, 19 insertions(+) create mode 100644 tests/rules/test_grep_recursive.py create mode 100644 thefuck/rules/grep_recursive.py diff --git a/tests/rules/test_grep_recursive.py b/tests/rules/test_grep_recursive.py new file mode 100644 index 00000000..0e3dae1d --- /dev/null +++ b/tests/rules/test_grep_recursive.py @@ -0,0 +1,12 @@ +from thefuck.rules.grep_recursive import match, get_new_command +from tests.utils import Command + + +def test_match(): + assert match(Command('grep blah .', stderr='grep: .: Is a directory'), None) + assert not match(Command(), None) + + +def test_get_new_command(): + assert get_new_command( + Command('grep blah .'), None) == 'grep -r blah .' diff --git a/thefuck/rules/grep_recursive.py b/thefuck/rules/grep_recursive.py new file mode 100644 index 00000000..ed0b6fdb --- /dev/null +++ b/thefuck/rules/grep_recursive.py @@ -0,0 +1,7 @@ +def match(command, settings): + return (command.script.startswith('grep') + and 'is a directory' in command.stderr.lower()) + + +def get_new_command(command, settings): + return 'grep -r {}'.format(command.script[5:])