diff --git a/tests/test_shells.py b/tests/test_shells.py index cd98a90..557b790 100644 --- a/tests/test_shells.py +++ b/tests/test_shells.py @@ -180,6 +180,11 @@ class TestFish(object): assert 'thefuck' in shell.app_alias('fuck') assert 'TF_ALIAS' in shell.app_alias('fuck') + def test_get_history(self, history_lines, shell): + history_lines(['- cmd: ls', ' when: 1432613911', + '- cmd: rm', ' when: 1432613916']) + assert list(shell.get_history()) == ['ls', 'rm'] + @pytest.mark.usefixtures('isfile') class TestZsh(object): diff --git a/thefuck/shells.py b/thefuck/shells.py index 6a5d116..d67414d 100644 --- a/thefuck/shells.py +++ b/thefuck/shells.py @@ -191,6 +191,12 @@ class Fish(Generic): def _get_history_line(self, command_script): return u'- cmd: {}\n when: {}\n'.format(command_script, int(time())) + def _script_from_history(self, line): + if '- cmd: ' in line: + return line.split('- cmd: ', 1)[1] + else: + return '' + def and_(self, *commands): return u'; and '.join(commands)