From c788dfbc1498e3d7efae7274e986662645dd49fa Mon Sep 17 00:00:00 2001 From: Timo Furrer Date: Wed, 22 Apr 2015 19:04:52 +0200 Subject: [PATCH 1/3] fix rm dir rule to make it case insensitive MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In bash the output for the command `rm -f foo/` is: rm: cannot remove ‘foo/’: Is a directory And not: rm: cannot remove ‘foo/’: is a directory --- tests/rules/test_rm_dir.py | 1 + thefuck/rules/rm_dir.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/rules/test_rm_dir.py b/tests/rules/test_rm_dir.py index 2362d0c..d0ff324 100644 --- a/tests/rules/test_rm_dir.py +++ b/tests/rules/test_rm_dir.py @@ -4,6 +4,7 @@ from thefuck.rules.rm_dir import match, get_new_command def test_match(): assert match(Command('rm foo', '', 'rm: foo: is a directory'), None) + assert match(Command('rm foo', '', 'rm: foo: Is a directory'), None) assert not match(Command('rm foo', '', ''), None) assert not match(Command('rm foo', '', 'foo bar baz'), None) assert not match(Command('', '', ''), None) diff --git a/thefuck/rules/rm_dir.py b/thefuck/rules/rm_dir.py index 557278b..89b1d2b 100644 --- a/thefuck/rules/rm_dir.py +++ b/thefuck/rules/rm_dir.py @@ -5,7 +5,7 @@ from thefuck.utils import sudo_support @sudo_support def match(command, settings): return ('rm' in command.script - and 'is a directory' in command.stderr) + and 'is a directory' in command.stderr.lower()) @sudo_support From ca67080bd9569c6b1096329f11a3661d0f78f3c9 Mon Sep 17 00:00:00 2001 From: Scott Abernethy Date: Thu, 23 Apr 2015 09:00:18 +1200 Subject: [PATCH 2/3] Brew installation note in README --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 650ea8d..975bf1d 100644 --- a/README.md +++ b/README.md @@ -106,6 +106,12 @@ If it fails try to use `easy_install`: sudo easy_install thefuck ``` +Or using an OS package manager (currently supported in OSX via [brew](http://brew.sh)): + +```bash +brew install thefuck +``` + And add to `.bashrc` or `.zshrc` or `.bash_profile`(for OSX): ```bash From 12eab10028c8a31f920947f1249d43cb42e48784 Mon Sep 17 00:00:00 2001 From: Vladimir Iakovlev Date: Wed, 22 Apr 2015 23:08:10 +0200 Subject: [PATCH 3/3] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 975bf1d..ce66738 100644 --- a/README.md +++ b/README.md @@ -181,7 +181,7 @@ and `get_new_command(command: Command, settings: Settings) -> str`. `Command` has three attributes: `script`, `stdout` and `stderr`. -`Settings` is `~/.thefuck/settings.py`. +`Settings` is a special object filled with `~/.thefuck/settings.py` and values from env, [more](#settings). Simple example of the rule for running script with `sudo`: