'Keyboard-controlled command input field.'
_y: int
_width: int
- _prompt: str = _PROMPT_TEMPLATE
- _history_idx = 0
+ _history_idx: int = 0
_input_buffer_unsafe: str
_cursor_x: int
self._write(to_write[cursor_x_to_write + 1:])
return True
+ @property
+ def _prompt(self) -> str:
+ return _PROMPT_TEMPLATE
+
def _archive_prompt(self) -> None:
self.append(self._input_buffer)
self._reset_buffer('')
class _ConnectionPromptWidget(_PromptWidget):
'PromptWidget with attributes, methods for dealing with an IrcConnection.'
- _nickname: str = ''
+ _nick: str = ''
+ _nick_confirmed: bool = False
+
+ @property
+ def _prompt(self) -> str:
+ return ((' ' if self._nick_confirmed else '?')
+ + self._nick
+ + super()._prompt)
def update_prompt(self,
nick_confirmed=False,
) -> None:
'Update nickname-relevant knowledge to go into prompt string.'
self.tainted = True
- self._prompt = ''
+ self._nick_confirmed = nick_confirmed
if nick:
- self._nickname = nick
- if self._nickname:
- self._prompt += ' ' if nick_confirmed else '?'
- self._prompt += self._nickname
- self._prompt += _PROMPT_TEMPLATE
+ self._nick = nick
class _Window(_Widget):