VIM-like-text-editor/main.py

26 lines
736 B
Python

import sys
from mvc.models import VimModel
from mvc.views import VimView
from adapter import CursesAdapter
from mvc.controllers import Controller
from mvc.controllers import NormalStrategy
import tools
def main():
adapter = CursesAdapter()
model, view = VimModel(adapter.lines, adapter.cols), VimView(adapter)
# start mode - navigation mode
strategy = NormalStrategy(model, view.curses_adapter)
controller = Controller(strategy)
# load file from sys argv
if len(sys.argv) > 1: model.LoadFile(sys.argv[1])
else: model.LoadFile("File not found but i create it"+str(tools.UnixSec())+".txt")
view.SetModel(model) # view subscribe model
controller.Run()
if __name__ == "__main__":
main()