комманда <S>, очищающая текущую строку и начинающая режим ввода с данной строки
parent
b37156ef79
commit
620efdbaaf
2
main.py
2
main.py
|
@ -27,6 +27,8 @@ def main():
|
|||
controller.SetStrategy(NormalStrategy(model, view.curses_adapter))
|
||||
case ReturnCode.SET_COMMAND_MODE:
|
||||
controller.SetStrategy(CommandStrategy(model, view.curses_adapter))
|
||||
case ReturnCode.SET_EDIT_MODE:
|
||||
controller.SetStrategy(EditStrategy(model, view.curses_adapter))
|
||||
case ReturnCode.EXIT_CODE:
|
||||
break
|
||||
|
||||
|
|
|
@ -62,6 +62,7 @@ class EditStrategy(Strategy):
|
|||
def HandleInput(self, symbolCode) -> int:
|
||||
"""Обработка ввода пользователя"""
|
||||
match symbolCode:
|
||||
case self.adapter.KEY_ESCAPE: return ReturnCode.SET_BASIC_MODE
|
||||
case self.adapter.KEY_LEFT: self.model.MoveLeft()
|
||||
case self.adapter.KEY_RIGHT: self.model.MoveRight()
|
||||
case self.adapter.KEY_UP: self.model.MoveUp()
|
||||
|
|
|
@ -5,6 +5,7 @@ class ReturnCode(Enum):
|
|||
EXIT_CODE = -100
|
||||
SET_BASIC_MODE = -99
|
||||
SET_COMMAND_MODE = -98
|
||||
SET_EDIT_MODE = -97
|
||||
|
||||
class VimModel:
|
||||
def __init__(self):
|
||||
|
@ -51,6 +52,10 @@ class VimModel:
|
|||
return ReturnCode.GOOD
|
||||
case "q":
|
||||
return ReturnCode.EXIT_CODE
|
||||
case "S":
|
||||
self.currentCol = 0
|
||||
self.displayBuffer[self.currentLine] = []
|
||||
return ReturnCode.SET_EDIT_MODE
|
||||
|
||||
def Enter(self) -> None:
|
||||
# Разделяем текущую строку на две части
|
||||
|
|
Loading…
Reference in New Issue