mirror of
https://github.com/nvbn/thefuck.git
synced 2025-01-18 20:11:17 +00:00
#495: Merge history only when alter_history
is set
This commit is contained in:
parent
f74bbb7a9a
commit
d1f55603fe
@ -74,6 +74,12 @@ class TestFish(object):
|
||||
assert 'TF_ALIAS=fuck PYTHONIOENCODING' in shell.app_alias('fuck')
|
||||
assert 'PYTHONIOENCODING=utf-8 thefuck' in shell.app_alias('fuck')
|
||||
|
||||
def test_app_alias_history_merge(self, settings, shell):
|
||||
settings.alter_history = True
|
||||
assert 'history --merge' in shell.app_alias('FUCK')
|
||||
settings.alter_history = False
|
||||
assert 'history --merge' not in shell.app_alias('FUCK')
|
||||
|
||||
def test_get_history(self, history_lines, shell):
|
||||
history_lines(['- cmd: ls', ' when: 1432613911',
|
||||
'- cmd: rm', ' when: 1432613916'])
|
||||
|
@ -4,6 +4,7 @@ import os
|
||||
import sys
|
||||
import six
|
||||
from .. import logs
|
||||
from ..conf import settings
|
||||
from ..utils import DEVNULL, memoize, cache
|
||||
from .generic import Generic
|
||||
|
||||
@ -18,6 +19,10 @@ class Fish(Generic):
|
||||
return default
|
||||
|
||||
def app_alias(self, fuck):
|
||||
if settings.alter_history:
|
||||
hist_merge = ' history --merge ^ /dev/null\n'
|
||||
else:
|
||||
hist_merge = ''
|
||||
# It is VERY important to have the variables declared WITHIN the alias
|
||||
return ('function {0} -d "Correct your previous console command"\n'
|
||||
' set -l fucked_up_command $history[1]\n'
|
||||
@ -25,10 +30,9 @@ class Fish(Generic):
|
||||
' thefuck $fucked_up_command | read -l unfucked_command\n'
|
||||
' if [ "$unfucked_command" != "" ]\n'
|
||||
' eval $unfucked_command\n'
|
||||
' history --delete $fucked_up_command\n'
|
||||
' history --merge ^ /dev/null\n'
|
||||
' history --delete $fucked_up_command\n{1}'
|
||||
' end\n'
|
||||
'end').format(fuck)
|
||||
'end').format(fuck, hist_merge)
|
||||
|
||||
@memoize
|
||||
@cache('.config/fish/config.fish', '.config/fish/functions')
|
||||
|
Loading…
x
Reference in New Issue
Block a user