From a454438939e8c021a37ebe081d0b2dd4fef39667 Mon Sep 17 00:00:00 2001 From: Joseph Henrich Date: Thu, 23 Apr 2015 20:28:19 -0400 Subject: [PATCH 1/2] Fuck, I wanted ls -lah --- tests/rules/test_ls_lah.py | 13 +++++++++++++ thefuck/rules/ls_lah.py | 7 +++++++ 2 files changed, 20 insertions(+) create mode 100644 tests/rules/test_ls_lah.py create mode 100644 thefuck/rules/ls_lah.py diff --git a/tests/rules/test_ls_lah.py b/tests/rules/test_ls_lah.py new file mode 100644 index 0000000..f7eb3ed --- /dev/null +++ b/tests/rules/test_ls_lah.py @@ -0,0 +1,13 @@ +from mock import patch, Mock +from thefuck.rules.ls_lah import match, get_new_command + + +def test_match(): + assert match(Mock(script='ls file.py'), None) + assert match(Mock(script='ls /opt'), None) + assert not match(Mock(script='ls -lah /opt'), None) + + +def test_get_new_command(): + assert get_new_command( Mock(script='ls file.py'), None) == 'ls -lah file.py' + assert get_new_command( Mock(script='ls'), None) == 'ls -lah' diff --git a/thefuck/rules/ls_lah.py b/thefuck/rules/ls_lah.py new file mode 100644 index 0000000..1de0283 --- /dev/null +++ b/thefuck/rules/ls_lah.py @@ -0,0 +1,7 @@ +def match(command, settings): + return ('ls' in command.script and not ('ls -' in command.script)) + +def get_new_command(command, settings): + command = command.script.split(' ') + command[0] = 'ls -lah' + return ' '.join(command) From e21befbcc481509f80acaa5f9579e1c7e695451c Mon Sep 17 00:00:00 2001 From: Joseph Henrich Date: Thu, 23 Apr 2015 20:33:38 -0400 Subject: [PATCH 2/2] add ls_lah to readme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2a63b7d..a8d65a6 100644 --- a/README.md +++ b/README.md @@ -161,6 +161,7 @@ using matched rule and run it. Rules enabled by default: * `git_no_command` – fixes wrong git commands like `git brnch`; * `git_push` – adds `--set-upstream origin $branch` to previous failed `git push`; * `has_exists_script` – prepends `./` when script/binary exists; +* `ls_lah` – adds -lah to ls; * `lein_not_task` – fixes wrong `lein` tasks like `lein rpl`; * `mkdir_p` – adds `-p` when you trying to create directory without parent; * `no_command` – fixes wrong console commands, for example `vom/vim`;