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