mirror of
https://github.com/nvbn/thefuck.git
synced 2025-02-20 20:09:07 +00:00
Remove on_change
from CommandSelector
This commit is contained in:
parent
b2be0b3cad
commit
1fb6dd925b
@ -43,8 +43,6 @@ def test_read_actions(patch_getch):
|
||||
def test_command_selector():
|
||||
selector = ui.CommandSelector([1, 2, 3])
|
||||
assert selector.value == 1
|
||||
changes = []
|
||||
selector.on_change(changes.append)
|
||||
selector.next()
|
||||
assert selector.value == 2
|
||||
selector.next()
|
||||
@ -53,7 +51,6 @@ def test_command_selector():
|
||||
assert selector.value == 1
|
||||
selector.previous()
|
||||
assert selector.value == 3
|
||||
assert changes == [1, 2, 3, 1, 3]
|
||||
|
||||
|
||||
@pytest.mark.usefixtures('no_colors')
|
||||
|
@ -53,24 +53,17 @@ class CommandSelector(object):
|
||||
def __init__(self, commands):
|
||||
self._commands = commands
|
||||
self._index = 0
|
||||
self._on_change = lambda x: x
|
||||
|
||||
def next(self):
|
||||
self._index = (self._index + 1) % len(self._commands)
|
||||
self._on_change(self.value)
|
||||
|
||||
def previous(self):
|
||||
self._index = (self._index - 1) % len(self._commands)
|
||||
self._on_change(self.value)
|
||||
|
||||
@property
|
||||
def value(self):
|
||||
return self._commands[self._index]
|
||||
|
||||
def on_change(self, fn):
|
||||
self._on_change = fn
|
||||
fn(self.value)
|
||||
|
||||
|
||||
def select_command(corrected_commands):
|
||||
"""Returns:
|
||||
@ -89,7 +82,8 @@ def select_command(corrected_commands):
|
||||
logs.show_corrected_command(selector.value)
|
||||
return selector.value
|
||||
|
||||
selector.on_change(lambda val: logs.confirm_text(val))
|
||||
logs.confirm_text(selector.value)
|
||||
|
||||
for action in read_actions():
|
||||
if action == SELECT:
|
||||
sys.stderr.write('\n')
|
||||
@ -99,5 +93,7 @@ def select_command(corrected_commands):
|
||||
return
|
||||
elif action == PREVIOUS:
|
||||
selector.previous()
|
||||
logs.confirm_text(selector.value)
|
||||
elif action == NEXT:
|
||||
selector.next()
|
||||
logs.confirm_text(selector.value)
|
||||
|
Loading…
x
Reference in New Issue
Block a user