_width: int
_prompt: str = PROMPT_TEMPLATE
_history_idx = 0
+ _cursor_x: int
def __init__(self, *args, **kwargs) -> None:
super().__init__(*args, **kwargs)
self._write(to_write[cursor_x_to_write + 1:])
def _scroll(self, up: bool = True) -> None:
+
+ def set_to_record_at_idx() -> None:
+ self._input_buffer = self._history[self._history_idx][:]
+ self._cursor_x = len(self._input_buffer) + 1
+
if up and -(self._history_idx) < len(self._history):
if self._history_idx == 0 and self._input_buffer:
self._history += [self._input_buffer[:]]
self._clear()
self._history_idx -= 1
self._history_idx -= 1
- self._input_buffer = self._history[self._history_idx][:]
+ set_to_record_at_idx()
elif not up:
if self._history_idx < 0:
self._history_idx += 1
if self._history_idx == 0:
self._clear()
else:
- self._input_buffer = self._history[self._history_idx][:]
+ set_to_record_at_idx()
elif self._input_buffer:
self._history += [self._input_buffer[:]]
self._clear()