From a454438939e8c021a37ebe081d0b2dd4fef39667 Mon Sep 17 00:00:00 2001 From: Joseph Henrich Date: Thu, 23 Apr 2015 20:28:19 -0400 Subject: [PATCH] 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)