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